宿舍远程关灯神器:低成本ESP8266 WIFI+舵机+blinker方案
创作时间:
作者:
@小白创作中心
宿舍远程关灯神器:低成本ESP8266 WIFI+舵机+blinker方案
引用
CSDN
1.
https://blog.csdn.net/weixin_53631107/article/details/136792642
在宿舍里,有时候我们希望能够在离开时远程关闭灯光,但又不想进行复杂的电路改装。本文将介绍一个低成本的解决方案,使用ESP8266和舵机实现远程关灯功能,整个项目预算控制在20元以内,非常适合DIY爱好者尝试。
一、材料清单
- esp8266MCU开发板一块(10元左右)
- sg50舵机一个(6元左右)
- 数据线一根
- 公转母杜邦线3根(2元)
- 充电宝或者220v转5V充电器一根
二、Arduino IDE配置ESP8266环境
首先从Arduino官网下载最新版本的Arduino IDE软件并安装。安装完成后,进入首选项(Preferences),找到附加开发板管理器地址(Additional Board Manager URLs),并在其后添加如下信息:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
之后点击工具 - 开发板 - 开发板管理器,选择NodeMcu1.0(esp-12E Module)。硬件连接时,端口选择COM3或者COM5,如果端口没选对的话上传会显示"COMX不成功"。
三、WIFI配置
在代码中需要修改以下三个地方:
char auth[] = ""; //!key! 代码需更改的地方
char ssid[] = ""; //!wifi名称! (不要有中文和空格,如果使用热点需要设为2.4G频)
char pswd[] = ""; //!wifi密码!
四、点灯科技设置
手机打开点灯科技APP,进入设备设置界面。设置三个按钮和四个滑块,具体设置如下:
- 三个按钮的数据键名分别为btn-max、btn-min、btn-pw
- 四个滑块的数据键名分别为max-num、min-num、ser-num、time-num
- 最后一个滑块(time-num)的最大值最小值可以根据需求设置,代表循环的间隔时间,单位为毫秒。
五、接线
接线图如下:
设备在线以后进入控制界面,将位置2的滑块设置到适当位置,再点击位置2的按钮,可以看舵机转动。
六、附录(代码)
#include <Servo.h>
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = ""; //!key! 代码需更改的地方
char ssid[] = ""; //!wifi名称!
char pswd[] = ""; //!wifi密码!
// 新建组件对象
BlinkerButton Button1("btn-max"); //位置1 按钮 数据键名
BlinkerButton Button2("btn-min"); //位置2 按钮 数据键名
BlinkerButton Button3("btn-pw"); //循环模式 按钮 数据键名 开关模式
Servo myservo;
BlinkerSlider Slider1("max-num"); //位置1 滑块 数据键名 范围1-180
BlinkerSlider Slider2("min-num"); //位置2 滑块 数据键名 范围1-180
BlinkerSlider Slider3("ser-num"); //实时位置 滑块 数据键名 范围1-180
BlinkerSlider Slider4("time-num"); //循环模式间隔时间 滑块 数据键名 范围单位毫秒
bool xunhuan_mode = false;
int servo_max, servo_min, ser_num, time_num;
void button1_callback(const String &state) { //位置1按钮
BLINKER_LOG("get button state: ", servo_max);
myservo.write(servo_max);
Blinker.vibrate();
}
void button2_callback(const String &state) { //位置2按钮
BLINKER_LOG("get button state: ", servo_min);
myservo.write(servo_min);
Blinker.vibrate();
}
void button3_callback(const String &state) { //位置3按钮 开关模式
if (state == "on") {
xunhuan_mode = true;
Button3.print("on");
Blinker.delay(100);
} else if (state == "off") {
xunhuan_mode = false;
Button3.print("off");
Blinker.delay(100);
}
}
void slider1_callback(int32_t value)
{
servo_max = value;
Slider1.color("#1E90FF");
Slider1.print();
BLINKER_LOG("get slider value: ", value);
}
void slider2_callback(int32_t value)
{
servo_min = value;
Slider2.color("#FFF8DC");
Slider2.print();
BLINKER_LOG("get slider value: ", value);
}
void slider3_callback(int32_t value)
{
ser_num = value;
myservo.write(ser_num);
Blinker.delay(100);
BLINKER_LOG("get slider value: ", value);
}
void slider4_callback(int32_t value)
{
time_num = value;
Blinker.delay(100);
BLINKER_LOG("get slider value: ", value);
}
void xunhuan()
{
myservo.write(servo_max);
Blinker.delay(time_num / 2);
myservo.write(servo_min);
Blinker.delay(time_num / 2);
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
Button2.attach(button2_callback);
Button3.attach(button3_callback);
Slider1.attach(slider1_callback);
Slider2.attach(slider2_callback);
Slider3.attach(slider3_callback);
Slider4.attach(slider4_callback);
myservo.attach(5); //servo.attach():设置舵机数据引脚
myservo.write(10); //servo.write():设置转动角度
servo_max = 70;
servo_min = 120;
time_num = 500;
}
void loop()
{
Blinker.run();
if (xunhuan_mode == true) {
xunhuan();
}
}
热门推荐
青藏高原梭梭林面临气候考验,人工种植成生态保护新路径
“海底热带雨林”珊瑚礁支撑四分之一海洋生物,却面临生存危机
万人专列打卡恩施红花峰林:绝美峰林迎来首批游客
雪梨百合瘦肉汤:润喉止咳的养生佳品
梨、蜂蜜、柠檬:缓解喉咙嘶哑的三大神器
冬季喉咙嘶哑怎么办?这些食疗和护理方法请收好
冬季喉咙救星:8款天然食物推荐
无人机系统助力军事基地安全升级
小苏打成蔬菜种植“神器”,四大功效助力绿色种植
园艺新招:小苏打水调节土壤pH值,还能杀菌促生长
2克小苏打兑水浇花,冬季植物养护有妙招
小苏打水养花全攻略:调节酸碱、防虫治病多效合一
“小三亚”遇上航天城:西昌两日游攻略
四川西昌:从湿地公园到卫星发射中心,摄影爱好者的天堂
0-3岁宝宝大脑发育营养指南:关键营养素与科学饮食建议
二月龄宝宝大脑发育关键期,三招激活智力潜能
扫描追溯码、检查包装细节,港澳购药这样防假
香港冬季药品攻略:正露丸、活络油等六大类药品详解
恩施红花峰林:跨江索道带你飞
AI手机隐私保卫战:你真的懂吗?
AI假冒名人带货,张文宏、雷军怒了!
火车票免费改签或增至2次,人大代表建议优化退改签规则
一禅小和尚教你打造爆红短视频
吉照堂教你貔貅开光后的摆放禁忌
吉照堂&祥安阁:谁的开光貔貅更灵验?
吉照堂貔貅开光仪式揭秘:高僧开光流程与用户反馈
吉照堂开光貔貅:收藏界的新宠儿
五角星车牌使用全解析:政府车辆的权威象征
全飞秒近视手术多久恢复到最佳视力
近视手术高峰期就诊攻略