蓝牙遥控小车
花了半天的时间设计的蓝牙控制小车,主要是卡在了电机驱动模块上,解决了这个问题之后,再加上使用点灯科技的蓝牙模块连接库,降低了整个难度,蓝牙控制其实也非常简单,最关键的是手机APP不用自己写了
零件清单
- HC-08蓝牙模块
- Arduino uno主控板
- 杜邦线若干
- 电机驱动模块
- 直流减速电机
线路连接
蓝牙模块我是根据点灯科技官网的提供的文档进行的默认设置,当然,你也可以阅读相应的文档去进行修改
电机驱动模块,我这里的只连接了一个电源,并且在显示中,我的驱动模块只需要连接一个电源即可,电机驱动的各个引脚说明如下:
电路连接图如下:
编程设计
小车的电机方向程序
根据驱动模块的表格所示,那么我们即可编写出以下程序
代表了小车各个方向的转向
//right forward
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
//left_forward()
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
//right _ back
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
//left_back
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
在程序中创建相应的按钮
BlinkerButton forward("forward");
BlinkerButton back("back");
BlinkerButton stopA("stop");
BlinkerButton right("right");
BlinkerButton left("left");
创建每个按钮回调函数
void forward_callback(const String & state){
BLINKER_LOG("get button state: ", state);
//right forward
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
//left_forward()
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
}
void back_callback(const String & state){
BLINKER_LOG("get button state: ", state);
//right _ back
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
//left_back
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
}
void stop_callback(const String & state){
//right _ stop
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
//left_stop
digitalWrite(6,LOW);
digitalWrite(7,LOW);
}
void right_callback(const String & state){
BLINKER_LOG("get button state: ", state);
//right stop
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
//left_forward
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
}
void left_callback(const String & state){
BLINKER_LOG("get button state: ", state);
//right forward
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
//left_stop
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
}
APP设计
在点灯APP当中,创建一个新的项目,并且在界面中添加四个按钮,类型默认即可
键名需要相互对应,分别为forward、back、stop、right、left
对应即可
下载程序—即可直接运行即可
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容