Arduino的密码锁

1、基本要求

(1)按照题目要求独立完成Arduino程序设计

(2)能够通过键盘输入密码,并通过串口监视器打印要求的内容

(3)能通过8*8点阵显示密码测试结果

(4)用LED灯指示锁的开关状态,连续三次输入错误

(5)连续三次输入错误,LED灯闪烁

(6)密码保存在数组或文件中

2、发挥部分

(1)、通过按键控制开关锁

(2)、三次密码输入错误通过蜂鸣器报警

(3)、将密码写入文件保存,能对密码进行读写操作,有密码修改功能。

 

3、代码如下:只含蜂鸣器部分

#include"LedControl.h"

LedControl lc=LedControl(11,9,10,1);

byte d[8]{

B10000001,

B01000010,

B00100100,

B00011000,

B00011000,

B00011000,

B00011000,

B00011000,

};

byte a[8]{

B10000001,

B11000001,

B10100001,

B10010001,

B10001001,

B10000101,

B10000011,

B10000001,

};

String rkey="wq01";     

String key;

int led=8;

int l=0;

void setup() {

  // put your setup code here, to run once:

  digitalWrite(led,LOW);

  SerialUSB.begin(9600);

  pinMode(led,OUTPUT);

  lc.shutdown(0,false);

  lc.setIntensity(0,3);

  lc.clearDisplay(0);

  while(SerialUSB.read()>=0)   

  {}

}

 

void loop() {

  // put your main code here, to run repeatedly: 

  int i,j,k,c;

  if(SerialUSB.available()>0)

  {

    key=SerialUSB.readString();

    if(key.compareTo(rkey)==0)     

    {

      SerialUSB.println("This is right");

      digitalWrite(led,HIGH); 

      delay(2500);

      for (j=0;j<8;j++)            

        lc.setRow(0,j,d[j]);

    }

    else 

    {

      SerialUSB.println("This is false");

      digitalWrite(led,HIGH); 

      delay(500);

      digitalWrite(led,LOW);

      delay(500);

      l++;

    }   

    if(l==3) 

    {

      for (k=0;k<8;k++)           

        lc.setRow(0,k,a[k]);

      do{

        digitalWrite(led,HIGH);

        delay(500);

        digitalWrite(led,LOW);

        delay(500);

      }while(1);

    }

  }

  delay(1000);

  digitalWrite(led,LOW);

  lc.clearDisplay(0);

}

  • 24
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
引用\[1\]中的代码是一个Arduino密码锁的头文件,其中定义了密码锁的一些功能和库文件的引用。引用\[2\]中提到了继电器的连接方式,以及使用的库文件。引用\[3\]中给出了一个简单的示范程序,用于读取密码锁的按键输入。 根据引用的代码和信息,可以得出以下关于Arduino密码锁的一些信息: - 密码锁的密码长度被限制为15位。 - 使用了Keypad、Wire、LiquidCrystal_I2C和SoftwareSerial等库文件。 - 提供了初始密码、密码比较、密码更改、失效函数、串口接收和数据处理等功能。 - 可以将密码写入和读取EEPROM。 综上所述,Arduino密码锁是一个通过按键输入密码进行验证的设备,可以通过串口进行交互,并提供了密码的更改和存储功能。 #### 引用[.reference_title] - *1* *2* [Arduino密码电子锁,可远程,可断电保存(蓝牙)HC05+LCD1602+IIC](https://blog.csdn.net/asd2387/article/details/120661189)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [arduino密码锁](https://blog.csdn.net/weixin_52531699/article/details/125229303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值