Arduino蓝牙遥控小车
准备材料:电机驱动板、Arduino板、蓝牙模块、小车全家桶
制作流程:一、组装小车 二、接线 三、烧录代码 四、调试蓝牙 五、测试
一、组装
按照图纸组装,有手就行。一定一定要准备螺丝刀和多几条杜邦线,或者问商家要多几条电线
血的教训:由于电线不足,所以没有安装电源开关,也只测试了一个电机是否能转动成功。
电机驱动模块介绍:
这是最低级的:
最好买普遍的L298N电机驱动:
arduino板可以供电,为什么要加电机驱动模块?
1、四块电池接电机,电流过大,烧坏arduino板。
2、电机驱动模块可以实现两个直流电机的正反向驱动,正转、反转、刹车、慢行,否则只会直行
3、电机驱动模块具有驱动能力强,发热量低,抗干扰能力强的特点。
其中左边和右边的孔一一对应,我们可以将Arduino的数字输出针脚接到in1 ~ in4上,即可将对应的高低电平信号映射到驱动板输出的接线柱上,从而控制电机
二、接线
原理图:
Arduino板 | 驱动板 |
VIN | + |
GND | — |
5 | INT1 |
6 | INT2 |
9 | INT3 |
10 | INT4 |
原理:电池组供电给电机驱动板,和Arduino板。Arduino板相当于一个智能开关,传输信号给驱动板的INT1-4引脚,INT引脚再决定是否输出电压给它们对应的输出引脚(接电机)。
蓝牙模块用法传送门:Arduino蓝牙模块实验(HC-42)_Z·y001的博客-CSDN博客
蓝牙模块先不用接。 先测试一下驱动板,电机是否能转动
刚接上去电机即可转动。
三、代码烧录
拆下驱动板
单独连接Arduino和电脑
char serial_data; // 将从串口读入的消息存储在该变量中int wheel_R_1 = 5; // 右轮in1对应Arduino 5号引脚
int wheel_R_2 = 6; // 右轮in2对应Arduino 6号引脚
int wheel_L_1 = 9; // 左轮in3对应Arduino 9号引脚
int wheel_L_2 = 10; // 左轮in4对应Arduino 10号引脚void setup(){// 配置所有控制轮的引脚为输出pinMode(wheel_L_1, OUTPUT);pinMode(wheel_L_2, OUTPUT);pinMode(wheel_R_1, OUTPUT);pinMode(wheel_R_2, OUTPUT);// 配置蓝牙串口波特率Serial.begin(9600);
}void loop(){if(Serial.available()){// 将从串口读入的消息存储在该变量中serial_data = Serial.read();// 按照 w a s d x 在键盘上的布局来控制车// 如果接收到 w ,直行if( serial_data == 'w' ){move_ahead( ); //直行的函数Serial.println("The car is moving ahead!"); //手机蓝牙端显示}// 如果接收到 x ,后退else if( serial_data == 'x'){move_backwards( );Serial.println("The car is moving backwards!");}// 如果接收到 a ,左转else if( serial_data == 'a'){turn_left( );Serial.println("The car is turning left!");}// 如果接收到 d ,右转else if( serial_data == 'd'){turn_right( );Serial.println("The car is turning right!");}// 如果接收到 s ,停止else if( serial_data == 's'){stop();Serial.println("The car is stopping!");}}
}// 定义直行函数
void move_ahead(){digitalWrite( wheel_L_1, HIGH);digitalWrite( wheel_L_2, LOW);digitalWrite( wheel_R_1, HIGH);digitalWrite( wheel_R_2, LOW);
}// 定义后退函数
void move_backwards(){digitalWrite( wheel_L_1, LOW);digitalWrite( wheel_L_2, HIGH);digitalWrite( wheel_R_1, LOW);digitalWrite( wheel_R_2, HIGH);
}// 定义左转函数
void turn_left(){digitalWrite( wheel_L_1, LOW);digitalWrite( wheel_L_2, LOW);digitalWrite( wheel_R_1, HIGH);digitalWrite( wheel_R_2, LOW);
}// 定义右转函数
void turn_right(){digitalWrite( wheel_L_1, HIGH);digitalWrite( wheel_L_2, LOW);digitalWrite( wheel_R_1, LOW);digitalWrite( wheel_R_2, LOW);
}void stop(){digitalWrite( wheel_L_1, LOW);digitalWrite( wheel_L_2, LOW);digitalWrite( wheel_R_1, LOW);digitalWrite( wheel_R_2, LOW);
}
进入串口监视器,在这里我们可可以对上传到板上的程序进行测试,在输入栏输入“a”后,点击【发送】按钮,会发现文本框里可以从Arduino得到相应的反馈(这是在源代码中设置的),然后还可以依次测试发送“w”、“s”、“d”这几种消息,如均正常,则程序无误。
四、调试蓝牙
蓝牙模块用法传送门:Arduino蓝牙模块实验(HC-42)_Z·y001的博客-CSDN博客
手机的蓝牙助手设置按钮
测试蓝牙效果:手机按下按钮,出现对应的结果
五、最终组装测试
(驱动板有些差异,仅供参考)
实际效果:超级超级简陋的安装,由于只有极少的电线、杜邦线,所以只能实现原地转圈圈功能。
Arduino蓝牙遥控小车相关推荐
- 新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源)
新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源) 2017年08月21日 12:55:25 XPLab 阅读数:4008 你家里的玩具遥控车坏了?遥控器丢了?先不要急着丢掉 ...
- Arduino mega2560蓝牙遥控小车简介
Arduino mega2560蓝牙遥控小车简介 小车一览 主要模块如下: 一.电源 (1)BOM表:18650电池两节(单节3.6v,6800mAh) 18650 电池盒(两节带开关) 二.电机驱动 ...
- 蓝牙遥控小车2.0版发布啦
蓝牙遥控小车2.0版发布啦! 蓝牙模块的主从机模式 1.主从机模式 2.设置主从机模式 蓝牙遥控器 1.硬件接线 2.程序设计 蓝牙小车 1.硬件接线 2.程序设计 今天要跟大家分享的是两个蓝牙模块之 ...
- MSP432蓝牙遥控小车
目录 前言 搭建 硬件 软件 原理 源码 前言 这个小车是去年电赛的时候准备的,很遗憾我们赛区因为疫情被取消了比赛,我们也都已经大二大三了,因此我们没有机会再参加两年一次的电赛了.但是这些成果总不能放 ...
- 微信小程序+UDP+wifi8266+l293d扩展板+Arduino uno遥控小车
微信小程序+UDP+wifi8266+l293d扩展板+Arduino uno遥控小车 序言 前面突然看到自己已经落灰的Arduino板子,感觉自己必须做点什么.正好手上有个8266的模块.有个焊接接 ...
- Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速
Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速 前面和大家分享了通过nRF24L01无线模块实现数据发送和接收的基本方法,本次继续和大家分享最终实现遥控小车转向 ...
- 5.39 综合案例2.0 - STM32蓝牙遥控小车2(语音控制)
综合案例2.0 - 蓝牙遥控小车1- 语音控制 成品展示 案例说明 器件说明 小车连线 小车源码 语音模块遥控 语音遥控连线 模块使用说明 1.MLT-BT05 4.0 蓝牙模块 2.ASRPRO-2 ...
- 【STM32】F103C8T6 蓝牙遥控小车
STM32F103C8T6 蓝牙遥控小车 前言 硬件部分 连线部分 软件部分 代码 问题与解决... 前言 本次项目使用的是STM32F103C8T6核心板作为主控,通过连接蓝牙模块,实现和手机APP ...
- 基于HAL库-蓝牙遥控小车
stm32+HAL库制作蓝牙遥控小车 材料及其接线 蓝牙模块:HC05/6 材料均可在某宝上进行购买. 注意:蓝牙模块可进行串口调试也可不调试(及为默认设置),本文使用的为未调试状态下的蓝牙串口,有关 ...
最新文章
- 点空白也弹窗口。看我弹
- NoSQL数据库探讨之一 - 为什么要用非关系数据库?
- 学校的体育设施预订服务系统
- html中加入一个计时器,向html中的计时器添加毫秒
- 浏览器 刷新页面后回到顶部_JavaScript仿知乎回到顶部功能
- 不会Object.defineProperty你就out了
- halcon 圆环类缺陷检测的一种方法(极坐标变换法)
- AOP(面向切面编程)大概了解一下
- 模式搜索的KMP算法详解与C语言代码实现
- 详解Linux防火墙iptables禁IP与解封IP常用命令
- 廖雪峰Python教程练习题
- 在中国知网下载 PDF 格式的学位论文
- UE虚幻引擎云渲染支持8K方案
- 寻找故障检测相关论文的期刊
- 有甲乙丙丁四个字,取出任意三个字,打印所有可能性
- 公有云上应该怎么做容灾?
- 科普|掀开马甲包的 “神秘面纱”
- uniapp地图轨迹回放
- 《自控力》分享一些减缓压力小妙招
- Opencv实现hwc到chw(归一化、减均值、除方差)重磅封装版