arduino密码锁代码
#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密码锁代码相关推荐
- Arduino音乐代码《卡农》(简易版)
最近看了电视剧<开端>,我按照音乐简谱编写<卡农>的Arduino音乐代码,仅录了最精彩的部分.我是新手,请多多关照! 我把音乐代码放在了循环函数中,<卡农>会一直 ...
- C语言arduino密码锁实验报告,简易密码锁的制作-Arduino中文社区 - Powered by Discuz!...
本帖最后由 chemistry 于 2018-11-8 16:57 编辑 一款简易密码锁一.功能: 将密码显示在lcd屏上,正常状态下电磁锁处于锁定状态,当输入密码与原设定密码一致时,打开电磁锁.同时 ...
- arduino运行java_调试在Arduino MKR1000上运行的Arduino Uno代码
所以,我是Arduino的业余程序员,之前从未使用过Arduino MKR1000 . 我使用了Arduino Uno并使用Grove Ear夹心跳传感器和Grove温度传感器编写附加代码来检测心跳和 ...
- arduino舵机代码_Arduino如何同时使用多个串口
问题 如果想要给Arduino UNO R3同时接上WiFi模块和蓝牙模块时,但是Arduino的串口只有一个,怎样才能让Arduino同时使用多个串口呢? 解决方案 其实Arduino官方提供了一个 ...
- TM1638 LED数码显示模块ARDUINO驱动代码
最近买了块LED数码管显示模块,板上焊接8个数码管,8个独立LED灯,8个独立按键.TM1638驱动芯片,五芯信号接口,5V供电.如下图: 电路图如下: 商家提供的演示代码显示混乱,代 ...
- 51单片机“密码锁”代码详解
注:此代码一经过验证,读者不必怀疑其正确性,如果烧录进去没有反应,请自行检查引脚端口配置,以及仔细分析代码实现原理.倘若能静下心来分析代码,一定能受益匪浅. 废话不多说,,直接上代码.如有问题,请下方 ...
- 单片机课程设计:四位密码锁代码
定义包 #include<reg52.h>/************************************************************************ ...
- Arduino 音乐代码
<葫芦娃> //对应音符和频率值#define NOTE_D0 -1#define NOTE_D1 294#define NOTE_D2 330#define NOTE_D3 350#de ...
- arduino温度报警器代码
int buzzer=7; //设置控制蜂鸣器的数字IO脚void setup() {Serial.begin(9600);pinMode(buzzer,OUTPUT);//设置数字IO脚模式,OUT ...
最新文章
- mysql 怎么查询结果补0_mysql查询连续时间数据——无数据补0
- Hadoop学习笔记—4.初识MapReduce
- python编程入门与实践_Python编程入门到实践(二)
- jvm_虚拟机参数讲解(三)
- (数据库系统概论|王珊)第九章关系查询处理和关系优化-第一节:查询处理
- Kotlin — 协程简介与使用
- 吴恩达教授机器学习课程笔记【七】- Part 7 最优模型选择
- sql select 0 字段 某字段是不在指定的表
- java2实用教程第五版耿祥义电子版_java2实用教程第五版
- NLPIR python测试
- 今日头条抖音小程序开发文档
- Java调用外部api接口请求数据(阿里云ISBN查询图书信息为例)
- linux路由器还原,openwrt路由器恢复出厂设置的方法
- UVa10158 War
- 说说你对AQS的理解?
- 微信小程序官方bug
- 批量修改操作成功,但是Oracle返回的结果为-1
- 创业时代的七堂必修课
- [刷题]2017百度之星资格赛 - 度度熊与邪恶大魔王
- 感知机算法(一)---原理