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实现远程开关宿舍灯/宿舍门相关推荐

  1. PS2手柄模控制ESP32控制舵机 ArduinoPWM控制

    使用PS2手柄模控制ESP32输出2路PWM信号控制舵机 1.ESP32引脚图 某宝常用EPS32的两种类型,对应下连接对应IO口的线就可以了~ 注意将舵机正负,PS2手柄控制模块正.负分别连接在一起 ...

  2. 懒人开关 ESP32控制舵机旋转(基于ESP32+SG90舵机+微信小程序)

    提示:站在巨人肩膀上的小白,大家可以提出自己的看法.如有侵删: 原文参考链接:esp32单片机控制舵机 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/566 ...

  3. 【语音控制】0成本实现小爱远程开关电脑

    背景:之前使用HACS/网页版实现了电脑网络唤醒,但不能关机,不支持小爱 问题:不能语音关机,不支持小爱 环境:支持WOL的主板电脑,python 3.X环境(我这里用了群晖) 解法:1.使用小爱添加 ...

  4. esp32 micropython连接继电器,天猫精灵控制继电器熄灭灯;连接控制舵机;d11温湿度传感器

    1.esp32 连接继电器 1)低压侧:vcc接esp32电源:gnd接esp32gnd,in接esp32 gpio引脚来控制继电器 2)高压侧:nc是常闭,com是当是负极:NO是常开,可以通过in ...

  5. micropython esp32驱动舵机_关于micropython ESP32的MQTT通讯方式控制舵机

    首先我们的前提是实践过我曾经写的关于micropython ESP32+PCA9685 舵机转速控制[https://blog.csdn.net/mrjiale/article/details/818 ...

  6. micropython esp32驱动舵机_PCA9685舵机控制板与MicroPython-ESP32-1Z实验室

    概要 阿凯在本文中讲解了如何使用MicroPython-ESP32通过PCA9685模块控制舵机旋转角度.同时也涉及到了MicroPython-ESP32的I2C资源与API讲解. 出品:1Z实验室 ...

  7. esp8266舵机驱动_使用Arduino和ESP8266通过网页控制舵机

    在本文中,我们将尝试通过网页来控制舵机,通过滑动网页上对应的滑块,促使舵机做相应地运动.这样的尝试在做一些远程开关或者远程控制的小设备时非常有用,比如把 宠物定时喂食器 改造成网页控制的也是可以实现的 ...

  8. ESP8266-12F NodeMCU、MG90S舵机、Arduino IDE——制作家庭自用远程开关(手机遥控-仅关灯)

    制作家庭自用远程开关 一.效果演示 二.接线 三.代码 四.一些记录 1.ESP8266-12F NodeMCU 2.MG90S舵机 3.开发板供电 4.舵机单独供电 5.Arduino IDE 6. ...

  9. 使用ESP8266与小爱同学通过Arduino控制舵机

    一.硬件 名称 数量 ESP8266开发板 1 Arduino UNO 1 MG995舵机 1 杜邦线 若干 二.开发环境配置 本实验通过Arduino IDE调用Blinker提供的SDK实现 ID ...

最新文章

  1. 关于网络线与电话线共用之体会
  2. C/C++面试题精选
  3. docker如何实现重新打tag并删除原tag的镜像([仓库名: tag] 可以查询到指定id的镜像,同一个id镜像能有多个[仓库名: tag])(增加\删除镜像仓库:标签)
  4. (转)RemoteView 设置控件属性
  5. Maven2 的常用命令
  6. 计算机视觉算法工程师 笔试,深度学习算法工程师笔试题目
  7. LeetCode--84.柱状图中最大的矩形(暴力法,单调栈)
  8. LNMP安装步骤详细教程以及一键部署脚本
  9. java监听上传文件,Springmvc文件上传监听详解
  10. 横幅新年促销海报PSD模板,拯救年底节日忙
  11. 练手|常见近30种NLP任务的练手项目
  12. mysql安装包配置方式_mysql安装包方式安装及配置(Windows)
  13. ERStudio 8.0 连接MS SQL SERVER进行反向工程
  14. 如何建立个人网站(免费创建个人网站制作流程步骤)
  15. ArcEngine旋转IRotateTracker
  16. 跑步戴哪款无线耳机好,适合跑步小白的无线耳机推荐
  17. CSS-标准盒模型和IE6混杂模式
  18. 活水渠-云影院之云时代的观影方法
  19. 团队作业3需求改进与系统设计
  20. openoffice和libreoffice启动和下载

热门文章

  1. 一文读懂TDengine3.0中的事务机制
  2. Latex下使用JabRef添加参考文献
  3. Linux 解压tar
  4. docker内部sshfs
  5. USB数据线上的“疙瘩”
  6. php css权重,详解css z-index的权重问题
  7. oracle宣传标语,甲骨文全球大会 | Oracle SaaS系列更新 解锁创新未来
  8. 2020年全国计算机二级考试领取证书时间
  9. 车辆出险保险索赔技巧
  10. 怎样写一个通用的JavaScript效果库!(2/2)