小型双轮差速底盘实现触须避障
生活随笔
收集整理的這篇文章主要介紹了
小型双轮差速底盘实现触须避障
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 功能說明
? ? ?在R023d機器人車體上安裝2個 觸須傳感器 ,實現機器人小車避障功能。
?2. 電子硬件
? ? ?在這個示例中,我們采用了以下硬件,請大家參考:
| 主控板 | Basra主控板(兼容Arduino Uno)? |
| 擴展板 | Bigfish2.1擴展板? |
| 傳感器 | 觸須傳感器 |
| 電池 | 7.4V鋰電池 |
電路連接:小車左輪電機連到Bigfish擴展板的D9,D10接口,小車右輪電機連到Bigfish擴展板的D5,D6;左側觸須傳感器連接在Bigfish擴展板A4端口,右側觸須傳感器連接在Bigfish擴展板A0端口(如下圖所示)
?3. 功能實現
? ? ? 編程環境:Arduino 1.8.19
? ? ? 實現思路:機器人小車前進過程中,左邊觸須傳感器觸發后,小車右轉;右邊觸須傳感器觸發后,小車左轉;兩個傳感器同時觸發后,小車后退、轉彎并前進。
? ? ? 將參考例程(sketch_apr23a.ino)下載到主控板,小車將實現避障功能,實驗效果可參考演示視頻。
/*------------------------------------------------------------------------------------版權說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 機器譜 2023-04-23 https://www.robotway.com/------------------------------*/void tui();void youzhuan();void zuozhuan();void go();void setup(){pinMode( 18, INPUT);pinMode( 14, INPUT);pinMode( 10, OUTPUT);pinMode( 6, OUTPUT);pinMode( 5, OUTPUT);pinMode( 9, OUTPUT);}void loop(){if (( !( digitalRead(14) ) && digitalRead(18) )){tui();delay( 1000 );zuozhuan();delay( 1000 );}else{if (( digitalRead(14) && !( digitalRead(18) ) )){tui();delay( 1000 );youzhuan();delay( 1000 );}else{if (( !( digitalRead(14) ) && !( digitalRead(18) ) )){tui();delay( 1000 );youzhuan();delay( 1000 );}else{go();}}}}void zuozhuan(){analogWrite(6 , 0);analogWrite(10 , 0);analogWrite(5 , 80);analogWrite(9 , 0);}void youzhuan(){analogWrite(6 , 80);analogWrite(10 , 0);analogWrite(5 , 0);analogWrite(9 , 0);}void go(){analogWrite(6 , 80);analogWrite(10 , 0);analogWrite(5 , 80);analogWrite(9 , 0);}void tui(){analogWrite(6 , 0);analogWrite(10 , 80);analogWrite(5 , 0);analogWrite(9 , 80);}4. 資料內容
①觸須避障-例程源代碼
②觸須避障-樣機3D文件
資料內容詳見:小型雙輪差速底盤-觸須避障
總結
以上是生活随笔為你收集整理的小型双轮差速底盘实现触须避障的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse 是用来写客户端的,MyE
- 下一篇: 以太坊漏洞分析————4、底层函数误用漏