电子密码锁仿真系统

1 篇文章 0 订阅
1 篇文章 0 订阅

目录

Question

通过键盘输入密码,LCD 上显示输入密码,Arduino UNO(Atmega328P)
判断密码是否正确。如果密码正确,LCD 上显示开锁成功,绿灯亮,连接继电
器的黄灯亮。如果密码错误,LCD 上显示开锁失败,红灯亮,连接继电器的黄
灯灭。

软件安装

  1. Proteus 8 professional仿真软件
    链接:https://pan.baidu.com/s/1_Ukq7oCbwa9mcaw-DQpCNw?pwd=dui5
    提取码:dui5
  2. Arduino IDE
    链接:https://pan.baidu.com/s/1znMlDU614QBs7uuEH-SO3g?pwd=facb
    提取码:facb

具体步骤

1. 在Proteus中添加arduino元件:

链接:https://pan.baidu.com/s/14nQTUWOH-0cNKUREGsoLKQ?pwd=dx8a
提取码:dx8a
压缩包内的文件:
在这里插入图片描述
将文件夹中的问价拷贝到Proteus 8 Professional的LIBRARY的目录下
在这里插入图片描述
重新启动Proteus即可。

2. 下载Arduino扩展库keypad:

点击“工具”—>“管理库”:
在这里插入图片描述

搜索keypad进行安装即可:
在这里插入图片描述

上述安装无效的话:
下载keypad插件
链接:https://pan.baidu.com/s/1CvlvASdm8YYd66uIVFh5kg?pwd=9iqq
提取码:9iqq
点击“项目”—>“加载库—>“添加.ZIP库”,找到刚刚下载的ZIP文件,重启即可。

3. Arduino编程

#include <LiquidCrystal.h> 
#include <Keypad.h>
LiquidCrystal lcd(9, 8, 7, 6, 5, 4);
const byte rows = 4;
const byte cols = 4;
char keys[rows][cols] = {
{'7', '8', '9', '/'},
{'4', '5', '6', '*'},
{'1', '2', '3', '-'},
{' ', '0', '=', '+'} };
byte rowPins[rows] = {3, 2, A5, A4};
byte colPins[cols] = {A3, A2, A1, A0}; 
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, rows, cols);
String inputKey = "";
String pwd = "0000"; // 学号后四位
void setup() {
pinMode(11, OUTPUT); 
pinMode(10, OUTPUT); 
pinMode(12, OUTPUT); 
lcd.begin(16, 2);
lcd.println("PASSWORD"); 
Serial.begin(9600);}
void loop() {
char key = keypad.getKey(); 
if (!key){
  return;}
if (key != NO_KEY) {
    lcd.print(key);}
lcd.clear(); 
lcd.print("PASSWORD");
if (key == ' '){ 
  inputKey = ""; 
  return;}
inputKey += key; 
lcd.setCursor(0, 1); 
lcd.print(String(inputKey)); 
if (inputKey.length() == 4){
  inputKey.trim();
  if (inputKey == pwd){
  	delay(1000);
	lcd.setCursor(0, 1); 
	lcd.print("OPEN"); 
	digitalWrite(11, LOW); 
	digitalWrite(10, HIGH); 
	digitalWrite(12, HIGH);}
  else {
  	delay(900); 
	lcd.setCursor(0,1); 
	lcd.print("INVALID");
	digitalWrite(11, HIGH); 
	digitalWrite(10, LOW); 
	digitalWrite(12, LOW);}
  inputKey = "";}}

4. 导出.HEX文件

点击“项目”—>“导出已编译的二进制文件”:
在这里插入图片描述

5. Proteus仿真

打开附件给的项目文件:
在这里插入图片描述

双击左上角芯片,修改“Program File”的文件,改为刚刚Arduino导出的.hex文件
在这里插入图片描述

点击左下角仿真按钮,在右下角的键盘上输入学号后四位,显示屏出现“OPEN”
在这里插入图片描述

(PS:本人纯纯的照葫芦画瓢,欢迎大佬指正!)

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值