esp8266&sg90舵机&点灯科技&arduino-实现手机非局域网远程开关
0前言
介绍:本人第一次整这个玩意,完全是为女朋友搞了个无线开关哦,所以适合完全不懂得小白看。
所需要硬件:
- esp8266模块(不打广告,自行购买即可,只是这是我买的地址)
2.杜邦线和sg90舵机和led灯
所需软件
1.arduino软件(俺也不会,但是可以调库很友好小白)
2. 串口驱动CH340(我是这个驱动,有些可能是其他的)
3. Blink库(连接手机上点灯科技用的)
4. 手机app-----点灯科技
// 以上软件的下载和库的下载我会打包放在百度网盘,请自行下载。
链接:https://pan.baidu.com/s/1XRka–WDW_aIQVTzhASu7A
提取码:86bw
提示:以下是本篇文章正文内容,下面案例可供参考
1、拿到esp8266和舵机,线咋接呢?
直接看图,咱们就不讲原理了,纯小白。这里舵机的PWM信号(黄色)接的是esp8266的D引脚,+5v接的是图中VV引脚(电流表亲测输出是4.8V)
2、接完线了,程序呢,怎么就可以下载进去?
这里强掉是arduiuo的关于8266的环境配置以及库的下载,程序放最后,不着急,一步一步来。
(1)安装arduino先,不多说,一致next到底,提示啥就装啥
(2)安装后我们先配置第一个地方,为什么要配置,俺也不知道
操作:文件–首选项
http://arduino.esp8266.com/stable/package_esp8266com_index.json
(3) 配置第二个地方–安装一下Blink的库哦
操作:项目—加载库----添加.zip库
至于这个库,在我的百度网盘下载即可
(4) 安装esp8266库,超级恶心,为啥呢,因为在arduino直接安装,不停报错报错,当时差点放弃了,但是我发现可以直接把安装包放置安装目录下,这样就不会报错。小白福音。
复制好了,就到咱们安装8266库了,
(5) 配置手机《点灯科技》软件。good,咱们环境搭配好了,但是咱们还不可下程序,因为咱们手机app还没设置哦,来吧!
配置完成
(6) 最后下载如程序,你就可以使用啦
//整体效果是:滑块控制舵机的位置(0~180),按下按键舵机到达指定位置。
//如果只是由滑块控制舵机详细操作见代码!
#include <Servo.h>
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = "d670f6a1ee59"; //点灯Key
char ssid[] = "Mi_5G"; //wifi名称
char pswd[] = "999999999"; //wifi密码
// 新建组件对象(按键+滑块)
BlinkerButton Button1("btn-max"); //位置1 按钮 数据键名
BlinkerButton Button2("btn-close");
BlinkerSlider Slider1("max-num"); //位置1 滑块 数据键名 范围0-180
Servo myservo;
int servo_max=180;
int servo_close=0;
void button1_callback(const String & state) { //位置1 按钮
BLINKER_LOG("get button state: ", servo_max);
myservo.write(servo_max);
digitalWrite(D3, HIGH);
Blinker.vibrate();
}
void button2_callback(const String & state) { //位置1 按钮
BLINKER_LOG("get button state: ", servo_close);
myservo.write(servo_close);
digitalWrite(D3, LOW);
Blinker.vibrate();
}
void slider1_callback(int32_t value)
{
BLINKER_LOG("get slider value: ", value);
servo_max = value;
Slider1.color("#1E90FF");
Slider1.print();
//digitalWrite(D3, value);
myservo.write(value);//如果包含这句,APP中的按键是不起作用的,只有滑块管用。
}
void setup() {
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
Button2.attach(button2_callback);
Slider1.attach(slider1_callback);
myservo.attach(D2);
myservo.write(10);
pinMode(D3, OUTPUT);
}
void loop() {
Blinker.run();
}
开始吧。。。。。。。。。。
版权声明:本文为CSDN博主「墨菲DL」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44695217/article/details/121429305
暂无评论