Takes four pics and stores them on the embed. Light not required as built in infrared feature is automatic!
main.cpp@0:c305480ba5e3, 2013-03-05 (annotated)
- Committer:
- pm21gt
- Date:
- Tue Mar 05 19:06:24 2013 +0000
- Revision:
- 0:c305480ba5e3
Initial example code, does not include JPEGCamera library since that library was not created by me!
Who changed what in which revision?
User | Revision | Line number | New 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 | } |