Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Aufbau einer Box
- Schritt 2: Verdrahten
- Schritt 3: Herunterladen von Bibliotheken
- Schritt 4: Einrichten des Fingerabdrucksensors und des RFID-Kartensensors
- Schritt 5: DER CODE
- Schritt 6: Fertig
Video: Arduino High-Tech-Safe - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Dies ist mein Arduino High-Tech-Safe. Sie müssen Ihren Finger scannen, Ihre Karte scannen und dann ein 4-stelliges Passwort eingeben, um die Schublade zu entsperren. Dieses Projekt wird für Anfänger nicht empfohlen, da es sehr fortgeschritten ist. Der Code ist lang, aber ich werde ihn in diesem Projekt teilen. Die Kosten betragen etwa 75 US-Dollar, wenn Sie den gleichen Safe bauen wie ich. Dieses Projekt kann auch 1-3 Tage dauern. Also lasst uns anfangen!
Lieferungen
Um den gleichen Tresor wie meinen zu bauen, benötigen Sie:
Arduino (Uno empfohlen, da ich keine Schritte für Arduino Mega oder Nano habe. Aber Sie können sie trotzdem verwenden)
Steckbrett
Servo
Überbrückungsdrähte
Joystick
20*4 (Sie können 16*4 verwenden, müssen jedoch den Code ändern)
Fingerabdruck-Scanner
mfrc522 RFID-Kartenscanner
ein Eimer Lego
Schritt 1: Aufbau einer Box
Zuerst benötigen Sie eine Box, um Ihre Elektronik zu verstauen. Sie könnten Legos, eine 3D-gedruckte Box oder sogar Pappe verwenden! (Obwohl dies schwieriger sein könnte) Vergessen Sie nicht, Löcher für eine Schublade und Ihre Elektronik zu machen. Wenn Sie den RFID-Kartenscanner verwenden, müssen Sie bei dünnen Wänden kein Loch dafür bohren. Die Karten funktionieren noch, aber Sie müssen die Schlüsselbunde schließen, damit der RFID-Kartensenor sie lesen kann. Lassen Sie auch Platz für Ihr Arduino und die Drähte im Inneren. HINWEIS: Wenn Sie die Schublade bauen, lassen Sie ein Loch darin, damit sich Ihr Servo drehen und die Schublade verriegeln kann.
Schritt 2: Verdrahten
Dieser Schritt kann kompliziert sein, da Sie die Drähte genau an der richtigen Stelle anschließen müssen oder die Elektronik nicht funktioniert. Ich habe keinen Schaltplan, aber ich werde Ihnen sagen, dass jeder geht. Die Verkabelung ist nur für Arduino Uno. Sie müssen suchen, wo die Drähte verlegt werden, wenn Sie ein Arduino Mega oder Nano verwenden. Wenn Sie nicht alle Elektrons verwenden, die ich habe, können Sie diese Verkabelung einfach überspringen.
Fingerabdruckscanner: grünes Kabel: D2 weißes Kabel: D3 schwarzes Kabel: GND rotes Kabel: 5V
Joystick: 5V = 3,3V GND = GND X = A2 Y = A3 Schalter = D4
RFID-Kartenscanner: 3.3V = 3.3V rst = D9 GND = GND Miso = D12 mosi = D11 sck = D13 sda = D10
LCD-Bildschirm: 5V = 5V GND = GND sda = A4 sck = A5
Servo: rotes Kabel: 5V braunes Kabel: GND gelbes Kabel: D6
HINWEIS: DEN RFID-KARTENSCANNER NICHT AN 5V ANSCHLIESSEN. WENN SIE ES TUN, WIRD ES ZERBRECHEN!!!
Sie fragen sich vielleicht, warum ich gesagt habe, die Joystick-Stromversorgung an 3,3 V anzuschließen, wenn auf der Seite 5 V angezeigt werden. Das liegt daran, dass Servo, Bildschirm und Fingerabdruckscanner 5 V benötigen. Wenn Sie den Joystick hinzufügen, funktioniert die Elektronik möglicherweise nicht, da alles 5 V benötigt. Der Joystick funktioniert weiterhin mit 3.3V. Es ist nur der Maximalwert nicht 1023, sondern ~670.
Schritt 3: Herunterladen von Bibliotheken
In diesem Projekt benötigen Sie 6 Bibliotheken, um die gesamte Elektronik zu verwenden. 1 für das Servo, 1 für den Fingerabdrucksensor, 2 für den RFID-Kartenscanner und 2 für den Bildschirm. Der Joystick benötigt keine Bibliothek. Was ist nun eine Bibliothek? Es ist im Grunde eine Datei, die viel Code enthält, den Sie mit einfachen Befehlen in Ihrem Projekt verwenden können. Um diese Bibliotheken zu erhalten, müssen Sie zu einem Ort namens GitHub gehen. Wenn Sie wissen, wie man Bibliotheken herunterlädt und entpackt, gehen Sie einfach zu den untenstehenden Links für die Downloads. Wenn Sie nicht wissen, wie, können Sie zu meinem instructable gehen, in dem es darum geht, eine Bibliothek in Schritt 3 herunterzuladen:
oder suchen Sie ein YouTube-Video zum Herunterladen einer Arduino-Bibliothek von GitHub
LINKS ZU LIRARIEN:
Servo
Fingerabdrucksensor:
spi
RFID-Kartensensor
Bildschirmbibliothek 1
Bildschirmbibliothek 2
Schritt 4: Einrichten des Fingerabdrucksensors und des RFID-Kartensensors
In diesem Schritt erfahren Sie, wie Sie den Fingerabdrucksensor und den RFID-Kartensensor einrichten. Sofern Sie Ihren Fingerabdrucksensor nicht bereits verwendet haben, müssen Sie ihm zeigen, wie Ihr Fingerabdruck aussieht, damit er ihn in seinem Speicher speichern kann. Auch wenn Sie es schon einmal verwendet haben, sollten Sie diesen Schritt wahrscheinlich trotzdem tun. Ich werde Ihnen kurz sagen, wie es geht, aber wenn es keinen Sinn macht, gehen Sie im letzten Schritt zum gleichen anweisbaren Link. Es kommt sehr gut darüber hinweg. Einfach nur arduino ide öffnen. Gehen Sie zu Datei > Beispiele > Adafruit-Fingerabdrucksensor > Registrieren. Laden Sie den Code auf Arduino hoch, öffnen Sie den seriellen Monitor und befolgen Sie die Anweisungen. Wenn es Ihnen sagt, dass Sie ihm eine Nummer geben sollen. Geben Sie 1# ein.
Nun für die RFID-Karte ist dieser Schritt ziemlich einfach. Öffnen Sie die Arduino-Ide. Gehen Sie zu Datei > Beispiele > mfrc522 > persönliche Daten lesen. Laden Sie auf Arduino hoch und öffnen Sie den seriellen Monitor. Scannen Sie die mit Ihrem Sensor gelieferte Karte oder den Schlüsselbund, den Sie verwenden möchten. Dann gibt es einige Informationen. Suchen Sie nach der ID der Karte, die aus 4 Sätzen mit 2 Ziffern besteht. Etwa so: AB 45 2Y 45, aber Ihr Code wird anders sein. Schreiben Sie dies auf ein Blatt Papier. Sie werden es später wieder brauchen. Das war's für diesen Schritt.
Schritt 5: DER CODE
Dies wird für die meisten von Ihnen der schwierigste Schritt sein, aber es ist ziemlich einfach. Kopieren Sie zuerst den Code und fügen Sie ihn von unten in die Arduino-Ide ein. Zweitens bearbeiten Sie die 2 Abschnitte, in denen EDIT CODE steht. 1 Abschnitt ist für den Kartenleser, 1 für den Joystick. Diese Schritte können nicht übersprungen werden. Wenn Sie fertig sind, laden Sie den Code auf arduino hoch!
#include #include Fingerabdruck.h>
#enthalten
#enthalten
#enthalten
#enthalten
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIV);
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522 (SS_PIN, RST_PIN);
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
Servo-Servo;
Zeichen d1;
Zeichen d2;
Zeichen d3;
Zeichen d4;
Void-Setup () {
servo.attach(6);
servo.write(170);
lcd.begin(20, 4);
Serial.begin (9600);
while (!Seriell);
SPI.begin();
mfrc522. PCD_Init();
Verzögerung(4);
mfrc522. PCD_DumpVersionToSerial();
Verzögerung (100);
Serial.println("\n\nAdafruit-Fingererkennungstest");
finger.begin(57600);
Verzögerung(5);
if (finger.verifyPassword()) {
Serial.println("Alle Systeme funktionieren,");
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Bitte Finger scannen");
} anders {
Serial.println ("FEHLER: Fingerabdrucksensor nicht gefunden!");
lcd.setCursor(0, 0);
lcd.print("FEHLER: Fingerabdruck");
lcd.setCursor(1, 1);
lcd.print("Sensor nicht gefunden!");
während (1) { Verzögerung (1); }
}
finger.getTemplateCount();
Serial.print ("Sensor enthält"); Serial.print (finger.templateCount); Serial.println ("Vorlagen"); Serial.println("Warten auf gültigen Finger…"); }
void(* resetFunc) (void) = 0;
Leere Schleife () {
getFingerprintIDez();
Verzögerung (50);
}
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
Schalter (p) {
Fall FINGERPRINT_OK:
Serial.println ("Bild aufgenommen");
brechen;
Fall FINGERPRINT_NOFINGER:
Serial.println ("Kein Finger erkannt");
Rückkehr p;
Fall FINGERPRINT_PACKETRECIEVEERR:
Serial.println ("Kommunikationsfehler");
Rückkehr p;
Fall FINGERPRINT_IMAGEFAIL:
Serial.println ("Bildfehler");
Rückkehr p;
Ursprünglich:
Serial.println ("Unbekannter Fehler");
Rückkehr p;
}
p = finger.image2Tz();
Schalter (p) {
Fall FINGERPRINT_OK:
Serial.println ("Bild konvertiert");
brechen;
Fall FINGERPRINT_IMAGEMESS:
Serial.println ("Bild zu unordentlich");
Rückkehr p;
Fall FINGERPRINT_PACKETRECIEVEERR:
Serial.println ("Kommunikationsfehler");
Rückkehr p;
Fall FINGERPRINT_FEATUREFAIL:
Serial.println ("Konnte Fingerabdruckfunktionen nicht finden");
Rückkehr p;
Fall FINGERPRINT_INVALIDIMAGE:
Serial.println ("Konnte Fingerabdruckfunktionen nicht finden");
Rückkehr p;
Ursprünglich:
Serial.println ("Unbekannter Fehler");
Rückkehr p;
}
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
Serial.println ("Eine Druckübereinstimmung gefunden!");
aufrechtzuerhalten. Sonst if (p == FINGERPRINT_PACKETRECIEVEERR) { Serial.println ("Kommunikationsfehler");
Rückkehr p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println ("Keine Übereinstimmung gefunden");
Rückkehr p;
} anders {
Serial.println ("Unbekannter Fehler");
Rückkehr p;
}
Serial.print ("Gefundene ID #"); Serial.print (finger.fingerID);
Serial.print ("mit Vertrauen von "); Serial.println (finger.confidence);
zurück finger.fingerID;
}
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
Serial.print ("Gefundene ID #"); Serial.print (finger.fingerID);
Serial.print ("mit Vertrauen von "); Serial.println (finger.confidence);
if(finger.fingerID == 1){
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Finger akzeptiert,");
lcd.setCursor(2, 0);
lcd.print("Jetzt Karte scannen…");
lcd.setCursor(0, 3);
lcd.print("===================>");
while(! mfrc522. PICC_IsNewCardPresent());
while(! mfrc522. PICC_ReadCardSerial());
if (mfrc522.uid.uidByte[0] == 0x92 && //========================CODE BEARBEITEN======== ==============
mfrc522.uid.uidByte[1] == 0xAB && //Nimm das Stück Papier mit der ID darauf, es waren 4 Sätze mit 2 Ziffern
mfrc522.uid.uidByte[2] == 0x90 && //Schauen Sie sich den Code an, sehen Sie, wo 0x92, 0xAB, 0x90, 0x1c steht? Geben Sie jeden ein
mfrc522.uid.uidByte[3] == 0x1C) { //des 2-stelligen Abschnitts nach dem 0x. Im Abschnitt der ID steht beispielsweise
lcd.clear(); ///3E, dann geben Sie 3E nach 0x ein, um 0x3E zu machen. Tun Sie dies für jeden Abschnitt
lcd.setCursor(3, 0);
lcd.print("Endlich eingeben");
lcd.setCursor(1, 1);
lcd.print("Joystick-Passwort");
while(analogRead(A2) >= 100 &&
analogRead(A2) <= 670 &&
analogRead(A3) >= 100 &&
analogRead(A3) <= 670){
}
lcd.setCursor(8, 4);
lcd.print("*"); if(analogRead(A2) <= 100){
d1 = L;
}
if(analogRead(A2) >= 670){
d1 = R;
}
if(analogRead(A3) <= 100){
d1 = U;
}
if(analogRead(A3) >= 670){
d1 = D;
}
Verzögerung (500);
while(analogRead(A2) >= 100 &&
analogRead(A2) <= 670 &&
analogRead(A3) >= 100 &&
analogRead(A3) <= 670){
}
lcd.print("*");
if(analogRead(A2) <= 100){
d2 = L;
}
if(analogRead(A2) >= 670){
d2 = R;
}
if(analogRead(A3) <= 100){
d2 = U;
}
if(analogRead(A3) >= 670){
d2 = D;
}
Verzögerung (500);
while(analogRead(A2) >= 100 &&
analogRead(A2) <= 670 &&
analogRead(A3) >= 100 &&
analogRead(A3) <= 670){
}
lcd.print("*");
if(analogRead(A2) <= 100){
d3 = L;
}
if(analogRead(A2) >= 670){
d3 = R;
}
if(analogRead(A3) <= 100){
d3 = U;
}
if(analogRead(A3) >= 670){
d3 = D;
}
Verzögerung (500);
while(analogRead(A2) >= 10 &&
analogRead(A2) <= 670 &&
analogRead(A3) >= 100 &&
analogRead(A3) <= 670){
}
lcd.print("*");
if(analogRead(A2) <= 100){
d4 = L;
}
if(analogRead(A2) >= 670){
d4 = R;
}
if(analogRead(A3) <= 100){
d4 = U;
}
if(analogRead(A3) >= 670){
d4 = D;
}
Verzögerung (500);
if(d1 == L && d2 == U && d3 == L && d4 == R){ //=================CODE BEARBEITEN====== ================
lcd.clear(); //In diesem Abschnitt können Sie das Passwort mit dem Joystick bearbeiten
lcd.setCursor(2, 0); //Das Passwort ist auf links, oben links, rechts gesetzt. Wenn du dich ändern willst
lcd.print("Zugriff gewährt!"); // it, setze ein L für links, R für rechts, U für oben oder D für unten in eine der
lcd.setCursor(2, 1); ///4 Abschnitte mit einem Buchstaben nach den ==-Zeichen.
lcd.print("Schublade entsperrt.");
lcd.setCursor(2, 2);
lcd.print("Wenn fertig, verschieben");
lcd.setCursor(1, 3);
lcd.print ("Joystick zum erneuten Sperren");
servo.write(90);
while(analogRead(A2) >= 100 &&
analogRead(A2) <= 670 &&
analogRead(A3) >= 100 &&
analogRead(A3) <= 670);
servo.write(170);
lcd.setCursor(3, 0);
lcd.print("Schublade gesperrt");
Verzögerung (3000);
resetFunc();
}anders{
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Zugriff verweigert!!!");
lcd.setCursor(0, 2);
lcd.print("System neu starten…");
Verzögerung (3000);
resetFunc();
}
}anders{
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Zugriff verweigert!!!");
lcd.setCursor(0, 2);
lcd.print("System neu starten…");
Verzögerung (3000);
resetFunc();
}
}anders{
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Zugriff verweigert!!!");
lcd.setCursor(0, 2);
lcd.print("System neu starten…");
Verzögerung (3000);
resetFunc();
}
zurück finger.fingerID; }
Schritt 6: Fertig
Eine Sache, die ich vergessen habe, Ihnen zu sagen, 2 Dinge sind, dass ich das gebaut habe, bevor ich Bilder gemacht habe, also konnte ich Ihnen nicht zeigen, wie ich die Box gebaut habe. Die andere ist, dass es empfohlen wird, das Servoteil auf das sich drehende Teil zu schrauben. Wenn Sie dies nicht tun, könnte jemand die Schublade ziehen, während sie verriegelt ist, und das Teil herausziehen. Aber bevor Sie es anschrauben, finden Sie die richtige Stelle, an der Sie es aufsetzen, da sich das Servo bis zu einem gewissen Grad dreht. Oder Sie können es einfach im Code ändern. Wenn sich einige der Elektronikteile komisch verhalten, möchten Sie vielleicht einen anderen Weg finden, um für einige von ihnen 5 V zu erhalten. Ich bemerkte, wenn mein Fingerabdruckscanner blinkte, der Bildschirm würde leicht damit blinken und das Servo machte Geräusche. Wenn sich das Servo bewegte, wurde der Bildschirm dunkel. Ich hoffe euch hat das Projekt gefallen! Wenn Sie Fragen haben, hinterlassen Sie diese in den Kommentaren. Ich bin nicht viel auf instructables, aber ich werde sie so schnell wie möglich beantworten!
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
Ein High-School-Stück aufzeichnen (gut) – wikiHow
Wie man ein High-School-Stück aufnimmt (naja): Hey all- Während meiner Jahre in der High School war ich wirklich in das Schauspielprogramm involviert, insbesondere in die Crew. Angefangen mit dem Bau, wechselte zum Laufen, dann zur Beleuchtung, und jetzt, wo ich mein Studium abgeschlossen habe, wurde ich zurückgezogen, um bei der Beleuchtung zu helfen