1. 功能說明
本實驗使用的樣機為R023樣機小型雙輪差速底盤。在樣機前方安裝3個近紅外傳感器 ,實現機器人躲避懸崖、在某平臺上移動時不會掉下去的效果。
2. 電子硬件
在這個示例中,我們采用了以下硬件,請大家參考:
主控板 | Basra(兼容Arduino Uno) |
擴展板 | Bigfish2.1 |
傳感器 | 近紅外傳感器 |
電池 | 7.4V鋰電池 |
左輪直流電機連在D9,D10接口上;右輪直流電機連在D5,D6接口上;3個近紅外傳感器從左到右分別連在A0、A4、A3接口上。
3. 示例程序
編程環境:Arduino 1.8.19
編寫并燒錄以下程序(nine.ino),該程序將實現演示視頻中的動作【完整資料請參考https://www.robotway.com/h-col-113.html】
/*------------------------------------------------------------------------------------ 版權說明: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個近紅外傳感器,利用的是近紅外傳感器能夠識別到距離較近的桌面,無法識別到距離較遠的地面,因此桌面要距離地面遠一些。
本實驗還可以使用灰度傳感器或者白標傳感器。利用的是灰度和白標在懸崖處極難收到反射回來的紅外線的原理,因此相應的桌面必須是淺色,如果桌面也是深色,灰度和白標傳感器就無法區分桌面和懸崖了。
審核編輯黃宇
?
-
傳感器
+關注
關注
2553文章
51407瀏覽量
756657 -
機器人
+關注
關注
211文章
28646瀏覽量
208439 -
編程
+關注
關注
88文章
3637瀏覽量
93989
發布評論請先 登錄
相關推薦
閃速存儲器屬于RAM還是ROM,閃速存儲器有哪些功能和作用
閃速存儲器的閃速是指什么,閃速存儲器的速度比內存快嗎
帶有振動抑制、支持零速、滿足功能安全ASIL-B的PWM協議輸出兩線差分輪速傳感器芯片SC9683TS
![帶有振動抑制、支持零<b class='flag-5'>速</b>、滿足<b class='flag-5'>功能</b>安全ASIL-B的PWM協議輸出兩線<b class='flag-5'>差</b>分輪<b class='flag-5'>速</b>傳感器芯片SC9683TS](https://file1.elecfans.com//web3/M00/07/0A/wKgZO2eR98KAYohHAAC-1W-ZBFs291.jpg)
寧德時代發布“磐石底盤”,樹立智能底盤安全新標桿
底盤電控系統HIL仿真測試解決方案
![<b class='flag-5'>底盤</b>電控系統HIL仿真測試解決方案](https://file1.elecfans.com/web3/M00/03/82/wKgZO2dpM0uAXbTIAABGcEfNMGI806.png)
請問ADS8684+INA816實現模擬差分輸入功能是否可行?
線控底盤如何讓自動駕駛加速奔跑?
![線控<b class='flag-5'>底盤</b>如何讓自動駕駛加速奔跑?](https://file1.elecfans.com/web3/M00/02/13/wKgZPGda0fOAGfFOABJ_aiVSCAc990.png)
智能底盤持續發展,底盤域MCU的國產機會
![智能<b class='flag-5'>底盤</b>持續發展,<b class='flag-5'>底盤</b>域MCU的國產機會](https://file1.elecfans.com/web2/M00/CF/FA/wKgZomYiN5-AXhLRAAdb9IdhHhU805.png)
線控底盤,自動駕駛時代的基石?
![線控<b class='flag-5'>底盤</b>,自動駕駛時代的基石?](https://file1.elecfans.com/web2/M00/0A/91/wKgZomcjEEiAOooDAAjrJ6c-89c889.png)
鳳凰動力-AGV差速驅動輪的工作原理
![鳳凰動力-AGV<b class='flag-5'>差</b><b class='flag-5'>速</b>驅動輪的工作原理](https://file1.elecfans.com/web2/M00/A3/12/wKgaomT2yEOAO2zsAABa1Ae3zR8931.png)
雙速電機與單速電機的區別
探討底盤的發展歷程及趨勢
![探討<b class='flag-5'>底盤</b>的發展歷程及趨勢](https://file1.elecfans.com/web2/M00/C7/E3/wKgZomYXSAyAAZuKAAAM4mQEaYk160.png)
評論