Etape 11 : Alarme (pas encore testé)
chaque fois que la tension descend sous 4v ou "618" (si quelqu'un coupe les fils allant à ouvre-porte de garage) se fait entendre le buzzer piezo
PIÈCES
buzzer piezo 5V
http://www.RadioShack.com/90dB-piezo-Pulse/2730066.html#.VUJq3MvwuP8
régulateur de tension fixe 5V
http://www.RadioShack.com/-5V-Fixed-Voltage-Regulator-7805/2761770.html#.VUJrGcvwuP8
CODE
/***************************************************
Il s’agit d’un croquis de l’exemple de notre capteur optique d’empreinte digitale
Conçu spécialement pour fonctionner avec l’évasion de BMP085 Adafruit
---> http://www.adafruit.com/products/751
Ces écrans utilisent série TTL pour communiquer, les 2 goupilles sont tenus de
interface
Adafruit investit temps et ressources fournissant ce code source ouvert,
Merci de soutenir Adafruit et open source hardware en achetant
produits de Adafruit !
Écrit par Limor Fried/Ladyada Adafruit industries.
La licence BSD, tout le texte qui précède doit être incluse dans toute redistribution
Code modifié et projet construit par Carrigan Luneke
****************************************************/
#include
#include
int getFingerprintIDez() ;
Ces constantes ne changeront pas :
const int analogPin = A0 ; broches que le capteur est attaché à
const int piezoPin = 8 ; broche le piezo relié à
const int seuil = 618 ; tension de seuil de régulateur 5v
broche #2 est Indiana du capteur (fil vert)
broche #3 est sorti de l’arduino (fil blanc)
SoftwareSerial mySerial (2, 3) ;
Adafruit_Fingerprint doigt = Adafruit_Fingerprint (& mySerial) ;
void setup()
{
Serial.Begin(9600) ;
Serial.println("fingertest") ;
pinMode (sortie 11) ; LED rouge
pinMode (sortie 12,) ; LED verte
pinMode (sortie 10,) ; Garage pont
pinMode (piezoPin, sortie) ;
définir le débit de données pour le capteur de port série
Finger.Begin(57600) ;
Si (finger.verifyPassword()) {}
Serial.println ("Found capteur d’empreintes digitales!") ;
} else {}
Serial.println ("n’a pas trouvé d’empreintes digitales capteur:(") ;
while (1) ;
}
Serial.println ("Waiting for doigt valide...") ;
}
void loop() / / run maintes et maintes fois
{
getFingerprintIDez() ;
digitalWrite (11, haute) ; LED rouge allumée
digitalWrite (12, faible) ; LED verte éteinte
digitalWrite (10, faible) ; Ouvre-porte de garage non actif
lire la valeur du régulateur 5v :
int analogValue = analogRead(analogPin) ;
Si la valeur analogique est assez élevée, allumez le piezo :
Si (analogValue < seuil) {}
digitalWrite (piezoPin, HIGH) ;
}
else {}
digitalWrite(piezoPin,LOW) ;
}
imprimer la valeur analogique :
Serial.println(analogValue) ;
Delay(1) ; délai entre les lectures de stabilité
}
uint8_t getFingerprintID() {}
uint8_t p = finger.getImage() ;
Switch (p) {}
affaire FINGERPRINT_OK :
Serial.println ("l’Image prise") ;
rupture ;
affaire FINGERPRINT_NOFINGER :
Serial.println ("aucun doigt détecté") ;
retour p ;
affaire FINGERPRINT_PACKETRECIEVEERR :
Serial.println ("erreur de Communication") ;
retour p ;
affaire FINGERPRINT_IMAGEFAIL :
Serial.println (« erreur Imaging ») ;
retour p ;
par défaut :
Serial.println ("erreur inconnue") ;
retour p ;
}
Succès OK !
p = finger.image2Tz() ;
Switch (p) {}
affaire FINGERPRINT_OK :
Serial.println ("l’Image convertie") ;
rupture ;
affaire FINGERPRINT_IMAGEMESS :
Serial.println ("Image trop salissant") ;
retour p ;
affaire FINGERPRINT_PACKETRECIEVEERR :
Serial.println ("erreur de Communication") ;
retour p ;
affaire FINGERPRINT_FEATUREFAIL :
Serial.println ("Impossible de trouver le caractéristiques de l’empreinte digitale ») ;
retour p ;
affaire FINGERPRINT_INVALIDIMAGE :
Serial.println ("Impossible de trouver le caractéristiques de l’empreinte digitale ») ;
retour p ;
par défaut :
Serial.println ("erreur inconnue") ;
retour p ;
}
OK converti !
p = finger.fingerFastSearch() ;
Si (p == FINGERPRINT_OK) {}
Serial.println ("trouvé un match impression!") ;
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {}
Serial.println ("erreur de Communication") ;
retour p ;
} else if (p == FINGERPRINT_NOTFOUND) {}
Serial.println ("n’a pas trouvé un match") ;
retour p ;
} else {}
Serial.println ("erreur inconnue") ;
retour p ;
}
trouvé un match !
Serial.Print ("trouvé ID #") ; Serial.Print(Finger.fingerID) ;
Serial.Print (« avec la confiance de") ; Serial.println(Finger.Confidence) ;
}
Retourne -1 si a échoué, autrement elle retourne ID #
int getFingerprintIDez() {}
uint8_t p = finger.getImage() ;
Si (p! = FINGERPRINT_OK) return -1 ;
p = finger.image2Tz() ;
Si (p! = FINGERPRINT_OK) return -1 ;
p = finger.fingerFastSearch() ;
Si (p! = FINGERPRINT_OK) return -1 ;
trouvé un match !
digitalWrite (11, faible) ; LED rouge éteinte
digitalWrite (12, HIGH) ; LED verte ON
digitalWrite (10, haute) ; Actif ouvre-porte de garage
Delay(1000) ; S’applique à 0v pour un deuxième, peut être différent pour chaque ouvre-porte
Serial.Print ("trouvé ID #") ; Serial.Print(Finger.fingerID) ;
Serial.Print (« avec la confiance de") ; Serial.println(Finger.Confidence) ;
Return finger.fingerID ;
}