Takuya Kobayashi / Mbed 2 deprecated mbed_linetrace_termA

Dependencies:   mbed

Committer:
kamorei
Date:
Fri Oct 19 18:08:13 2018 +0000
Revision:
0:0abe8038e775
Child:
1:5a97a5e4ee44
10/19; ??????????????; ??????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kamorei 0:0abe8038e775 1 #include "mbed.h"
kamorei 0:0abe8038e775 2
kamorei 0:0abe8038e775 3 DigitalOut ledL( PTB8);
kamorei 0:0abe8038e775 4 DigitalOut ledR( PTE5);
kamorei 0:0abe8038e775 5 BusOut ledLL( PTB8, PTB9);
kamorei 0:0abe8038e775 6 BusOut ledRR( PTE5, PTE4); //わざと右から書いてます
kamorei 0:0abe8038e775 7
kamorei 0:0abe8038e775 8 AnalogIn sensorR( PTB1);
kamorei 0:0abe8038e775 9 AnalogIn sensorL( PTB3);
kamorei 0:0abe8038e775 10 AnalogIn sensorCR( PTB0);
kamorei 0:0abe8038e775 11 AnalogIn sensorCL( PTB2);
kamorei 0:0abe8038e775 12
kamorei 0:0abe8038e775 13 //モータ1
kamorei 0:0abe8038e775 14 BusOut Mlefti(PTA1, PTA2);
kamorei 0:0abe8038e775 15 PwmOut Mleftp(PTD4);
kamorei 0:0abe8038e775 16 //モータ2
kamorei 0:0abe8038e775 17 BusOut Mrighti(PTC0, PTC7);
kamorei 0:0abe8038e775 18 PwmOut Mrightp(PTA12);
kamorei 0:0abe8038e775 19
kamorei 0:0abe8038e775 20 float white = 0.5, black = 0.08, gray = 0.15; //値をぶち込む
kamorei 0:0abe8038e775 21 float whiteR = 0.05, blackR = 0.008, grayR = 0.015; //弱いセンサ用
kamorei 0:0abe8038e775 22 float sensor[4]; //sensor[0]:sensorL ... sensor[3]:sensorR
kamorei 0:0abe8038e775 23
kamorei 0:0abe8038e775 24 void turn_right(){
kamorei 0:0abe8038e775 25 //左を正転,右を停止
kamorei 0:0abe8038e775 26 Mlefti = 2;
kamorei 0:0abe8038e775 27 Mleftp = 0.5f;
kamorei 0:0abe8038e775 28 Mrighti = 1;
kamorei 0:0abe8038e775 29 Mrightp = 0.5f;
kamorei 0:0abe8038e775 30 ledR = 1;
kamorei 0:0abe8038e775 31 ledL = 0;
kamorei 0:0abe8038e775 32 }
kamorei 0:0abe8038e775 33
kamorei 0:0abe8038e775 34 void turn_left(){
kamorei 0:0abe8038e775 35 //右を正転,左を停止
kamorei 0:0abe8038e775 36 Mrighti = 2;
kamorei 0:0abe8038e775 37 Mrightp = 0.5f;
kamorei 0:0abe8038e775 38 Mlefti = 1;
kamorei 0:0abe8038e775 39 Mleftp = 0.5f;
kamorei 0:0abe8038e775 40 ledR = 0;
kamorei 0:0abe8038e775 41 ledL = 1;
kamorei 0:0abe8038e775 42 }
kamorei 0:0abe8038e775 43
kamorei 0:0abe8038e775 44 void go_straight(){
kamorei 0:0abe8038e775 45 //まっすぐ行こう
kamorei 0:0abe8038e775 46 Mrighti = 2;
kamorei 0:0abe8038e775 47 Mrightp = 0.5f;
kamorei 0:0abe8038e775 48 Mlefti = 2;
kamorei 0:0abe8038e775 49 Mleftp = 0.5f;
kamorei 0:0abe8038e775 50 ledR = 0;
kamorei 0:0abe8038e775 51 ledL = 0;
kamorei 0:0abe8038e775 52 }
kamorei 0:0abe8038e775 53
kamorei 0:0abe8038e775 54 void stop_point(){
kamorei 0:0abe8038e775 55 //停止
kamorei 0:0abe8038e775 56 Mrighti = 0;
kamorei 0:0abe8038e775 57 Mlefti = 0;
kamorei 0:0abe8038e775 58 ledRR = 2;
kamorei 0:0abe8038e775 59 ledLL = 2;
kamorei 0:0abe8038e775 60 }
kamorei 0:0abe8038e775 61
kamorei 0:0abe8038e775 62 int main() {
kamorei 0:0abe8038e775 63 go_straight();
kamorei 0:0abe8038e775 64 wait(3);
kamorei 0:0abe8038e775 65 while(1) {
kamorei 0:0abe8038e775 66 sensor[0] = sensorL.read();
kamorei 0:0abe8038e775 67 sensor[1] = sensorCL.read();
kamorei 0:0abe8038e775 68 sensor[2] = sensorCR.read();
kamorei 0:0abe8038e775 69 sensor[3] = sensorR.read();
kamorei 0:0abe8038e775 70
kamorei 0:0abe8038e775 71 if( sensor[1] >= white && sensor[2] <= gray)
kamorei 0:0abe8038e775 72 turn_right();
kamorei 0:0abe8038e775 73 else if( sensor[1] <= gray && sensor[2] >= white)
kamorei 0:0abe8038e775 74 turn_left();
kamorei 0:0abe8038e775 75 else if( sensor[1] <= gray && sensor[2] <= gray)
kamorei 0:0abe8038e775 76 go_straight();
kamorei 0:0abe8038e775 77 //if( sensor[0] <= gray && sensor[3] <= grayR)
kamorei 0:0abe8038e775 78 // stop_point();
kamorei 0:0abe8038e775 79 }
kamorei 0:0abe8038e775 80 }