esp8266&sg90舵机&点灯科技&arduino

esp8266&sg90舵机&点灯科技&arduino-实现手机非局域网远程开关

0前言

介绍:本人第一次整这个玩意,完全是为女朋友搞了个无线开关哦,所以适合完全不懂得小白看。

所需要硬件:

  1. 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

生成海报
点赞 0

墨菲DL

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

数码管轮播显示

硬件: 数码管10个引脚,8个控制二极管亮、灭,2个引脚为负极。1k欧电阻链接负极,接gnd。 将8个二极管引脚依次链接0-7号引脚。 软件: /*共阳极单数码管显示&