昨天發了帖,不知怎么的,文件沒有上傳,今天重新發一個,該履帶小車置三類傳感器(閃光傳感器在很低的光強下也會反應,不用的話可以不管或著注釋掉),基于“探索者”平臺和arduion編程環境。
0.jpg (57.62 KB, 下載次數: 40)
下載附件
2019-7-20 15:12 上傳
1.jpg (99.65 KB, 下載次數: 40)
下載附件
2019-7-20 15:12 上傳
2.jpg (90.5 KB, 下載次數: 57)
下載附件
2019-7-20 15:12 上傳
3.jpg (69.7 KB, 下載次數: 54)
下載附件
2019-7-20 15:12 上傳
4.jpg (96.86 KB, 下載次數: 56)
下載附件
2019-7-20 15:12 上傳
Arduino源程序如下:
- //第二種轉向方式——差速轉向
- //本程序有個多余的Flash傳感器,這是個光感傳感器,只要有稍稍強的光,就會反應,不用可以注釋掉它
- void setup()
- {
- pinMode(14,INPUT);
- pinMode(18,INPUT);
- pinMode(17,INPUT);
- pinMode(16,INPUT);
- pinMode( 9 , OUTPUT);
- pinMode( 10 , OUTPUT);
- pinMode( 5 , OUTPUT);
- pinMode( 6 , OUTPUT);
- }
- void loop()
- {
- int touch = digitalRead(14);
- int red_line_1=digitalRead(18);
- int red_line_2=digitalRead(16);
- int flash=digitalRead(17);
- if(touch==LOW) //觸碰到障礙物
- {
- digitalWrite( 9 , LOW );
- digitalWrite( 10 , HIGH );
- digitalWrite( 5 , LOW );
- digitalWrite( 6 , HIGH );
- delay(3000);
-
-
-
- digitalWrite( 9 ,HIGH ); //只用寫高電平那位,用analogWrite(引腳,轉速)函數
- analogWrite(9,100);
- // digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- analogWrite(5,200);
- // digitalWrite( 6 , LOW );
- delay(2000);
- digitalWrite( 9 , HIGH );
- digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- digitalWrite( 6 , LOW );
- }
- if(touch==HIGH)
- {
- digitalWrite( 9 , HIGH );
- digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- digitalWrite( 6 , LOW );
- }
- if(red_line_1==LOW&&red_line_2==LOW) //兩個都遇到障礙物后退一秒,往右轉
- {
- digitalWrite( 9 , LOW );
- digitalWrite( 10 , HIGH );
- digitalWrite( 5 , LOW );
- digitalWrite( 6 , HIGH );
- delay(1000);
- digitalWrite( 9 ,HIGH ); //然后用第二種方法轉向
- analogWrite(9,100);
- // digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- analogWrite(5,200); ////兩個都遇到障礙物,轉得厲害點
- // digitalWrite( 6 , LOW );
- delay(1500); //轉向后要直走
- digitalWrite( 9 , HIGH );
- digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- digitalWrite( 6 , LOW );
- }
-
- if(red_line_1==0&&red_line_2!=0) //只有第一個燈檢測到障礙物——左側遇到障礙物,后退半秒,往右走/轉
- {
- digitalWrite( 9 , LOW );
- digitalWrite( 10 , HIGH );
- digitalWrite( 5 , LOW );
- digitalWrite( 6 , HIGH );
- delay(500);
- digitalWrite( 9 ,HIGH );
- analogWrite(9,100);
- // digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- analogWrite(5,150);
- // digitalWrite( 6 , LOW );
- delay(1500); //延時后直走
- digitalWrite( 9 , HIGH );
- digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- digitalWrite( 6 , LOW );
- }
- if(red_line_1!=0&&red_line_2==0) //右側紅外燈檢測到障礙物,往左走
- {
- digitalWrite( 9 , LOW );
- digitalWrite( 10 , HIGH );
- digitalWrite( 5 , LOW );
- digitalWrite( 6 , HIGH );
- delay(500);
- digitalWrite( 9 ,HIGH );
- analogWrite(9,150); //往左走就是把轉速改下
- // digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- analogWrite(5,100);
- // digitalWrite( 6 , LOW );
- delay(1500); //延時后直走
- digitalWrite( 9 , HIGH );
- digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- digitalWrite( 6 , LOW );
- }
- if(flash==LOW)
- {
- digitalWrite( 9 ,LOW);
- digitalWrite( 10 ,HIGH );
- digitalWrite( 5 ,LOW );
- digitalWrite( 6 ,HIGH );
- delay(2000);
-
- digitalWrite( 9 ,HIGH );
- analogWrite(9,200);
- // digitalWrite( 10 , LOW );
- digitalWrite( 5 , HIGH );
- analogWrite(5,100);
- // digitalWrite( 6 , LOW );
- delay(1500);
- }
- }
復制代碼
內含視頻演示資料51hei提供下載:
arduion程序對履帶小車的控制履帶小車的控制.zip
(10.05 MB, 下載次數: 18)
2019-7-20 08:50 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|