#include<Keypad.h>
#include<LiquidCrystal.h>/*设置自己的四位学号密码*/
char n0 = '0';
char n1 = '0';
char n2 = '4';
char n3 = '8';/*使用Keypad库映射按键和引脚*/
const byte rows = 4; //4行
const byte cols = 4; //4列char keys[rows][cols] = {{'7', '8', '9', '/'},{'4', '5', '6', '×'},{'1', '2', '3', '-'},{'C', '0', '=', '+'}
};byte rowPins[rows] = {3, 2, 19, 18};
byte colPins[cols] = {17, 16, 15, 14};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, rows, cols);/*使用LCD库*/
LiquidCrystal lcd(9, 8, 7, 6, 5, 4);/*四个变量用于存储键盘输入的值*/
char n1_i = '0';
char n2_i = '0';
char n3_i = '0';
char n4_i = '0';char keys_in[4] = {'0', '0', '0', '0'};
int X = 0; //指示符控制灯亮,0代表不正确(初始值),1代表正确
int seqnum = 0; //建立一个指示位void setup() {/*控制红绿指示灯,红绿指示灯I/O输出低电平时灯亮*/pinMode(10, OUTPUT);digitalWrite(10, HIGH); //控制红灯的I/O10为高电平不亮pinMode(11, OUTPUT);digitalWrite(11, HIGH); //控制绿灯的I/O11为高电平不亮/*控制继电器的灯,高电平灯亮*/pinMode(12, OUTPUT);digitalWrite(12, LOW);/*设置LCD*/lcd.begin(16, 2);lcd.setCursor(0, 0); //将光标放在第0列,第0行lcd.print("0048"); //LCD第一行显示PASSWORD
}void loop() {char key = keypad.getKey();if (key){if (seqnum == 4){digitalWrite(10, HIGH);digitalWrite(11, HIGH);digitalWrite(12, LOW);lcd.clear();lcd.setCursor(0, 0); //将光标放在第0列,第0行lcd.print("0048"); //LCD第一行显示PASSWORDseqnum = 0;}if ((key == 'C') || (key == '/') || (key == '+') || (key == '-') || (key == '×') || (key == '=')) //按其他键清空输入内容{seqnum = 0;X = 0;digitalWrite(10, HIGH);digitalWrite(11, HIGH);digitalWrite(12, LOW);lcd.clear();lcd.setCursor(0, 0); //将光标放在第0列,第0行lcd.print("0048"); //LCD第一行显示PASSWORD}else //数字按键{keys_in[seqnum] = key;lcd.setCursor(seqnum, 1);lcd.print(key);seqnum ++;}}if (seqnum == 4){if (keys_in[0] == n0 && keys_in[1] == n1 && keys_in[2] == n2 && keys_in[3] == n3) //四位密码正确{digitalWrite(10, HIGH);digitalWrite(11, LOW); //绿灯低电平亮digitalWrite(12, HIGH); //黄灯高电平亮lcd.setCursor(5, 1);lcd.print("OPEN");}else{digitalWrite(10, LOW);digitalWrite(11, HIGH);digitalWrite(12, LOW);lcd.setCursor(5, 1);lcd.print("INVALID");}}
}

arduino密码锁代码相关推荐

  1. Arduino音乐代码《卡农》(简易版)

    最近看了电视剧<开端>,我按照音乐简谱编写<卡农>的Arduino音乐代码,仅录了最精彩的部分.我是新手,请多多关照! 我把音乐代码放在了循环函数中,<卡农>会一直 ...

  2. C语言arduino密码锁实验报告,简易密码锁的制作-Arduino中文社区 - Powered by Discuz!...

    本帖最后由 chemistry 于 2018-11-8 16:57 编辑 一款简易密码锁一.功能: 将密码显示在lcd屏上,正常状态下电磁锁处于锁定状态,当输入密码与原设定密码一致时,打开电磁锁.同时 ...

  3. arduino运行java_调试在Arduino MKR1000上运行的Arduino Uno代码

    所以,我是Arduino的业余程序员,之前从未使用过Arduino MKR1000 . 我使用了Arduino Uno并使用Grove Ear夹心跳传感器和Grove温度传感器编写附加代码来检测心跳和 ...

  4. arduino舵机代码_Arduino如何同时使用多个串口

    问题 如果想要给Arduino UNO R3同时接上WiFi模块和蓝牙模块时,但是Arduino的串口只有一个,怎样才能让Arduino同时使用多个串口呢? 解决方案 其实Arduino官方提供了一个 ...

  5. TM1638 LED数码显示模块ARDUINO驱动代码

    最近买了块LED数码管显示模块,板上焊接8个数码管,8个独立LED灯,8个独立按键.TM1638驱动芯片,五芯信号接口,5V供电.如下图:         电路图如下: 商家提供的演示代码显示混乱,代 ...

  6. 51单片机“密码锁”代码详解

    注:此代码一经过验证,读者不必怀疑其正确性,如果烧录进去没有反应,请自行检查引脚端口配置,以及仔细分析代码实现原理.倘若能静下心来分析代码,一定能受益匪浅. 废话不多说,,直接上代码.如有问题,请下方 ...

  7. 单片机课程设计:四位密码锁代码

    定义包 #include<reg52.h>/************************************************************************ ...

  8. Arduino 音乐代码

    <葫芦娃> //对应音符和频率值#define NOTE_D0 -1#define NOTE_D1 294#define NOTE_D2 330#define NOTE_D3 350#de ...

  9. arduino温度报警器代码

    int buzzer=7; //设置控制蜂鸣器的数字IO脚void setup() {Serial.begin(9600);pinMode(buzzer,OUTPUT);//设置数字IO脚模式,OUT ...

最新文章

  1. mysql 怎么查询结果补0_mysql查询连续时间数据——无数据补0
  2. Hadoop学习笔记—4.初识MapReduce
  3. python编程入门与实践_Python编程入门到实践(二)
  4. jvm_虚拟机参数讲解(三)
  5. (数据库系统概论|王珊)第九章关系查询处理和关系优化-第一节:查询处理
  6. Kotlin — 协程简介与使用
  7. 吴恩达教授机器学习课程笔记【七】- Part 7 最优模型选择
  8. sql select 0 字段 某字段是不在指定的表
  9. java2实用教程第五版耿祥义电子版_java2实用教程第五版
  10. NLPIR python测试
  11. 今日头条抖音小程序开发文档
  12. Java调用外部api接口请求数据(阿里云ISBN查询图书信息为例)
  13. linux路由器还原,openwrt路由器恢复出厂设置的方法
  14. UVa10158 War
  15. 说说你对AQS的理解?
  16. 微信小程序官方bug
  17. 批量修改操作成功,但是Oracle返回的结果为-1
  18. 创业时代的七堂必修课
  19. [刷题]2017百度之星资格赛 - 度度熊与邪恶大魔王
  20. 感知机算法(一)---原理

热门文章

  1. Android层面上对sensor及event事件的处理
  2. Oracle实现竖表转横表的几种常用方法(行转列)
  3. 3dsmax uvw展开
  4. 秦刚推荐:做流量的本质就是做用户
  5. 关于 OneNote 无法打开笔记本 无法打开该位置 没有该位置权限:
  6. pg数据库百分比处理
  7. html阅读封面代码,HTML5/SVG 书本封面设计
  8. 云虎拜年,好运连连!虎年限定三件套来啦
  9. 名帖311 成亲王 行书《杜甫秋兴诗》
  10. 第一章第十二题(以千米计的平均速度)(Average speed in kilometers)