基于手机蓝牙的arduino遥控小车
遥控小车是每个人童年的最爱,不仅好奇它的奇妙,更是喜欢它带来的刺激。小编为大家带来几篇博客,来给大家讲讲制作遥控小车的程序。
看大标题可知我们一共有五个方法去制作一款带有遥控功能的小车,小编分开来给大家讲解。
本文为基于arduino的手机蓝牙遥控小车
基于arduino的手机蓝牙遥控小车
基于arduino的红外遥控小车
基于arduino的无线NRF24L01遥控小车
基于ardunio的无线手柄遥控小车
基于ardunio的有线手柄遥控小车
从0到1教你做:基于手机蓝牙的Arduino的遥控小车
bilibili:https://www.bilibili.com/video/av74340803/
腾讯视频:https://v.qq.com/x/page/z3016nw00yq.html
获取该源码方式:
1、CSDN下载:
https://download.csdn.net/download/qq_38351824/11107057
一、接线:
(1)HC05蓝牙接线:
连接方式:蓝牙上的RX和TX分别接arduino板子上的TX和RX
!!!注意!!! 下载程序的时候要拔掉蓝牙模块(或拔掉arduino板上RX引脚或让蓝牙断电),否则会出现下载错误。
(2)电机接线:
四个逻辑通道从左到右(即IN1到IN4)分别接5、6、9、10
注意:此处驱动一定要和arduino共地!!!否则无法传输数据。
输出A接左边电机,输出B做右边电机
二、书写代码:
然后将以下代码下载到arduino板:
//-------------------------------------------------------------------//
//*******************************************************************//
///
//电机设置/
///#define leftA_PIN 5
#define leftB_PIN 6
#define righA_PIN 9
#define righB_PIN 10
void motor_pinint( ); //引脚初始化
void forward( ); //前进
void back( ); //后退
void turnLeftOrigin( ); //原地左
void turnRightOrigin( ); //原地右
void turnRightforword( ); //右前
void turnLeftforword( ); //左前
void turnLeftback( ); //左后
void turnRightback( ); //右后
void _stop(); //停车//-------------------------------------------------------------------//
//*******************************************************************//
///
//蓝牙遥控/
///
int receive;
void reve(void);//----------------------------------------------------------------//void setup()
{Serial.begin(9600); //串口波特率9600(手机端使用)motor_pinint( );
}
void loop()
{reve();
}void reve(void)
{receive=Serial.parseInt();if(receive==7) {forward( ) ;delay(500);_stop();}//前进else if(receive==6) {back( ) ;delay(500);_stop();}//后退else if(receive==1) {_stop() ;delay(500);_stop();}//停车else if(receive==3) {turnLeftforword( ) ;delay(500);_stop();}//左前else if(receive==2) {turnRightforword( );delay(500);_stop();}//右前else if(receive==5) {turnLeftback( ) ;delay(500);_stop();}//左后else if(receive==4) {turnRightback( ) ;delay(500);_stop();}//右后else if(receive==8) {turnLeftOrigin( ) ;delay(250);_stop();}//原地左else if(receive==9) {turnRightOrigin( ) ;delay(250);_stop();}//原地右
}/*电机引脚初始化*/
void motor_pinint( )
{pinMode (leftA_PIN, OUTPUT); //设置引脚为输出引脚pinMode (leftB_PIN, OUTPUT); //设置引脚为输出引脚pinMode (righA_PIN, OUTPUT); //设置引脚为输出引脚pinMode (righB_PIN, OUTPUT); //设置引脚为输出引脚}
/**************************************************
forward子函数——前进子函数
函数功能:控制车前进
**************************************************/
void forward( )
{analogWrite(leftA_PIN,180); analogWrite(leftB_PIN,0); //左轮前进analogWrite(righA_PIN,180); analogWrite(righB_PIN,0); //右轮前进
}
/**************************************************
back子函数——后退子函数
函数功能:控制车后退
**************************************************/
void back( )
{analogWrite(leftA_PIN,0); analogWrite(leftB_PIN,180); //左轮后退analogWrite(righA_PIN,0); analogWrite(righB_PIN,180); //右轮后退
}
/**************************************************
turnLeftOrigin子函数——原地左转子函数
函数功能:控制车原地左转
**************************************************/
void turnLeftOrigin( )
{analogWrite(leftA_PIN,0); analogWrite(leftB_PIN,120); //左轮后退analogWrite(righA_PIN,120); analogWrite(righB_PIN,0); //右轮前进
}
/**************************************************
turnRightOrigin子函数——原地右转子函数
函数功能:控制车原地右转
**************************************************/
void turnRightOrigin( )
{analogWrite(leftA_PIN,120); analogWrite(leftB_PIN,0); //左轮前进analogWrite(righA_PIN,0); analogWrite(righB_PIN,120); //右轮后退
}
/**************************************************
turnRightforword子函数——右前运动子函数
函数功能:控制车右前
**************************************************/
void turnRightforword( )
{analogWrite(leftA_PIN,200); analogWrite(leftB_PIN,0); //左轮快前进analogWrite(righA_PIN,120); analogWrite(righB_PIN,0); //右轮慢前进
}
/**************************************************
turnLeftforword子函数——左前运动子函数
函数功能:控制车左前
**************************************************/
void turnLeftforword( )
{analogWrite(leftA_PIN,120); analogWrite(leftB_PIN,0); //左轮慢前进analogWrite(righA_PIN,200); analogWrite(righB_PIN,0); //右轮快前进
}
/**************************************************
turnRightforword子函数——右后运动子函数
函数功能:控制车右后
**************************************************/
void turnRightback( )
{analogWrite(leftA_PIN,0); analogWrite(leftB_PIN,200); //左轮快后退analogWrite(righA_PIN,0); analogWrite(righB_PIN,120); //右轮慢后退
}
/**************************************************
turnLeftforword子函数——左后运动子函数
函数功能:控制车左后
**************************************************/
void turnLeftback( )
{analogWrite(leftA_PIN,0); analogWrite(leftB_PIN,120); //左轮慢后退analogWrite(righA_PIN,0); analogWrite(righB_PIN,200); //右轮快后退
}
/**************************************************
stop子函数—停止子函数
函数功能:控制车停止
**************************************************/
void _stop()
{analogWrite(leftA_PIN,0); analogWrite(leftB_PIN,0); //左轮静止不动analogWrite(righA_PIN,0); analogWrite(righB_PIN,0); //右轮静止不动
}
三、蓝牙串口助手APP:
获取该源码方式:
1、CSDN下载:
下载地址:https://download.csdn.net/download/qq_38351824/10613322
2、可以关注点赞并在下方评论,我给你邮箱发过去。
3、关注微信公众号下载:
① 关注微信公众号:Tech云
②
下载安装后,打开APP后会自动开始搜索附近的蓝牙设备:
搜索到后:
然后选择我们要连接的设备
输入PIN,一般密码为1234或0000或123456
输入正确后如下图
这个APP只有这三种模式,但是足够一般人使用啦。我们使用的是键盘模式,其他两种模式,大家可以尝试玩一下。
那么,选择键盘模式后,如下图
大家的和我的应该不一样,我这个是配置好了的样子(其中退出主函数和调节舵机中值不是,这是我之前用在智能车上的)
那么,如何配置呢?
点击右上角的
然后再点击配置键盘值。看似没什么区别,但是在点开按键会弹出界面
显示名:就是刚才那个界面的名字;按下发送值:顾名思义,就是按下该按键后发送的数字。
按照这个对应,更改下
7---前进
6---后退
1---停车
3---左前
2---右前
5---左后
4---右后
8---原地左
9---原地右
然后再点击右上角的
然后点击保存就全部大功告成啦!
如果大家在制作过程中有什么问题或者思路可以在下方留言和我一起交流噢!
如果发现本文有错误,也请在下方评论区指出,感激不尽!
基于手机蓝牙的arduino遥控小车相关推荐
- 基于红外遥控的arduino遥控小车
遥控小车是每个人童年的最爱,不仅好奇它的奇妙,更是喜欢它带来的刺激.小编为大家带来几篇博客,来给大家讲讲制作遥控小车的程序. 看大标题可知我们一共有五个方法去制作一款带有遥控功能的小车,小编分开来给大 ...
- 毕业论文 | 基于安卓手机蓝牙控制的智能小车设计(源代码)
博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 预告:源代码.论文.电路图设计链接 ...
- android智能小车 论文,基于安卓手机蓝牙控制的智能小车设计毕业设计(论文).doc...
编 号: 审定成绩: 毕业设计(论文) 设计(论文)题目: 学院:学 生 姓 名 :专 业 :班 级 :学 号 :指 导 教 师 :答辩组 负责人 : 填表时间:年月 摘 要 随着物联网的兴起,And ...
- 基于无线NRF24L01的ardunio遥控小车
遥控小车是每个人童年的最爱,不仅好奇它的奇妙,更是喜欢它带来的刺激.小编为大家带来几篇博客,来给大家讲讲制作遥控小车的程序. 看大标题可知我们一共有五个方法去制作一款带有遥控功能的小车,小编分开来给大 ...
- 基于手柄(有线)的ardunio遥控小车
遥控小车是每个人童年的最爱,不仅好奇它的奇妙,更是喜欢它带来的刺激.小编为大家带来几篇博客,来给大家讲讲制作遥控小车的程序. 看大标题可知我们一共有五个方法去制作一款带有遥控功能的小车,小编分开来给大 ...
- 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]
/***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...
- 基于51单片机的无线遥控小车
基于51单片机的无线遥控小车 材料:STC89C51(1个).nrf2401(2个).L298N(2个).小车底盘.18650(4个).按键若干.蜂鸣器 功能:前进.后退.左转.右转.鸣笛. 程序请移 ...
- 基于STM32 HAL库的遥控小车
目录 前言 一.材料清单 二.系统概述 三.硬件设计 1.HC-SR04超声波模块 2.HC-05/06蓝牙模块 3.L298n电机驱动模块 四.代码 1.引脚设置 2.遥控部分 3.超声波报警部分 ...
- 【瑞萨RA MCU创意氛围赛】基于FSP库开发 --- Qt遥控小车
文章目录 引言 一.产品功能介绍 二.硬件清单 三.软件设计 1. RASC 2. Keil 2. Qt 四.视频展示 引言 很高兴能够加入"野火"这个大家庭中,且能有机会参加第一 ...
最新文章
- 在python中print 应用_Python print正确使用方法浅析
- oracle 计划中的view,为何执行计划中会出现个VIEW: VM_NWVW_1 ?
- EasyUI,二级页面内容的操作
- 代码流星雨是什么形式_为什么要在2020年与流星合作
- 0423-mysql查询语句大全
- SAP License:标准价格修改
- python argv 详解_详解sys.argv[]的使用方法
- 使用Python对Syslog信息进行分析并绘图
- C#/VB.NET 合并PDF页面
- Linux-修复文件系统
- 【Unity Shaders】Using Textures for Effects——通过修改UV坐标来滚动textures
- matlab 基于拉依达检验法(3σ准则) 实现多类别多参数的批量检验异常值与异常样本
- Tkx/tk——瞬态窗口
- html css 如何将图片作为背景,CSS背景图片和HTML中的img标签
- unordered_set使用介绍
- Mac添加新建文件按钮或服务
- BP客户主数据信用数据批量修改
- 第六课:ResNeXt学习
- python:os.chdir()
- 快速学习-RocketMQ-“Request-Reply”特性