其他分享
首页 > 其他分享> > 2021-05-16

2021-05-16

作者:互联网

宿舍手机开门

基于ESP8266wifi模块+360度舵机在局域网下实现手机指令开门

具体怎样安装,看自己的宿舍门。
接线:
蜂鸣器:vcc-----3.3v
GND------GND
I/O--------D4
舵机:正极-------5V
负极-------GND
信号线--------D3

手机APP的操作:

#include<ESP8266WiFi.h>
#include<Servo.h>
char* ssid = ""; //“wifi热点名称”
char* passwd = ""; //wifi热点密码”
int port = 1234; //端口号
WiFiServer server(port); // 设置服务器端口号
Servo duoji;//舵机
void initWifiSta()//实现wemos d1网络连接的函数
{
    WiFi.mode(WIFI_STA); // 设置STA模式
    WiFi.begin(ssid, passwd); //连接网络
    while (WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(500);
    }
    Serial.println(WiFi.localIP()); //通过串口打印wemos的IP地址
}

void setup() {
    // put your setup code here, to run once:
    Serial.begin(115200);//设置波特率
    initWifiSta();//连接网络
    server.begin();//开启服务
    duoji.attach(D3);//设置D3为舵机的输出端口
    pinMode(D4,OUTPUT);//设置D4为蜂鸣器的输出端口
    digitalWrite(D4,HIGH);//因为上电复位时,蜂鸣器会响,先初始化它不响
}

void loop() {
    // 把你的主代码放在这里,重复运行,相当于主函数
    char cmd;//
    WiFiClient client = server.available(); //服务初始化
    while (client.connected()) { //等待客户端连接
    while (client.available() > 0) { //有数据到来,类似串口的那个函数
    cmd = client.read();//读取数据
    if(cmd=='1'){        //这块是判断读取到的数据,里面的字符1可以随意改
      //注意,360度舵机在0-90逆时针转,在90-180顺时针转   而0是一直逆时针转,·180则是一直顺时针转,90是停止转
        duoji.write(45);//舵机旋转45度
        delay(3500);//延迟3.5s,并且在这3.5s期间也处于转动状态
        //duoji.write(135);//
        //delay(900);
        digitalWrite(D6,LOW);//蜂鸣器警报
        //duoji.write(90);
        duoji.write(90);//使舵机停止转动
        delay(700);
        digitalWrite(D6,HIGH);//蜂鸣器不响
      }
    }
  }
}

效果如下

效果图最后一张

这块附上手机软件链接,
TCP连接apk

https://gyxz2.243ty.com/com.shenyaocn.android.easytcp.apk

标签:WiFi,蜂鸣器,舵机,05,write,16,2021,90,duoji
来源: https://blog.csdn.net/qq_45635939/article/details/116904785