1 加湿器
![](https://img.haomeiwen.com/i14018162/559fd876fa4285b2.png)
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
int fingerprintID = 0;
int state = 0;
void setup() {
// 初始化指纹程序
finger.begin(57600);
if (finger.verifyPassword()) {
//如果有指纹显示找到指纹 如果没有则显示找不到指纹
Serial.println("Found fingerprint sensor!");
}
else {
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
}
void loop() {
// 如果发现指纹则将之前的状态置反
if(fingerprintID == 1){
delay(100);
digitalWrite(7,state);
state = !state;
}
}
2 显示器
![](https://img.haomeiwen.com/i14018162/e6b6b7cd2446e208.png)
- 安装0.96英寸OLED库
- 安装Adafruit_GFX库
https://github.com/adafruit/Adafruit-GFX-Library
*安装adafruit_SSD1306库
https://github.com/adafruit/Adafruit_SSD1306/archive/master.zip
代码:
//首先导入所需的库以写入OLED显示屏,然后创建一个名为display的Adafruit_SSD1306对象。
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
//我们还需要导入指纹传感器所需的库:Adafruit_Fingerprint.h和SoftwareSerial.h。
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);//设置引脚2和3上的串行接口。引脚2为RX,引脚3为TX。
//设置的串行引脚上创建一个名为finger的Adafruit_Fingerprint对象。
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
//创建变量来保存指纹ID和IDname。
int fingerprintID = 0;
String IDname;
在setup()中,指纹传感器和OLED显示器都被初始化。我们还在串口监视器上打印一条消息,以便我们知道指纹传感器是否成功找到。
void setup(){
//Fingerprint sensor module setup
Serial.begin(9600);
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
}
else {
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
//OLED display setup
Wire.begin();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
//displays main screen
displayMainScreen();
}
//在loop()中,代码在OLED显示屏上显示主屏幕 - 这是在displayMainScreen()函数中完成的。然后,代码不断检查传入的指纹。如果传感器找到保存的指纹,则Arduino将相应的ID保存在fingerprintID变量中。
void loop(){
if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){
IDname = "Sara";//代码有一个if / else语句来检查指纹所对应的ID。您应该使用相应的ID和名称编辑以下代码行。
displayUserGreeting(IDname);
}
else if(fingerprintID == 2){
IDname = "tom";
}
![](https://img.haomeiwen.com/i14018162/40da09c25d3d051f.png)
网友评论