Arduino 蓝牙通讯

废话不多说,先上代码:

#include <SoftwareSerial.h> 
SoftwareSerial BT(10, 11); 
char val;
int Red = 6;
int Green = 5;
int Blue = 4;
int pin1 = 8;
int pin2 = 9;
int speeda = 127;
char str1[]="speed:";
char str2[]="r/min";
void setup() {
  Serial.begin(9600); 
  pinMode(Red, OUTPUT);
	pinMode(Green, OUTPUT);
	pinMode(Blue, OUTPUT);
  pinMode(pin1, OUTPUT);
  pinMode(pin2, OUTPUT);
  Serial.println("bluetooth is ready!");
  BT.begin(9600);                                                 
}
void LAMP(int i, int j, int k){
  analogWrite(Red,i);
  analogWrite(Green,j);
  analogWrite(Blue,k);
}
void speed(int speed1, int speed2){
  analogWrite(pin1, speed1);
  analogWrite(pin2, speed2);
}
void loop() {
  if (Serial.available()) {
    val = Serial.read();
    BT.print(val);
  }
  if (BT.available()) {
    val = BT.read();
    if(val == 'r') LAMP(255, 0, 0);
    else if(val == 'g') LAMP(0, 255, 0);
    else if(val == 'b') LAMP(0, 0, 255);
    else if(val == 'z') speed(0, speeda);
    else if(val == 'y') speed(speeda, 0);
    else if(val == '+') speed(0, min(speeda+40,255));
    else if(val == '-') speed(max(speeda-40,0), 0);
    else if(val == 's') speed(0, 0);   
    Serial.print(val);
  }
}    

首先设置好蓝牙的从模块模式之后,进行配置手机上的按钮如下图所示:

进行验证
 

使用手机连接蓝牙,在蓝牙编辑器上设置相应的按钮,如图2所示,当按下按钮“红灯亮”时,手机端向蓝牙发送字符‘r,试验台红灯亮,当按下按钮“绿灯亮”时,手机端向蓝牙发送字符‘g,试验台绿灯亮,当按下按钮“蓝灯亮”时,手机端向蓝牙发送字符‘b,试验台蓝灯亮,当按下按钮“电机左”时,手机端向蓝牙发送字符‘z,试验台电机左转,当按下按钮“电机右”时,手机端向蓝牙发送字符‘y,试验台电机右转,当按下按钮“电机加速”时,手机端向蓝牙发送字符‘+,试验台电机进行加速,当按下按钮“电机减速”时,手机端向蓝牙发送字符‘-,试验台电机进行减速,当按下按钮“STOP”时,手机端向蓝牙发送字符‘s,试验台电机停止转动。

图 4红灯亮

图 5绿灯亮

图 6蓝灯亮

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值