700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ESP32控制舵机转动 使用blinker实现远程开关宿舍灯/宿舍门

ESP32控制舵机转动 使用blinker实现远程开关宿舍灯/宿舍门

时间:2023-05-20 20:53:20

相关推荐

ESP32控制舵机转动 使用blinker实现远程开关宿舍灯/宿舍门

ESP32控制舵机转动,使用blinker实现远程开关宿舍灯/宿舍门

准备

杜邦线若干条(至少3条)

舵机一个,我使用的是SG90,大概扭力为1.4kg/cm

ESP32/ESP8266一块,我的是乐鑫的,带WIFI模块,大概30RMB

USB数据线一条

ESP32使用servo库会出现编译问题,架构不匹配,所以我这里直接使用pwm进行舵机的控制,你也可以使用ESP8266直接使用servo库控制舵机,方便很多,或者使用ESP32的舵机库(arduino的库管理器中可以找到)

连线

很多人可能接触开发板时间不长(比如说我),我就是最开始连线都不知道怎么接,网上给出完整接法的挺少的:

舵机直接连接ESP32:需要准备3条公母杜邦线,

先上一张ESP32引脚图

我们将黄色接GPIO16,黑色(咖啡色)接地(GND),红色接5v电源(Vin)

插上数据线连接电脑

手机和开发板通信

通过blinker向开发板发送Json格式的指令,由开发板通过blinker解析后执行相应的callback(回调)函数

下载blinker 的APP,添加设备即可

添加设备并选择服务器供应商后,会给出设备专属的密钥,保存之后有用

完整代码

#define BLINKER_WIFI #include <Blinker.h> char auth[] = "";//点灯秘钥char ssid[] = "";//无线网名称char pswd[] = "";//无线网密码int freq = 50;int channel = 8; int resolution = 8; const int led = 16;BlinkerButton Button1("btn-max"); BlinkerButton Button2("btn-min"); int servo_max=180,servo_min=90;int calculatePWM(int degree){ const float deadZone = 6.4;const float max = 32;if (degree < 0)degree = 0;if (degree > 180)degree = 180;return (int)(((max - deadZone) / 180) * degree + deadZone);}void button1_callback(const String & state) { BLINKER_LOG("get button state: ", servo_max); ledcWrite(channel, calculatePWM(180)); Blinker.vibrate(); } void button2_callback(const String & state) { BLINKER_LOG("get button state: ", servo_min); ledcWrite(channel, calculatePWM(90));Blinker.vibrate(); }void setup() { Serial.begin(9600); ledcSetup(channel, freq, resolution); // 设置通道ledcAttachPin(led, channel);// 将通道与对应的引脚连接BLINKER_DEBUG.stream(Serial); Blinker.begin(auth, ssid, pswd); Button1.attach(button1_callback); Button2.attach(button2_callback);}void loop() { Blinker.run(); }

上面的三个字符串分别写入自己的密钥和WiFi,在宿舍没WiFi的直接开手机热点

烧录程序,别忘了在烧录之前或之后打开WiFi,烧录结束我们的开发板就会连接上我们的WiFi

我们在程序中设置了两个Button,分别为btn-max,btn-min

在blinker的设备中也做相应的配置:

进入自己的设备

点击右上角可以对布局和按键功能等做出配置

配置结束后

我们就可以测试我们的程序:

在确保设备连接上WiFi后(可以在arduino的串口监控中查看具体发来的信息和WiFi连接情况)

现在点击开灯/关灯,舵机就会随之转动

使用它开关等的最简单方式就是

(🤦‍♂️)把他绑在宿舍灯开关的旁边,通过转动,让舵机对灯的开关施加压力实现开关灯

虽然有点捞,但是起码不用下床开门关灯了,可喜可贺

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。