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
diff -r c799e2dde99f -r f70ecf1e21d5 main.cpp
--- 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
+