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连接情况)
现在点击开灯/关灯,舵机就会随之转动
使用它开关等的最简单方式就是
(
ESP32控制舵机转动,使用blinker实现远程开关宿舍灯/宿舍门相关推荐
- PS2手柄模控制ESP32控制舵机 ArduinoPWM控制
使用PS2手柄模控制ESP32输出2路PWM信号控制舵机 1.ESP32引脚图 某宝常用EPS32的两种类型,对应下连接对应IO口的线就可以了~ 注意将舵机正负,PS2手柄控制模块正.负分别连接在一起 ...
- 懒人开关 ESP32控制舵机旋转(基于ESP32+SG90舵机+微信小程序)
提示:站在巨人肩膀上的小白,大家可以提出自己的看法.如有侵删: 原文参考链接:esp32单片机控制舵机 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/566 ...
- 【语音控制】0成本实现小爱远程开关电脑
背景:之前使用HACS/网页版实现了电脑网络唤醒,但不能关机,不支持小爱 问题:不能语音关机,不支持小爱 环境:支持WOL的主板电脑,python 3.X环境(我这里用了群晖) 解法:1.使用小爱添加 ...
- esp32 micropython连接继电器,天猫精灵控制继电器熄灭灯;连接控制舵机;d11温湿度传感器
1.esp32 连接继电器 1)低压侧:vcc接esp32电源:gnd接esp32gnd,in接esp32 gpio引脚来控制继电器 2)高压侧:nc是常闭,com是当是负极:NO是常开,可以通过in ...
- micropython esp32驱动舵机_关于micropython ESP32的MQTT通讯方式控制舵机
首先我们的前提是实践过我曾经写的关于micropython ESP32+PCA9685 舵机转速控制[https://blog.csdn.net/mrjiale/article/details/818 ...
- micropython esp32驱动舵机_PCA9685舵机控制板与MicroPython-ESP32-1Z实验室
概要 阿凯在本文中讲解了如何使用MicroPython-ESP32通过PCA9685模块控制舵机旋转角度.同时也涉及到了MicroPython-ESP32的I2C资源与API讲解. 出品:1Z实验室 ...
- esp8266舵机驱动_使用Arduino和ESP8266通过网页控制舵机
在本文中,我们将尝试通过网页来控制舵机,通过滑动网页上对应的滑块,促使舵机做相应地运动.这样的尝试在做一些远程开关或者远程控制的小设备时非常有用,比如把 宠物定时喂食器 改造成网页控制的也是可以实现的 ...
- ESP8266-12F NodeMCU、MG90S舵机、Arduino IDE——制作家庭自用远程开关(手机遥控-仅关灯)
制作家庭自用远程开关 一.效果演示 二.接线 三.代码 四.一些记录 1.ESP8266-12F NodeMCU 2.MG90S舵机 3.开发板供电 4.舵机单独供电 5.Arduino IDE 6. ...
- 使用ESP8266与小爱同学通过Arduino控制舵机
一.硬件 名称 数量 ESP8266开发板 1 Arduino UNO 1 MG995舵机 1 杜邦线 若干 二.开发环境配置 本实验通过Arduino IDE调用Blinker提供的SDK实现 ID ...
最新文章
- 关于网络线与电话线共用之体会
- C/C++面试题精选
- docker如何实现重新打tag并删除原tag的镜像([仓库名: tag] 可以查询到指定id的镜像,同一个id镜像能有多个[仓库名: tag])(增加\删除镜像仓库:标签)
- (转)RemoteView 设置控件属性
- Maven2 的常用命令
- 计算机视觉算法工程师 笔试,深度学习算法工程师笔试题目
- LeetCode--84.柱状图中最大的矩形(暴力法,单调栈)
- LNMP安装步骤详细教程以及一键部署脚本
- java监听上传文件,Springmvc文件上传监听详解
- 横幅新年促销海报PSD模板,拯救年底节日忙
- 练手|常见近30种NLP任务的练手项目
- mysql安装包配置方式_mysql安装包方式安装及配置(Windows)
- ERStudio 8.0 连接MS SQL SERVER进行反向工程
- 如何建立个人网站(免费创建个人网站制作流程步骤)
- ArcEngine旋转IRotateTracker
- 跑步戴哪款无线耳机好,适合跑步小白的无线耳机推荐
- CSS-标准盒模型和IE6混杂模式
- 活水渠-云影院之云时代的观影方法
- 团队作业3需求改进与系统设计
- openoffice和libreoffice启动和下载