DIY Arduino-Fingerprint Garage dörröppnare (4 / 11 steg)
Steg 4: kod
/***************************************************
Utformats speciellt för att arbeta med Adafruit BMP085 utbrytning
---> http://www.adafruit.com/products/751
Dessa visar använda TTL följetong för att kommunicera, är 2 stift skyldiga att
Interface
Adafruit investerar tid och resurser att tillhandahålla detta öppen källkod,
Vänligen stödja Adafruit och öppen hårdvara genom att köpa
produkter från Adafruit!
Skrivet av Limor stekt/Ladyada för Adafruit industrier.
BSD-licensen, alla texten ovan måste inkluderas i en omfördelning
-Koden ändras och projekt byggt av Carrigan Luneke
****************************************************/
#include
#include
int getFingerprintIDez();
PIN-kod #2 är IN från sensorn (grön kabel)
PIN #3 är ute från arduino (vit kabel)
SoftwareSerial mySerial (2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint (& mySerial);
void setup()
{
Serial.BEGIN(9600);
Serial.println("Fingertest");
pinMode (11, OUTPUT); Röd LED
pinMode (12, OUTPUT); Grön LED
pinMode (9, OUTPUT); Garage Bridge
ställa in datahastigheten för sensor seriell port
finger.BEGIN(57600);
om (finger.verifyPassword()) {
Serial.println ("Funna fingeravtrycksläsare!");
} annat {
Serial.println ("hittade inte fingerprint sensor:(");
samtidigt (1).
}
Serial.println ("väntar giltig finger...");
}
void loop() / / kör om och om igen
{
getFingerprintIDez();
digitalWrite (11, hög). Röda lysdioden på
digitalWrite 12, låg. Grön LED av
digitalWrite (9, låg). Garage öppnare inte aktiv
}
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
Växla (p) {
fall FINGERPRINT_OK:
Serial.println ("bild tagen");
bryta;
fall FINGERPRINT_NOFINGER:
Serial.println ("inget finger upptäckt");
returnera p;
fall FINGERPRINT_PACKETRECIEVEERR:
Serial.println ("kommunikationsfel");
returnera p;
fall FINGERPRINT_IMAGEFAIL:
Serial.println ("Imaging fel");
returnera p;
standard:
Serial.println ("okänt fel");
returnera p;
}
OK framgång!
p = finger.image2Tz();
Växla (p) {
fall FINGERPRINT_OK:
Serial.println ("bild konverteras");
bryta;
fall FINGERPRINT_IMAGEMESS:
Serial.println ("bild för rörigt");
returnera p;
fall FINGERPRINT_PACKETRECIEVEERR:
Serial.println ("kommunikationsfel");
returnera p;
fall FINGERPRINT_FEATUREFAIL:
Serial.println kunde ("inte hitta fingeravtryck funktioner");
returnera p;
fall FINGERPRINT_INVALIDIMAGE:
Serial.println kunde ("inte hitta fingeravtryck funktioner");
returnera p;
standard:
Serial.println ("okänt fel");
returnera p;
}
OK konverteras!
p = finger.fingerFastSearch();
om (p == FINGERPRINT_OK) {
Serial.println ("hittades en utskrift match!");
} else om (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println ("kommunikationsfel");
returnera p;
} else om (p == FINGERPRINT_NOTFOUND) {
Serial.println hittade ("inte en match");
returnera p;
} annat {
Serial.println ("okänt fel");
returnera p;
}
hittade en match!
Serial.Print ("hittade ID #"); Serial.Print(finger.fingerID);
Serial.Print ("med förtroende"); Serial.println(finger.Confidence);
}
Returnerar -1 om misslyckades, annars returnerar ID #
int getFingerprintIDez() {
uint8_t p = finger.getImage();
om (p! = FINGERPRINT_OK) återvända -1;
p = finger.image2Tz();
om (p! = FINGERPRINT_OK) återvända -1;
p = finger.fingerFastSearch();
om (p! = FINGERPRINT_OK) återvända -1;
hittade en match!
digitalWrite (11, låg). Röd LED av
digitalWrite 12, hög. Grön lysdiod på
digitalWrite (9, hög). Garage öppnare aktiv
Delay(1000); Applyes 15v till i en sekund kan vara olika för varje öppnare
Serial.Print ("hittade ID #"); Serial.Print(finger.fingerID);
Serial.Print ("med förtroende"); Serial.println(finger.Confidence);
återvända finger.fingerID;
}