1. 功能說(shuō)明
本實(shí)驗(yàn)使用的樣機(jī)為R026a樣機(jī)小型平行履帶底盤(pán)。在樣機(jī)前方安裝1個(gè) 超聲波傳感器,如果遇到障礙,機(jī)器人后退、轉(zhuǎn)向,否則機(jī)器人前進(jìn),實(shí)現(xiàn)機(jī)器人避障的效果。
在這個(gè)示例中,我們采用了以下硬件,請(qǐng)大家參考:
主控板 | Basra(兼容Arduino Uno) |
擴(kuò)展版 | Bigfish2.1 |
傳感器 | 超聲波傳感器 |
兩個(gè)直流電機(jī)連在D5,D6以及D9,D10接口上;超聲波傳感器連在A4接口上。
3. 示例程序
編程環(huán)境:Arduino 1.8.19
編寫(xiě)并燒錄以下程序(text.ino),該程序?qū)?shí)現(xiàn)超聲避障的動(dòng)作
/*------------------------------------------------------------------------------------ 版權(quán)說(shuō)明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved. Distributed under MIT license.See file LICENSE for detail or copy at by 機(jī)器譜 2023-02-10 ------------------------------------------------------------------------------------*/ int _ABVAR_1_i = 0 ; int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin) { long duration; pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(20); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); duration = duration / 59; if ((duration < 2) || (duration > 300)) return false; return duration; } void turnLeft(); void forward(); void back(); void setup() { pinMode( 10, OUTPUT); pinMode( 6, OUTPUT); pinMode( 5, OUTPUT); pinMode( 9, OUTPUT); digitalWrite( 19 , LOW ); } void loop() { _ABVAR_1_i = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 19 , 18 ) ; if (( ( ( _ABVAR_1_i ) <= ( 5 ) ) && ( ( _ABVAR_1_i ) > ( 0 ) ) )) { back(); delay( 1000 ); turnLeft(); delay( 1500 ); } else { forward(); } } void forward() { analogWrite(5 , 0); analogWrite(6 , 165); analogWrite(9 , 0); analogWrite(10 , 165); } void back() { analogWrite(5 , 165); analogWrite(6 , 0); analogWrite(9 , 165); analogWrite(10 , 0); } void turnLeft() { analogWrite(5 , 165); analogWrite(6 , 0); analogWrite(9 , 0); analogWrite(10 , 165); }審核編輯黃宇
-
傳感器
+關(guān)注
關(guān)注
2550文章
51038瀏覽量
753086 -
機(jī)器人
+關(guān)注
關(guān)注
211文章
28381瀏覽量
206919
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論