Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 3:f70ecf1e21d5
- Parent:
- 2:c799e2dde99f
- Child:
- 4:75090ff74dd0
--- a/main.cpp Sun Nov 17 10:08:05 2019 +0000 +++ b/main.cpp Sat Nov 23 10:06:03 2019 +0000 @@ -1,24 +1,29 @@ #include "mbed.h" #include "JPEGCamera.h" #include "us015.h" +#include "TB6612.h" DigitalOut myled(LED1); US015 hs(p12,p11); DigitalOut thermo(p20); DigitalOut Ultra(p12); Serial pc(USBTX,USBRX); // tx, rx JPEGCamera camera(p9, p10); // TX, RX +TB6612 left(p25,p17,p16);//モーターピン +TB6612 right(p26,p19,p18);//モーターピン int main(){ int i=1; float th; Timer tm; for(i=0;i<3;i++){ pc.printf("start\r\n"); - + left = 100; //左モーター100% + right = 100;//右モーター100% bool detected=false; thermo=0; //焦電off Ultra=1;//超音波on - printf("超音波on 焦電off" ) ; + while(1) { + printf("超音波on 焦電off" ) ; hs.TrigerOut(); wait(1); int distance; @@ -26,50 +31,66 @@ printf("%d\r\n",distance);//距離出力 if(distance<2000){//超音波反応 + left = 0; //左モーター0% + right = 0;//右モーター0% + printf("停止\n\r"); + wait(1.5); + Ultra=0;//超音波off thermo=1;//焦電on - printf("音波off焦電on "); + printf("超音波off焦電on "); if(true) th = thermo; if(th=1 && !detected) {//焦電反応ありの場合 - i++; + i++; detected=true; - pc.printf("human\r\n"); - tm.reset(); - tm.start(); + pc.printf("human\r\n"); + tm.reset(); + tm.start(); - LocalFileSystem local("local"); - Timer timer; - timer.start(); - camera.setPictureSize(JPEGCamera::SIZE320x240); + LocalFileSystem local("local"); + Timer timer; + timer.start(); + camera.setPictureSize(JPEGCamera::SIZE320x240); - if (camera.isReady()) { - char filename[32]; - sprintf(filename, "/local/pict%03d.jpg",i); - printf("Picture: %s ", filename); - if (camera.takePicture(filename)) { - while (camera.isProcessing()) { + if (camera.isReady()) { + char filename[32]; + sprintf(filename, "/local/pict%03d.jpg",i); + printf("Picture: %s ", filename); + if (camera.takePicture(filename)) { + while (camera.isProcessing()) { camera.processPicture(); printf("take pictuer!"); - } - } else { + } + }else{ printf("take picture failed\r\n"); + } + }else{ + printf("camera is not ready\r\n"); } - } else { - printf("camera is not ready\r\n"); - } + + printf("time = %f\n", timer.read()); - printf("time = %f\n", timer.read()); - } - - - - }else{//焦電反応なしの場合 - detected=false; - } + }else{//焦電反応なしの場合 + detected=false; + left = 20; //左モーター10% + right = 100;//右モーター100%(右折) + printf("右折\n\r"); + wait(3.0); + left = 100; //左モーター100% + right = 100;//右モーター100% + } + }else{//超音波distance>2000 + left = 100; //左モーター100% + right = 20;//右モーター20%(右折) + } + + } + } + + } - } - \ No newline at end of file +