基于Arduino开发的智能蓝牙小车
基于Arduino的智能蓝牙小车
材料准备:
Arduino开发板一块、四驱小车底板及相关配件一套、L298N驱动模块一个、HC-05/06蓝牙模块一块,九伏电源一块(用于主板供电)、12V锂电池一块(带充电器,供驱动器电源)。
L298N使用方法
如图所示,外接一个12V电源,将Logic Input上四个输入口分别接到控制板对应位置。(外接12V电源,还需从GND处接一根电源至控制板)
HC-05/06 蓝牙模块
HC-06 Arduino UNO
VCC VCC
GND GND
TXD RXD
RXD TXD
代码如下
#define IN1 5 // 定义开发板5口为IN1(L298N驱动器)
#define IN2 6 //定义开发板6口为IN1(L298N驱动器)
#define IN3 9 //定义开发板9口为IN1(L298N驱动器)
#define IN4 10 //定义开发板10口为IN1(L298N驱动器)
#include<SoftwareSerial.h> //添加这个库文件,可调用库函数
SoftwareSerial BT(3,4); // 定义开发板3,4为RX,TX
char val; //定义参数接收蓝牙的值
#define LEFT '3' //左转编码
#define RIGHT '4' //右转编码
#define GO '1' //前进编码
#define BACK '2' //后退编码
#define STOP '0' //停止编码
void setup() {
BT.begin(9600); //蓝牙波率设置为9600
Serial.begin(9600); //设置串口波特率
pinMode(IN1,OUTPUT); //设置为输出口
pinMode(IN2,OUTPUT); //设置为输出口
pinMode(IN3,OUTPUT); //设置为输出口
pinMode(IN4,OUTPUT); //设置为输出口
initCar(); //调用,停车,下文有
}
//开始判断是否接收数据,数据为多少
void loop() {
if(BT.available()){
val=BT.read();
if(val == GO){
//前进
go();
}else if(val == BACK){
//后退
back();
}else if(val == LEFT){
//左转
turnLeft();
}else if(val == RIGHT){
//右转
turnRight();
}else if(val=='0'){
//停车
stopCar();
}
}
}
void initCar(){
//默认全是低电平 停止状态
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void turnLeft(){
//左转
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW); //右轮前进
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW); //左轮不动
}
void turnRight(){
//右转
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW); //右轮不动
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW); //左轮前进
}
void go(){
//前进
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW); //右轮前进
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW); //左轮前进
}
void back(){
//倒车
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH); //右轮后退
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH); //左轮后退
}
void stopCar(){
//停车
initCar();
}
接线如下:
Arduino UNO 蓝牙HC-05/06
5V VCC
GND GND
PWM 3 RXD
PWM4 GND
L298N
PWM5 IN1
PWM6 IN2
PWM9 IN3
PWM10 IN4
GND GND
L298N 电源
+12V 电源正
GND 电源负
转载于:https://www.cnblogs.com/fqhy/p/11372620.html
基于Arduino开发的智能蓝牙小车相关推荐
- 基于STM32C8T6的智能蓝牙小车(毕业设计)
基于stm32最小系统的蓝牙小车 硬件部分(成本 stm32最小系统(10r)型号具体为STM32F103C8T6 jdy-31蓝牙模块(10r) L298N继电器模块(10r)直流步进电机版 直插电 ...
- arduino编码器计数_基于Arduino开发环境的光电编码器检测仪设计方案 - 全文
0 引言 Arduino是一款基于单片机系统的电子产品开发平台,它的软硬件系统都具有高度的模块化,而且软件系统是完全开源的.其硬件系统也是高度模块化的,在核心控制板的外围有开关量输入/输出模块.各种模 ...
- 基于51单片机制作的蓝牙小车
基于51单片机制作的蓝牙小车 这是本人(小菜鸡一枚)于大一寒假所做的小玩意,以展现我这几月所学,这也是我发的第一篇博客,准确来说这可能是我搞51单片机的巅峰所做了,因为部长说以后要学stm32开发板了 ...
- 查看gpio状态_基于Arduino开发,借助blinker平台,让NodeMCU实现8路继电器APP端状态监视和控制...
基于Arduino开发,借助blinker物联网平台,让NodeMCU实现8路继电器APP端状态监视和控制 先上开发板功能图: 本文利用了NodeMCU上的D0-D3,D5-D9,总共 8个 GPIO ...
- arduino智能浇花系统_基于Arduino单片机的智能浇花器
Internal Combustion Engine & Parts • 119 • 基于Arduino单片机的智能淺花器 卞 云 松 ;张 国 祥 ;任 佳 豪 :陆晨雨 (江海职业技术学院 ...
- 利用HFS软件一分钟搭建好ESP8266基于Arduino开发环境
利用HFS一分钟搭建好ESP8266基于Arduino开发环境
- 基于STM32F4开发的智能台灯
基于STM32F4开发的智能台灯 写这篇博客的目的有2个,首先是记录一下学习STM32大半年来的第一个自己动手开发的项目,整理一下开发过程和思路:其次也是希望可以和更多的同行交流开发经验,有什么问题可 ...
- Mixly(米思齐)的安装以及基于Arduino开发板实现电容触摸控制灯
Mixly(米思齐)的安装以及基于Arduino开发板实现电容触摸控制灯 1.Mixly下载 http://mixly.org/bnu-maker/mixly-arduino-win Mixly软件安 ...
- 基于Arduino开发板的火焰报警器
** 基于Arduino开发板的火焰报警器* 概述 本文将通过使用火焰传感器与Arduino UNO组成一个简单的火灾报警系统.该火焰传感器是基于IR(红外线 Infrared Radiation)的 ...
最新文章
- strcpy与面试官
- 【项目管理】敏捷小品:Rupert 工业公司 项目:~Alpha~
- JAX-RS 2.0的新功能– @BeanParam批注
- 计算机专业自然辩证法期末论文,清华大学自然辩证法-期末论文.docx
- php正规则表达式学习笔记(几个常用函数的区别)
- 关系数据库——mysql数据类型大总结
- 作者:张丽丽(1984-),女,中国科学院计算机网络中心助理研究员
- it计算机知识竞赛主持稿,西安交大城市学院计算机系举办第四届“走进IT,触碰未来”计算机知识竞赛...
- checkbox:获取选中的checkbox
- 模拟SAP ALV下载XLSX文件
- 体外诊断(IVD)行业系列四:快速崛起的独立医学实验室
- ajax jsonp跨域访问,jquery ajax怎么使用jsonp跨域访问
- 腾讯云TRTC —— 实时音视频完整案例 音视频+共享屏幕直播
- 微信小程序使用Echarts 实现世界地图(其它地图同理)
- win10服务和控制器应用CPU占用过高
- 计算机组成原理---实验报告
- STM32F4学习笔记1
- java 接口文档的格式化_Java Word API - 读写转换处理DOC DOCX HTML PDF HTML格式
- 轻松解决win10不能联网问题
- 2022-2028全球与中国制造业物联网市场现状及未来发展趋势
热门文章
- C# default關鍵字
- [Python]小甲鱼Python视频第048课(魔法方法:迭代器) )课后题及参考解答
- linux指令快速复制粘贴[龟速更新中]
- RobotFramework自动化4-批量操作案例
- 程序员面试不完全指南
- (转载)你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句...
- mac 环境变量设置
- 如何搭建Electron开发环境
- linux之shell编程基本语法
- Linux 配置静态IP