点灯科技+arduino+esp-01s 完成手机app直控舵机

最近暑假在老家玩esp8266 ,想给家里院子大门装个物联网的舵机,用于控制开锁,于是买了一个8266开发板和一个esp-01s。

然后跟着这个up的视频:教你几块钱制作一个物联网开关灯教程esp01s继电器6/5

http://t.csdn.cn/msQo5这篇文章用8266开发板做完了

如果目标是完成简单的控制,看以上一个视频和这文章足够了 以下内容为上面的拓展

但是之后我还想用esp8266做其他的事情,于是就在想能不能拿esp-01s完成舵机控制

于是又搜到了http://t.csdn.cn/ZgVJX查到了这张图

在这里插入图片描述]

于是在上面提到的第一个文章的代码基础上我做了一点修改

1. 改为三个按键,一个滑块

在这里插入图片描述

2.引脚改为 2(由上图可知esp-01s引脚 io2就是GPIO2)

在这里插入图片描述
点灯科技的界面就照这样设计 ps:max-min 范围为0~180度
在这里插入图片描述

以下是完整代码

================================esp8266开发板完成舵机控制
‘’’
#define BLINKER_MIOT_LIGHT
#define BLINKER_WIFI

#include <Servo.h>
#include <Blinker.h>

char auth[] = " ";//秘钥
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-min”); //位置 滑块 数据键名 范围1-180

bool xunhuan_mode = false;

int servo_max=175,servo_min=5,ser_num,servo_num=90;

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按钮
BLINKER_LOG("get button state: ", servo_num);
myservo.write(servo_num);
Blinker.vibrate();
}

void slider1_callback(int32_t value)
{
servo_num = value;
Slider1.color(“#1E90FF”);
Slider1.print();

BLINKER_LOG("get slider value: ", value);

}

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);
myservo.attach(2);	//servo.attach():设置舵机数据引脚
myservo.write(10);	//servo.write():设置转动角度

}

void loop() {

Blinker.run();

}

‘’’
================================分割线

还有电源问题,一般网上的方案都是充电宝,电池给整个系统供电什么的。但我觉得这样不够持久,没事 了还得给电池充电很麻烦,于是改出以下方案

某宝 购买一个 220v转12V的变压器 20RMB

一个 LM2596S带电压显示 DC_DC直流可调降压模块将12V稳到5V 8RMB

然后220v转12v接到LM2596s 输出5V 给舵机和 ESP01-s继电器模块供电(这里用继电器模块只是为了提供3.3V的电压,若读值有其他方法请尽情尝试)

esp01-s的io2引脚用公母线链接到舵机信号线上

在这里插入图片描述

根据这张图,用公母线在esp01-s继电器引出 3.3v ,GND,和EN引脚连接到esp01-s(这里多检查几次,很容易出错)

照着文章上面的内容完成点灯app配套设置与arduino代码编译下载,即可用手机完成esp01-s对舵机的控制。

下面的图片仅供参考(看不明白就不看了,自己琢磨一个出来)
在这里插入图片描述

原本还想过用手机充电大头和usb线改一个供电会更方便,但是没想到好的实施方案,有条件的同学可以试试这个方向。

  • 9
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零质量泡沫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值