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);//蜂鸣器不响
}
}
}
}
效果如下
这块附上手机软件链接,
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