本帖最后由 机器谱 于 2022-12-29 09:10 编辑
1. 功能描述 本文提供的示例所实现的功能为:用手机APP遥控样机实现移动和搬运。
2. 所用样机
3. 电子硬件在这个示例中,采用了以下硬件,请大家参考:
主控板 | Basra(兼容Arduino Uno) | 扩展板 | Bigfish2.1 | 电池 | 7.4V锂电池 | 通信 | 蓝牙串口模块 |
下图为样机安装了蓝牙串口模块【https://www.robotway.com/h-col-141.html】后的样子。
4. 示例程序 编程环境:Arduino 1.8.19 程序通过使用if语句来判断读取到的串口的不同字符值来匹配不同的动作,从而实现对机器人的远程控制。 接收到“1”的时候,执行前进; 接收到“2”的时候,执行后退; 接收到“3”的时候,执行左转; 接收到“4”的时候,执行右转; 接收到“5”的时候,执行停止; 接收到“6”的时候,机械爪打开; 接收到“7”的时候,机械爪闭合。 手机APP的键值按上述规则进行配置,然后单片机接收到不同的信息,对应执行不同的动作。
例程代码(211a_Bluetooth_RC.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/
- ------------------------------
- 实功能: 从串口(蓝牙)接收字符,根据不同字符分别做出前进、后退、原地左转、原地右转、夹爪打开、夹爪闭合的动作。
- -----------------------------------------------------
- 实验接线:
- 机械爪:D3
- 左轮:D9,D10
- 右轮:D5,D6。
- ------------------------------------------------------------------------------------*/
- #include <Servo.h>
- int a = 0 ;
- Servo servo_pin_3;
- void Open();
- void Close();
- void Spot_turn_Right();
- void Spot_turn_Left();
- void Stop();
- void Backwards();
- void Forward();
- void setup()
- {
- pinMode( 10, OUTPUT);
- pinMode( 6, OUTPUT);
- pinMode( 5, OUTPUT);
- pinMode( 9, OUTPUT);
- Serial.begin(9600);
- servo_pin_3.attach(3);
- }
- void loop()
- {
- a = Serial.parseInt() ;
- if (( ( a ) > ( 0 ) ))
- {
- if (( ( a ) == ( 1 ) ))
- {
- Forward();
- }
- if (( ( a ) == ( 2 ) ))
- {
- Backwards();
- }
- if (( ( a ) == ( 3 ) ))
- {
- Spot_turn_Left();
- }
- if (( ( a ) == ( 4 ) ))
- {
- Spot_turn_Right();
- }
- if (( ( a ) == ( 5 ) ))
- {
- Stop();
- }
- if (( ( a ) == ( 6 ) ))
- {
- Open();
- }
- if (( ( a ) == ( 7 ) ))
- {
- Close();
- }
- }
- }
- void Spot_turn_Right()
- {
- analogWrite(5 , 255);
- analogWrite(6 , 0);
- analogWrite(9 , 0);
- analogWrite(10 , 255);
- }
- void Stop()
- {
- analogWrite(5 , 255);
- analogWrite(6 , 255);
- analogWrite(9 , 255);
- analogWrite(10 , 255);
- }
- void Backwards()
- {
- analogWrite(5 , 255);
- analogWrite(6 , 0);
- analogWrite(9 , 255);
- analogWrite(10 , 0);
- }
- void Forward()
- {
- analogWrite(5 , 0);
- analogWrite(6 , 255);
- analogWrite(9 , 0);
- analogWrite(10 , 255);
- }
- void Spot_turn_Left()
- {
- analogWrite(5 , 0);
- analogWrite(6 , 255);
- analogWrite(9 , 255);
- analogWrite(10 , 0);
- }
- void Close()
- {
- servo_pin_3.write( 70 );
- }
- void Open()
- {
- servo_pin_3.write( 110 );
- }
复制代码
5. 资料下载资料内容:
①样机组装步骤图
②样机蓝牙遥控例程源代码
资料下载地址:https://www.robotway.com/h-col-152.html
|