cansat_B 2019 / Mbed 2 deprecated tougou-no3

Dependencies:   mbed

Committer:
KINU
Date:
Sat Nov 23 10:06:03 2019 +0000
Revision:
3:f70ecf1e21d5
Parent:
2:c799e2dde99f
Child:
4:75090ff74dd0
moterCameraUS015sb612

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KINU 0:f728b8e6bdf2 1 #include "mbed.h"
KINU 0:f728b8e6bdf2 2 #include "JPEGCamera.h"
KINU 0:f728b8e6bdf2 3 #include "us015.h"
KINU 3:f70ecf1e21d5 4 #include "TB6612.h"
KINU 0:f728b8e6bdf2 5 DigitalOut myled(LED1);
KINU 0:f728b8e6bdf2 6 US015 hs(p12,p11);
KINU 0:f728b8e6bdf2 7 DigitalOut thermo(p20);
KINU 0:f728b8e6bdf2 8 DigitalOut Ultra(p12);
KINU 0:f728b8e6bdf2 9 Serial pc(USBTX,USBRX); // tx, rx
KINU 0:f728b8e6bdf2 10 JPEGCamera camera(p9, p10); // TX, RX
KINU 3:f70ecf1e21d5 11 TB6612 left(p25,p17,p16);//モーターピン
KINU 3:f70ecf1e21d5 12 TB6612 right(p26,p19,p18);//モーターピン
KINU 0:f728b8e6bdf2 13 int main(){
seijakunouenimutou 2:c799e2dde99f 14 int i=1;
KINU 0:f728b8e6bdf2 15 float th;
KINU 0:f728b8e6bdf2 16 Timer tm;
seijakunouenimutou 2:c799e2dde99f 17 for(i=0;i<3;i++){
KINU 0:f728b8e6bdf2 18 pc.printf("start\r\n");
KINU 3:f70ecf1e21d5 19 left = 100; //左モーター100%
KINU 3:f70ecf1e21d5 20 right = 100;//右モーター100%
KINU 0:f728b8e6bdf2 21 bool detected=false;
KINU 0:f728b8e6bdf2 22 thermo=0; //焦電off
KINU 0:f728b8e6bdf2 23 Ultra=1;//超音波on
KINU 3:f70ecf1e21d5 24
KINU 0:f728b8e6bdf2 25 while(1) {
KINU 3:f70ecf1e21d5 26 printf("超音波on 焦電off" ) ;
KINU 0:f728b8e6bdf2 27 hs.TrigerOut();
KINU 0:f728b8e6bdf2 28 wait(1);
KINU 0:f728b8e6bdf2 29 int distance;
KINU 0:f728b8e6bdf2 30 distance = hs.GetDistance();
KINU 0:f728b8e6bdf2 31 printf("%d\r\n",distance);//距離出力
KINU 0:f728b8e6bdf2 32
KINU 0:f728b8e6bdf2 33 if(distance<2000){//超音波反応
KINU 3:f70ecf1e21d5 34 left = 0; //左モーター0%
KINU 3:f70ecf1e21d5 35 right = 0;//右モーター0%
KINU 3:f70ecf1e21d5 36 printf("停止\n\r");
KINU 3:f70ecf1e21d5 37 wait(1.5);
KINU 3:f70ecf1e21d5 38
KINU 0:f728b8e6bdf2 39 Ultra=0;//超音波off
KINU 0:f728b8e6bdf2 40 thermo=1;//焦電on
KINU 3:f70ecf1e21d5 41 printf("超音波off焦電on ");
KINU 0:f728b8e6bdf2 42 if(true)
KINU 0:f728b8e6bdf2 43 th = thermo;
KINU 0:f728b8e6bdf2 44 if(th=1 && !detected) {//焦電反応ありの場合
KINU 3:f70ecf1e21d5 45 i++;
KINU 0:f728b8e6bdf2 46 detected=true;
KINU 3:f70ecf1e21d5 47 pc.printf("human\r\n");
KINU 3:f70ecf1e21d5 48 tm.reset();
KINU 3:f70ecf1e21d5 49 tm.start();
KINU 0:f728b8e6bdf2 50
KINU 3:f70ecf1e21d5 51 LocalFileSystem local("local");
KINU 3:f70ecf1e21d5 52 Timer timer;
KINU 3:f70ecf1e21d5 53 timer.start();
KINU 3:f70ecf1e21d5 54 camera.setPictureSize(JPEGCamera::SIZE320x240);
KINU 0:f728b8e6bdf2 55
seijakunouenimutou 2:c799e2dde99f 56
KINU 3:f70ecf1e21d5 57 if (camera.isReady()) {
KINU 3:f70ecf1e21d5 58 char filename[32];
KINU 3:f70ecf1e21d5 59 sprintf(filename, "/local/pict%03d.jpg",i);
KINU 3:f70ecf1e21d5 60 printf("Picture: %s ", filename);
KINU 3:f70ecf1e21d5 61 if (camera.takePicture(filename)) {
KINU 3:f70ecf1e21d5 62 while (camera.isProcessing()) {
KINU 0:f728b8e6bdf2 63 camera.processPicture();
KINU 0:f728b8e6bdf2 64 printf("take pictuer!");
KINU 3:f70ecf1e21d5 65 }
KINU 3:f70ecf1e21d5 66 }else{
KINU 0:f728b8e6bdf2 67 printf("take picture failed\r\n");
KINU 3:f70ecf1e21d5 68 }
KINU 3:f70ecf1e21d5 69 }else{
KINU 3:f70ecf1e21d5 70 printf("camera is not ready\r\n");
KINU 0:f728b8e6bdf2 71 }
KINU 3:f70ecf1e21d5 72
KINU 3:f70ecf1e21d5 73 printf("time = %f\n", timer.read());
seijakunouenimutou 2:c799e2dde99f 74
KINU 3:f70ecf1e21d5 75 }else{//焦電反応なしの場合
KINU 3:f70ecf1e21d5 76 detected=false;
KINU 3:f70ecf1e21d5 77 left = 20; //左モーター10%
KINU 3:f70ecf1e21d5 78 right = 100;//右モーター100%(右折)
KINU 3:f70ecf1e21d5 79 printf("右折\n\r");
KINU 3:f70ecf1e21d5 80 wait(3.0);
KINU 3:f70ecf1e21d5 81 left = 100; //左モーター100%
KINU 3:f70ecf1e21d5 82 right = 100;//右モーター100%
KINU 3:f70ecf1e21d5 83 }
KINU 3:f70ecf1e21d5 84 }else{//超音波distance>2000
KINU 3:f70ecf1e21d5 85 left = 100; //左モーター100%
KINU 3:f70ecf1e21d5 86 right = 20;//右モーター20%(右折)
KINU 3:f70ecf1e21d5 87 }
KINU 3:f70ecf1e21d5 88
KINU 3:f70ecf1e21d5 89 }
KINU 3:f70ecf1e21d5 90
KINU 0:f728b8e6bdf2 91 }
KINU 3:f70ecf1e21d5 92
KINU 3:f70ecf1e21d5 93
KINU 0:f728b8e6bdf2 94
KINU 0:f728b8e6bdf2 95 }
KINU 3:f70ecf1e21d5 96