Arduino 实例(十三)手机APP通过蓝牙控制小车运动
1 项目所需器件
Arduino uno板卡1个,L298N驱动模块1个,2个电机,HC-05蓝牙模块1个,面包板,杜邦线2 先连接HC-05蓝牙模块,调试验证,跟手机程序连通,可参看这个
为了程序简单,修改手机APP端,每个按钮发送的文本,分别为f,l,b,r,s。s是新增加的,停止。
手机APP程序端修改如下
手机APP下载,更新后,程序界面如下
3 程序调试时,可以先调试按1,串口端打印f后,驱动一个轮子试试,成功后,将程序完善,每个轮子都驱动起来
#include <SoftwareSerial.h> //库文件
int input1 = 5; // 定义uno的pin 5 向 input1 输出
int input2 = 6; // 定义uno的pin 6 向 input2 输出
int input3 = 10; // 定义uno的pin 10 向 input3 输出
int input4 = 11; // 定义uno的pin 11 向 input4 输出
SoftwareSerial BT(8, 9); //设置蓝牙与板子的连接端口。 pin 8 接蓝牙的 TXD pin 9 接蓝牙的 RXD
char X; //定义一个变量存数据。
void setup()
{
Serial.begin(9600); //串口监视器通信速率,9600
Serial.println("蓝牙连接正常"); //串口监视器显示蓝牙正常状态
BT.begin(9600); //蓝牙通信速率,为9600
pinMode(input1,OUTPUT);
pinMode(input2,OUTPUT);
pinMode(input3,OUTPUT);
pinMode(input4,OUTPUT);
}
void loop() //大循环,执行。
{
if (Serial.available()) //检测:【串口】如果数据写入,则执行。
{
X = Serial.read(); //把写入的数据给到自定义变量 X
BT.print(X); //把数据给蓝牙
}
if (BT.available()) //检测:【蓝牙】如果数据写入,则执行。
{
X = BT.read(); //把检测到的数据给到自定义变量 X
Serial.print(X); //把从蓝牙得到的数据显示到串口监视器
if (X=='f')
{ digitalWrite(input1,HIGH); //给高电平
digitalWrite(input2,LOW); //给低电平
digitalWrite(input3,HIGH); //给高电平
digitalWrite(input4,LOW); //给低电平
delay(1000); //延时1秒
}
if (X=='s')
{ digitalWrite(input1,LOW);
digitalWrite(input2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,LOW);
delay(1000); //延时1秒
}
if (X=='b')
{ digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(1000); //延时1秒
}
if (X=='l')
{ digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,LOW);
delay(1000); //延时1秒
}
if (X=='r')
{ digitalWrite(input1,LOW);
digitalWrite(input2,LOW);
digitalWrite(input3,HIGH);
digitalWrite(input4,LOW);
delay(1000); //延时1秒
}
}
}
4 小车实物连接图,小车造型有点丑,哈哈
6 我朋友淘宝在售手机APP蓝牙控制小车套件和北京区域上门讲解调试,有兴趣的朋友,可以淘宝下单,我朋友亲自携带套件,上门讲解和调试,确保客户能够掌握,进入Arduino DIY好玩且神奇的世界。
有需要的朋友,淘宝网站搜索如下信息后,下单第二个就好:)