基于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                            电源负

基于Arduino开发的智能蓝牙小车的更多相关文章

  1. 基于 Arduino 开发板,这款插座是可编程且开源的

    基于 Arduino 开发板,这款插座是可编程且开源的 https://www.oschina.net/news/74861/open-source-socket https://github.com ...

  2. 基于Arduino开发的简易“高水位报警系统解决方案”

    长期以来,针对“某些办公室空调没有排水系统,只能用水桶接水,经常造成水漫金山的问题”而提出来的. 材料:Arduino开发板一块.水位传感器一个.高电平蜂鸣器一个.杜邦线若干. 原理:将水位传感器置于 ...

  3. Arduino开发版学习计划--小车的行走

    小车的前进后退,左右转弯 代码如下 void motor(char pin,char pwmpin,char state,int val) { pinMode(pin, OUTPUT); ) { an ...

  4. 基于Qt的wifi智能小车的制作(一)

     基于Qt的wifi智能小车的制作(一) 好久不写博客了,真的是有点惭愧了.翻开上一次的博客,到现在已经2个多月了,只能说是自己太懒惰了!忙是另一回事!趁今天晚上有点时间回顾下这一段时间的收获以及做的 ...

  5. 基于Neptune开发板的键盘蓝牙模块DIY指南

    目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...

  6. ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  7. 手把手搭建自己的智能家居 - 基于 IOT Pi 的智能甲醛检测器

    智慧家居 - 基于 IOT Pi 的智能甲醛检测器 之前的文章体验 MS-RTOS 的时候入手了一个块 IOT Pi ,放着也是浪费,这次我们就利用 IOT PI 开发一个智能甲醛检测器.φ(> ...

  8. 基于能量收集的智能家居-2013国家级大学生创业实践项目申报_商业计划书_V0.2

    SmartHome项目商业计划 基于能量收集的 免电池无线智能家居系统    IA-SmartHome团队    2012.12     l  基于无线的智能家居解决方案,节省施工成本: l  基于能 ...

  9. x86 构架的 Arduino 开发板Intel Galileo

    RobotPeak是上海的一家硬件创业团队,团队致力于民用机器人平台系统.机器人操作系统(ROS)以及相关设备的设计研发,并尝试将日新月异的机器人技术融入人们的日常生活与娱乐当中.同时,RobotPe ...

随机推荐

  1. 007 Ceph手动部署单节点

    前面已经介绍了Ceph的自动部署,本次介绍一下关于手动部署Ceph节点操作 一.环境准备 一台虚拟机部署单节点Ceph集群 IP:172.25.250.14 内核: Red Hat Enterpris ...

  2. Ceph14.2.5 RBD块存储的实战配置和详细介绍,不看后悔! -- <3>

    Ceph RBD介绍与使用 RBD介绍 RBD即RADOS Block Device的简称,RBD块存储是最稳定且最常用的存储类型.RBD块设备类似磁盘可以被挂载. RBD块设备具有快照.多副本.克隆 ...

  3. Codeforces Round #604 (Div. 2) E. Beautiful Mirrors 题解 组合数学

    题目链接:https://codeforces.com/contest/1265/problem/E 题目大意: 有 \(n\) 个步骤,第 \(i\) 个步骤成功的概率是 \(P_i\) ,每一步只 ...

  4. Java小项目之:五子棋,你下棋下得过电脑吗?

    Java小项目之:五子棋,你下棋下得过电脑吗? Java五子棋功能要求: 1.创建窗口和设计一个棋盘界面 2.实现鼠标点击,棋子出现,黑白棋轮流下 3.能够判断五子相连输赢 4.添加重新开始,悔棋,退 ...

  5. Ant Design Pro路由传值

    Ant Design Pro 路由传值 了解Ant Design Pro组件间通讯原理的小伙伴肯定都知道,两个页面之间可以通过Models进行传值,在以往的传值过程中,我都是直接将需要的值直接一股脑的 ...

  6. Django框架之数据库ORM框架

    首先,我来介绍一下什么是ORM框架: O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思.在ORM框架中,它帮 ...

  7. ASP.NET Core 启用跨域请求

    本文翻译整理自:https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1 一 .Cross-Orig ...

  8. Spring中常见的设计模式——适配器模式

    一.适配器模式的应用场景 适配器模式(Adapter Pattern)是指将一个类的接口转换成用户期待的另一个接口,使原本接口不兼容的类可以一起工作,属于构造设计模式. 适配器适用于以下几种业务场景: ...

  9. Java final关键词

    final关键词的四种用法 * * final 关键字:最终的.不可改变的 * 1.可以用来修饰一个类 * 2.可以用来修饰一个方法 * 3.可以用来修饰一个局部变量 * 4.可以用来修饰一个成员变量 ...

  10. 你还不会Git?那就不要写代码了(二)

    Git 命令练习 git的删除,添加,修改与日志 which vi 查看命令的目录 ⌃ a 光标去开头 ⌃ E 光标去结尾 ehco 'hellow world asd' > test.txt ...