1. 功能說明
本實驗使用的樣機為R023樣機小型雙輪差速底盤。在樣機前方安裝3個近紅外傳感器 ,實現(xiàn)機器人躲避懸崖、在某平臺上移動時不會掉下去的效果。
在這個示例中,我們采用了以下硬件,請大家參考:
主控板 | Basra(兼容Arduino Uno) |
擴展板 | Bigfish2.1 |
傳感器 | 近紅外傳感器 |
電池 | 7.4V鋰電池 |
左輪直流電機連在D9,D10接口上;右輪直流電機連在D5,D6接口上;3個近紅外傳感器從左到右分別連在A0、A4、A3接口上。
3. 示例程序
編程環(huán)境:Arduino 1.8.19
編寫并燒錄以下程序(nine.ino),該程序?qū)崿F(xiàn)演示視頻中的動作【完整資料請參考https://www.robotway.com/h-col-113.html】
/*------------------------------------------------------------------------------------ 版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved. Distributed under MIT license.See file LICENSE for detail or copy at https://opensource.org/licenses/MIT by 機器譜 2023-02-10 https://www.robotway.com/ ------------------------------------------------------------------------------------*/ void Right(); void Left(); void Stop(); void Forward(); void Back(); void setup() { pinMode( 17, INPUT); pinMode( 18, INPUT); pinMode( 14, INPUT); pinMode( 10, OUTPUT); pinMode( 6, OUTPUT); pinMode( 5, OUTPUT); pinMode( 9, OUTPUT); } void loop() { if (((!( digitalRead(14)) && ! (digitalRead(17)) ) )) { Forward(); } if (( digitalRead(14) )) { Left(); delay( 300 ); } if (( digitalRead(17) )) { Right(); delay( 300 ); } if (( digitalRead(18) )) { Back(); delay( 1000 ); analogWrite(5 , 100); analogWrite(6 , 0); analogWrite(9 , 0); analogWrite(10 , 100); delay( 1500 ); } } void Right() { analogWrite(5 , 0); analogWrite(6 , 0); analogWrite(9 , 100); analogWrite(10 , 0); } void Forward() { analogWrite(5 , 100); analogWrite(6 , 0); analogWrite(9 , 100); analogWrite(10 , 0); } void Back() { analogWrite(5 , 0); analogWrite(6 , 100); analogWrite(9 , 0); analogWrite(10 , 100); } void Left() { analogWrite(5 , 100); analogWrite(6 , 0); analogWrite(9 , 0); analogWrite(10 , 0); } void Stop() { analogWrite(5 , 0); analogWrite(6 , 0); analogWrite(9 , 0); analogWrite(10 , 0); }
4. 擴展
本實驗采用3個近紅外傳感器,利用的是近紅外傳感器能夠識別到距離較近的桌面,無法識別到距離較遠的地面,因此桌面要距離地面遠一些。
本實驗還可以使用灰度傳感器或者白標傳感器。利用的是灰度和白標在懸崖處極難收到反射回來的紅外線的原理,因此相應(yīng)的桌面必須是淺色,如果桌面也是深色,灰度和白標傳感器就無法區(qū)分桌面和懸崖了。
審核編輯黃宇
?
-
傳感器
+關(guān)注
關(guān)注
2548文章
50698瀏覽量
752064 -
機器人
+關(guān)注
關(guān)注
210文章
28212瀏覽量
206566 -
編程
+關(guān)注
關(guān)注
88文章
3595瀏覽量
93604
發(fā)布評論請先 登錄
相關(guān)推薦
評論