日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Arduino循迹小车教程三----测试小车篇

發布時間:2023/12/31 编程问答 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Arduino循迹小车教程三----测试小车篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、初始化引腳(放在setup函數里)
    • 1.電機引腳初始化
    • 2.循跡模塊D0引腳初始化
  • 三、循跡模塊(放在loop函數)
    • 1.讀取循跡模塊的高低電平
    • 2.打印循跡模塊的高低電平
  • 四、控制電機轉速(重點!!!)
  • 四、簡單的循跡代碼
  • 總結


前言

組裝好小車并且接完線后,就可以開始寫代碼讓小車動起來啦~
硬件完成了,循跡小車你就完成了一半了,剩下的軟件部分就開始寫代碼,調試代碼了。


一、初始化引腳(放在setup函數里)

1.電機引腳初始化

因為Arduino要輸出控制信號給L298N電機驅動模塊,所以將電機引腳設置為輸出模式

pinMode(3, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);pinMode(9, OUTPUT);

2.循跡模塊D0引腳初始化

因為Arduino是要接收循跡模塊的高低電平信號,所以將循跡模塊的引腳設置為輸入模式

pinMode(10, INPUT);pinMode(11, INPUT);pinMode(12, INPUT);pinMode(13, INPUT);

三、循跡模塊(放在loop函數)

1.讀取循跡模塊的高低電平

檢測到黑線為高電平(1),白線為低電平(0)

Sensor [0] = digitalRead(10); Sensor [1] = digitalRead(11);Sensor [2] = digitalRead(12);Sensor [3] = digitalRead(13;

2.打印循跡模塊的高低電平

在Arduino的右上角有個小按鍵,可以打開串口,電腦連接Arduino就可以看到串口的值了

Serial.print(Sensor [0]);Serial.print("---");Serial.print(Sensor [1]);Serial.print("---");Serial.print(Sensor [2]);Serial.print("---");Serial.println(Sensor [3]);

四、控制電機轉速(重點!!!)

analogWrite()函數 用來控制電機的速度,不過要注意不同的車型,代碼執行效果不同!所以換一輛車,代碼就要重新調,最重要的是積累經驗

analogWrite(3, 100);analogWrite(5, 0);analogWrite(6, 100);analogWrite(9, 0);

上面這個代碼是讓小車直走的,燒錄進去后,發現小車轉動的方向不對,把電機驅動模塊和Arduino的線反過來就可以啦。比如說:左輪向后走,那么就把Arduino上的引腳3和引腳5的線換一下就可以往前走了。

四、簡單的循跡代碼

最簡單的就是用 if 語句來判斷,如果第2個循跡模塊檢測到黑線,要讓小車左轉,把它擺正回來。if 語句如下,代碼的具體數值要根據地圖的實際情況來調,所以就算你copy別人的代碼,也沒用!最重要的是積累經驗!

if (Sensor [0] == 0 && Sensor [1] == 1 && Sensor [2] == 0 && Sensor [3] == 0)analogWrite(3, 50);analogWrite(5, 0);analogWrite(6, 100); //右輪速度比左輪快,小車就會左轉analogWrite(9, 0);

如果是第3個循跡模塊檢測到黑線,要讓小車右轉。if 語句如下

if (Sensor [0] == 0 && Sensor [1] == 0 && Sensor [2] == 1 && Sensor [3] == 0)analogWrite(3, 100); //左輪速度比右輪快,小車就會右轉analogWrite(5, 0);analogWrite(6, 50);analogWrite(9, 0);

還有其他的循跡情況,你們可以自己探索或者看我下一篇的代碼詳解。(調試電機的速度,特別考驗抗壓能力,這個過程會很痛苦~~>_<~~,不過堅持調個一周多也差不多了)


總結

總結

以上是生活随笔為你收集整理的Arduino循迹小车教程三----测试小车篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。