• Arduino+esp8266-01+舵机 制作基于局域网的遥控门禁


    这个最终的效果呢,就是可以通过手机连接上esp8266创建的wifi,然后连接其创建的服务器,发送特定指令就可实现遥控开门

    (做工比较粗糙还请不要见笑...)

    一、原理

    其实这个一看就会明白,非常简单的,由Arduino连接一个舵机和一个esp8266模块,esp8266工作为AP模式,发出热点信息,并且创建服务端,手机连接wifi,然后作为客户端连接服务端,向其发送数据,esp8266收到数据后会通过串口通信传递给Arduino,Arduino如果接受到 open 这条信息便控制舵机开始旋转

    分步实现的细节在下面两篇文章

    Arduino leonardo+esp8266-01作服务端与APP进行数据通信

    Arduino控制舵机

    二、程序

    (esp8266-01需要提前设置为AP或者AP+Station模式,具体见上面文章)

     1 #include <Servo.h>
     2 String string = "";
     3 Servo myservo;
     4 
     5 void setup() {
     6   myservo.attach(10);
     7   Serial.begin(115200);
     8   Serial1.begin(115200);
     9   delay(1000);
    10   Serial1.print("AT+CIPMUX=1
    ");    
    11   delay(1000);
    12   Serial1.print("AT+CIPSERVER=1,8080
    ");   
    13   delay(1000);
    14   myservo.write(180);
    15   delay(1000);
    16   myservo.detach();
    17 }
    18 
    19 void loop() {
    20 
    21   while (Serial1.available() > 0)
    22   {
    23     char c = Serial1.read();
    24     string += c;
    25     if (Serial1.available() == 0)
    26     {
    27       if (string.indexOf("open") >=0)
    28       {
    29         myservo.attach(10);
    30         delay(500);
    31         myservo.write(10);
    32         delay(3000);
    33         myservo.write(180);
    34         delay(1000);
    35         myservo.write(175);
    36         delay(1000);
    37         myservo.detach();
    38       }
    39       Serial.print(string);
    40       string = "";
    41     }
    42     delay(10);
    43   }
    44 
    45   while (Serial.available() > 0)
    46   {
    47     char c = Serial.read();
    48     string += c;
    49     if (Serial.available() == 0)
    50     {
    51       Serial1.print(string);//发送AT命令
    52       string = "";
    53     }
    54     delay(10);
    55   }
    56   
    57 }

    三、测试

     和之前文章相同,手机下载网络调试助手,选择TCP Client,并连接esp8266创建的wifi。然后新增一个链接,这里需要设置的ip在一开始是查看了的,一般都不会变,端口为自己设定的8080

    然后发送 open ,就会看到舵机会旋转

    四、安装

    这是我很久前做的了,这次只是整理一下步骤,写个学习笔记,没再往门上装,就拿上次视频截的图凑合凑合

    Arduino leonardo的电源接口和安卓手机的相同,所以可以直接拿手机充电器供电,舵机和门把间的连接我是实在找不到其他东西了,才拿的纤维胶带,有条件的话,可以用硬质杠杆

    动手能力再强点直接改造门锁也不错

  • 相关阅读:
    CSS基础学习记录——CSS选择器及其特殊性计算
    CSS基础学习记录——CSS中哪些属性可以继承?
    行内框和行框的概念,line-height和vertical-align的关系理解
    【转】DOM中NodeList、HTMLCollection、NamedNodeMap三个动态集合的理解
    property参数讲解
    CocoaPods安装方法
    ios UITextField 以及键盘显示总结
    Xcode11 在Xib中进行UIScrollView布局
    锁问题总结-同一个线程两次获取同一把锁
    【转载】ARM MMU详解
  • 原文地址:https://www.cnblogs.com/leixiao-/p/9910990.html
Copyright © 2020-2023  润新知