- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
单片机原理及应用技术学校名称:平顶山工业职业技术学院主讲人:高同辉项目八智能指纹锁设计任务4指纹锁设计技能点编程实现指纹锁
授课内容任务描述一任务布置二任务实施三
一、任务描述传统的门锁已经不能满足现代社会的要求,智能门锁应运而生,智能门锁具有密码、指纹、智能感应、刷卡等方式开锁。从而少掉一串沉重又怕弄丢的钥匙了。
二、任务布置利用ArduinoUNO开发板、ArduinoIDE开发环境、指纹传感器模块、LCD显示屏、继电器模块、门锁、7至12V电源制作一个智能门锁。只有当用户扫描的指纹与系统上记录的指纹匹配时,该门锁才会打开,如果输入的指纹错误时,门仍将保持关闭状态。材料清单:继电器Arduino开发板1.选择合适器件搭建硬件电路2.编写软件程序实现LCD显示屏指纹传感器电磁锁
三、任务实施1.硬件电路接线
三、任务实施2.软件程序编写#includeAdafruit_Fingerprint.h//指纹库函数#includeLiquidCrystal_I2C.h//液晶屏幕库#includeSPI.h#includeSoftwareSerial.h//软件模拟串口库SoftwareSerialmySerial(2,3);//创建实例LiquidCrystal_I2Clcd(0x27,16,2);Adafruit_Fingerprintfinger=Adafruit_Fingerprint(mySerial);intrelayPin=9;//继电器所接引脚
三、任务实施2.软件程序编写voidloop(){getFingerprintIDez();delay(50);//不需要全速运行}//如果失败返回-1,否则返回ID号intgetFingerprintIDez(){uint8_tp=finger.getImage();if(p!=FINGERPRINT_OK){lcd.setCursor(0,0);lcd.print(WaitingFor);lcd.setCursor(0,1);lcd.print(ValidFinger);return-1;}p=finger.image2Tz();if(p!=FINGERPRINT_OK){lcd.clear();lcd.setCursor(0,0);lcd.print(MessyImage);lcd.setCursor(0,1);lcd.print(TryAgain);delay(3000);lcd.clear();return-1;}p=finger.fingerFastSearch();if(p!=FINGERPRINT_OK){lcd.clear();lcd.setCursor(0,0);lcd.print(NotValidFinger);delay(3000);lcd.clear();return-1;}
三、任务实施2.软件程序编写voidsetup(){pinMode(relayPin,OUTPUT);digitalWrite(relayPin,LOW);Serial.begin(9600);while(!Serial);delay(100);lcd.begin();lcd.setCursor(0,0);lcd.print(FingerprintDoor);lcd.setCursor(0,1);lcd.print(lockbyMakerPro);delay(3000);lcd.clear();finger.begin(57600);//设置指纹传感器工作的波特率//检查指纹传感器是否正在与Arduino通信。if(finger.verifyPassword()){lcd.setCursor(0,0);lcd.print(FingerPrint);lcd.setCursor(0,1);lcd.print(SensorConnected);}else{lcd.setCursor(0,0);lcd.print(Unabletofound);lcd.setCursor(0,1);lcd.print(Sensor);delay(3000);
文档评论(0)