前言
因为每晚快睡觉时,怕出被窝关灯但灯又太远,所以想出用舵机控制灯的开关。
1.所需耗材
arduino uno(当然选小一点更好,arduino mini就很小巧)
hc-05(其他的蓝牙模块也行)
面包板
sg90舵机
若干杜邦线
Arduino IDE(Donate to Arduino | Arduino)官网下载即可,根据板子的型号选择。
可以用充电宝供电
2.源码和接线
#include <Servo.h>//引头文件
Servo myservo;
int pos = 0; //舵机旋转角度
char val ='s';//初始化
void setup() {
myservo.attach(6); //定义舵机接口为6号引脚
Serial.begin(9600); //初始化蓝牙,波特率为9600
}
void loop() {
if(Serial.available())//判断串口是否有数据
{
val = Serial.read();//读取串口数据赋给val
if(val=='a')//关
{
for (pos = 20; pos <= 40; pos += 1)
{
myservo.write(pos);
delay(30);}
myservo.write(20);//复位
}
else if(val=='b')//开
{
for (pos = 20; pos >= 0; pos-= 1)
{
myservo.write(pos);
delay(30);
}
myservo.write(20);
}
else if(val=='r')//复位
{
myservo.write(20);
}
}
}
将GND和5v引出两根线接到面包板,蓝牙模块的vcc接到5v,GND接到GND,蓝牙模块的RXD接到arduino的TXD,蓝牙模块的TXD接到arduino的RXD,舵机橙色的线接到arduino的6号引脚。另外两根红色接正极,棕色接负极。
然后把舵机固定在开关旁的位置。
3.蓝牙调试
我用的是这个调试软件手机端蓝牙调试软件:
链接:https://pan.baidu.com/s/1mCYMt85VrLxJ7deE76JhnA?pwd=h7p1
提取码:h7p1
打开软件找到蓝牙模块的名字连接。
之后再打开按钮控制, 打开编辑按钮,关设成发送a。开设成发送b。还有一个设成发送r。
最后一个很实用的蓝牙开关就好了。