Takes four pics and stores them on the embed. Light not required as built in infrared feature is automatic!

Dependencies:   mbed JPEGCamera

Committer:
pm21gt
Date:
Tue Mar 05 19:11:40 2013 +0000
Revision:
1:24c2e2752e31
Parent:
0:c305480ba5e3
Now includes Hiroshi Yamaguchi's JPEGCamera for convenience!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pm21gt 0:c305480ba5e3 1 #include "mbed.h"
pm21gt 0:c305480ba5e3 2 #include "JPEGCamera.h"
pm21gt 0:c305480ba5e3 3
pm21gt 0:c305480ba5e3 4 DigitalOut myled1(LED1); //show successful picture was taken
pm21gt 0:c305480ba5e3 5 DigitalOut myled2(LED2); //show end of sequence
pm21gt 0:c305480ba5e3 6 DigitalOut myled3(LED3); //show picture take failed
pm21gt 0:c305480ba5e3 7 DigitalOut myled4(LED4); //show camera is not ready
pm21gt 0:c305480ba5e3 8
pm21gt 0:c305480ba5e3 9 int main() {
pm21gt 0:c305480ba5e3 10 JPEGCamera camera(p9, p10); // TX, RX
pm21gt 0:c305480ba5e3 11 LocalFileSystem local("local"); //save images on mbed
pm21gt 0:c305480ba5e3 12 Timer timer;
pm21gt 0:c305480ba5e3 13 timer.start();
pm21gt 0:c305480ba5e3 14 camera.setPictureSize(JPEGCamera::SIZE320x240);
pm21gt 0:c305480ba5e3 15
pm21gt 0:c305480ba5e3 16 for (int i = 1; i < 5; i++) {
pm21gt 0:c305480ba5e3 17 if (camera.isReady()) {
pm21gt 0:c305480ba5e3 18 char filename[32];
pm21gt 0:c305480ba5e3 19 sprintf(filename, "/local/pict%03d.jpg", i);
pm21gt 0:c305480ba5e3 20 printf("Picture: %s ", filename);
pm21gt 0:c305480ba5e3 21 if (camera.takePicture(filename)) {
pm21gt 0:c305480ba5e3 22 while (camera.isProcessing()) {
pm21gt 0:c305480ba5e3 23 camera.processPicture();
pm21gt 0:c305480ba5e3 24 }
pm21gt 0:c305480ba5e3 25 myled1 = 1; //show successful picture was taken
pm21gt 0:c305480ba5e3 26 wait(2.0);
pm21gt 0:c305480ba5e3 27 myled1 = 0;
pm21gt 0:c305480ba5e3 28 } else {
pm21gt 0:c305480ba5e3 29 printf("take picture failed\n");
pm21gt 0:c305480ba5e3 30 myled3 = 1; //show picture take failed
pm21gt 0:c305480ba5e3 31 wait(2.0);
pm21gt 0:c305480ba5e3 32 myled3 = 0;
pm21gt 0:c305480ba5e3 33 }
pm21gt 0:c305480ba5e3 34 } else {
pm21gt 0:c305480ba5e3 35 printf("camera is not ready\n");
pm21gt 0:c305480ba5e3 36 myled4 = 1; //show camera is not ready
pm21gt 0:c305480ba5e3 37 wait(2.0);
pm21gt 0:c305480ba5e3 38 myled4 = 0;
pm21gt 0:c305480ba5e3 39 }
pm21gt 0:c305480ba5e3 40 }
pm21gt 0:c305480ba5e3 41 myled2 = 1; //show end of sequence
pm21gt 0:c305480ba5e3 42 wait(2.0);
pm21gt 0:c305480ba5e3 43 myled2 = 0;
pm21gt 0:c305480ba5e3 44 printf("time = %f\n", timer.read());
pm21gt 0:c305480ba5e3 45 }