1. 功能描述
本文提供的示例所實現的功能為:用手機APP遙控斜三角履帶底盤樣機實現移動,包括前進、停止、后退、原地左轉、原地右轉。
在這個示例中,采用了以下硬件,請大家參考:
Basra主控板(兼容Arduino Uno)、Bigfish2.1擴展板、7.4V鋰電池、藍牙串口模塊
為斜三角履帶底盤樣機安裝藍牙串口模塊,斜三角履帶底盤樣機有兩種擺放方式:
車身右側為安裝了藍牙串口模塊的主控板,左側控制板請忽略
3. 示例程序
編程環境:Arduino 1.8.19
程序通過使用if語句來判斷讀取到的串口的不同字符值來匹配不同的動作,從而實現對機器人的遠程控制。
接收到“1”的時候,執行前進;
接收到“2”的時候,執行后退;
接收到“3”的時候,執行左轉;
接收到“4”的時候,執行右轉;
接收到“5”的時候,執行停止;
手機APP的鍵值按上述規則進行配置,然后單片機接收到不同的信息,對應執行不同的動作。
例程代碼(robot_ble_control.ino)如下:
/*------------------------------------------------------------------------------------ 版權說明:Copyright 2022 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 機器譜 2022-9-28 https://www.robotway.com/ ------------------------------ 實功能: 從串口(藍牙)接收字符,根據不同字符分別做出前進、后退、停止、原地左轉、原地右轉的動作。 ----------------------------------------------------- 實驗接線: 左輪:D9,D10 右輪:D5,D6。 ------------------------------------------------------------------------------------*/ int _ABVAR_1_Bluetooth_data = 0 ; void Left(); void Stop(); void Right(); void Back(); void Forward(); void setup() { Serial.begin(9600); pinMode( 5 , OUTPUT); pinMode( 6 , OUTPUT); pinMode( 9 , OUTPUT); pinMode( 10 , OUTPUT); } void loop() { _ABVAR_1_Bluetooth_data = Serial.parseInt() ; if (( ( _ABVAR_1_Bluetooth_data ) > ( 0 ) )) { if (( ( _ABVAR_1_Bluetooth_data ) == ( 1 ) )) { Forward(); } if (( ( _ABVAR_1_Bluetooth_data ) == ( 2 ) )) { Back(); } if (( ( _ABVAR_1_Bluetooth_data ) == ( 3 ) )) { Left(); } if (( ( _ABVAR_1_Bluetooth_data ) == ( 4 ) )) { Right(); } if (( ( _ABVAR_1_Bluetooth_data ) == ( 5 ) )) { Stop(); } } } void Right() { digitalWrite( 5 , HIGH ); digitalWrite( 6 , LOW ); digitalWrite( 9 , LOW ); digitalWrite( 10 , HIGH ); } void Back() { digitalWrite( 5 , HIGH ); digitalWrite( 6 , LOW ); digitalWrite( 9 , HIGH ); digitalWrite( 10 , LOW ); } void Left() { digitalWrite( 5 , LOW ); digitalWrite( 6 , HIGH ); digitalWrite( 9 , HIGH ); digitalWrite( 10 , LOW ); } void Forward() { digitalWrite( 5 , LOW ); digitalWrite( 6 , HIGH ); digitalWrite( 9 , LOW ); digitalWrite( 10 , HIGH ); } void Stop() { digitalWrite( 5 , HIGH ); digitalWrite( 6 , HIGH ); digitalWrite( 9 , HIGH ); digitalWrite( 10 , HIGH ); } |
審核編輯 黃昊宇
-
機器人
+關注
關注
210文章
28212瀏覽量
206568 -
藍牙
+關注
關注
114文章
5771瀏覽量
169836
發布評論請先 登錄
相關推薦
評論