基于wemos d1 按键开锁

今天在arduino平台做了一个按键开锁,真正代码也就几行。在这里也总结一下

一、用到的硬件主要是四个:

1.wemos d1的板子
在这里插入图片描述
2.继电器
在这里插入图片描述
3.单键触摸传感器
在这里插入图片描述
在这里插入图片描述
4.锁
在这里插入图片描述

二、开发环境

开发环境就是arduino,这里就不多说了。

三、接线

在这里插入图片描述

四、通过串口观察按键和不按键的区别。

#define ZHIWEN D2 //定义按键引脚
#define RELAY  D8 //定义继电器引脚
int data; //定义data接收数据
void setup() {
    
    
  Serial.begin(115200); //设置波特率
  pinMode(ZHIWEN,INPUT);//设置按键模块为输入引脚
  pinMode(RELAY,OUTPUT);//设置继电器为输出引脚
  digitalWrite(RELAY,HIGH); //初始化引脚为高电平(关闭继电器)
}

void loop() {
    
    
  data = analogRead(ZHIWEN); //读取数据
  Serial.println(data); //在 串口打印出读取到的数据
        
  }
   
     

现象

1.当没有按键时串口的状态

在这里插入图片描述

2.按下键的时候串口的数据
在这里插入图片描述

五、总结结论和编程按键开锁

首先我们发现我们不按键的时候,打印的值为0,当我们按键的时候的值为1023.那么我们可以通过这个来控制我们按键开锁 不按键的关闭。

以下就是代码

#define ZHIWEN D2
#define RELAY  D8
int data;
void setup() {
    
    
  Serial.begin(115200); //设置波特率
  pinMode(ZHIWEN,INPUT);//设置按键模块为输入引脚
  pinMode(RELAY,OUTPUT);//设置继电器为输出引脚
  digitalWrite(RELAY,HIGH); //初始化引脚为高电平(关闭继电器)
}

void loop() {
    
    
  data = analogRead(ZHIWEN); //读取按键状态数据
  switch(data)
  {
    
    
      case 0:
        Serial.println("close");
        digitalWrite(RELAY,HIGH); //关闭继电器(关锁) 
        break;
      case 1023:
       Serial.println("open");
       digitalWrite(RELAY,LOW); //打开继电器(开锁)
       delay(1000); //开锁后延时1秒
       break;
        
  }
   

以上是今天玩的了一个小玩意,有时候做点简单的小玩意可以增加信心,增加乐趣,成就感。展望就是以后玩更厉害的模块 ,技术也不断的提高,想做智能家居等等

猜你喜欢

转载自blog.csdn.net/weixin_47457689/article/details/109774466
今日推荐