Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Tastaturschloss mit änderbarem Code

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
4x4-Tastaturmatrix
× 1
Generischer Druckknopf
× 1
LCD i²c
× 1
Linear-Magnetschloss
× 1
IRF510N MOSFET
× 1
1 Kanalrelais
× 1

Notwendige Werkzeuge und Maschinen

Breadboard, 170 Pin
10 Stk. Jumper Wire Kit, 5 cm lang

Über dieses Projekt

Hallo und willkommen zu diesem Tutorial (ja, es ist alt, aber klassisch), heute mache ich ein Türschlossprojekt basierend auf einem Arduino-Board, einer Tastatur, einem LCD-i²c-Bildschirm, und ich werde für das Schloss ein Magnetventil und ein Relais verwenden. Sie können mein Tutorial über das Fingerabdruck-Türschloss lesen, bei dem ich ein Schloss verwendet habe, das einen Gleichstrommotor verwendet. Es hängt also von Ihrem Schlosssystem ab, dass Sie eine Verkabelung und Codes auswählen und diese anpassen müssen.

N.B:Für ein echtes Projekt empfehle ich überhaupt keinen Elektromagneten zu verwenden, sondern ein Schloss zu hacken, das sowohl mit einem elektronischen als auch einem mechanischen Schloss geöffnet werden kann, und Ihr Projekt dafür anpassen.

Teile

Für dieses Projekt benötigen wir diese Komponenten zusammen mit einigen Starthilfekabeln und einer Stromversorgung von 12 V. Sorry, dass ich sie hier nicht hinzugefügt habe:

Der Druckknopf dient zum Öffnen des Schlosses von innen, man kann ihn entfernen wenn man möchte, der Widerstand dient zum Entprellen.

Ich habe die 4×4-Tastatur verwendet, Sie können 3×4 verwenden, aber Sie müssen etwas im Code ändern, z. B. zur Bestätigung, dass ich „A“ verwende, Sie können es in „*“ oder „#“ ändern

Das Solenoid wird von einer externen 12-V-Stromversorgung gespeist und vom IRF510N-MOSFET-Transistor angesteuert.

Der Transistor wird als Schalter verwendet und es ist besser, einen N-Kanal zu verwenden. Der IRF510N ist ziemlich beliebt, wenn er mit einem Arduino verwendet wird. Wenn Sie eine 5-V-Spannung an Gate und Source anlegen, wird der Transistor wie ein geschlossener Schalter zwischen den Drain und Source, und es braucht keine Widerstände wie bipolare.

Und wenn keine Spannung anliegt, verhält sich der Transistor wie ein offener Schalter, und so steuern wir das Solenoid.

Für das andere Beispiel verwende ich ein 1-Kanal-Relaismodul, es funktioniert mit 3,3 V und wir steuern seinen Eingang wie den Transistor, der einzige Unterschied besteht darin, dass sie invertiert sind (wir werden im Code sehen).

Algorithmus-Flussdiagramm

Um die Dinge leicht verständlich zu machen, ist hier das Flussdiagramm, es ist nicht vollständig detailliert, aber es ist eine Übersicht über den Code.

N.B:Sie können das Relais verwenden, um jedes Elektroschloss mit bis zu 250 VAC zu steuern, Sie können es auch verwenden, um das Magnetventil zu steuern…

Die Codes sind genau die gleichen, nur dass Sie zwischen (LOW und HIGH) wechseln, um das Schloss zu öffnen.

Denken Sie daran, dass Sie beim ersten Mal den Code hochladen und den Passcode ändern müssen, dann einige Zeilen auskommentieren (den Code lesen, um sie zu finden (sie sind im Setup)) und den Code erneut hochladen, damit er den Passcode aus dem EEPROM lesen kann .

Sie können auch die Codelänge ändern, zuerst habe ich es vierstellig gemacht, Sie können es vom Standardcode ändern, da ich im Code "sizeof(code)" anstelle von "4" verwendet habe. Sie können einen 4-stelligen Code nicht in einen 6-stelligen Code ändern. Ändern Sie zuerst den anfänglichen Code aus der Codequelle.

Test

Sie finden den Test unten in den Bildern, navigieren Sie durch sie

Nun, das war der Test des Projekts, es ist das gleiche für den Magneten oder das Relais, und der Druckknopf öffnet sich von innen, wenn Sie möchten, oder Sie können ihn entfernen.

Ich hoffe, es ist nützlich und wenn Sie ein Problem oder eine Frage haben, hinterlassen Sie einen Kommentar.

Code

  • Keypad_doorlock_solenoid.ino
  • Keypad_doorlock_relay.ino
Keypad_doorlock_solenoid.inoArduino
Denken Sie daran, den Code zuerst hochzuladen, dann Zeile 62 bis 64 auskommentieren und erneut hochladen, es wird nur einmal gemacht.
/* Dieser Code funktioniert mit 4x4-Tastaturmatrix, LCD-IC, IRF510N-Transistor und einem Druckknopf ein Magnetschloss können Sie entweder mit dem richtigen Code * oder durch den Druckknopf von innen öffnen * Der Code kann direkt über die Tastatur geändert werden und erfordert kein erneutes Hochladen des Codes * Code wird im EEPROM gespeichert * Siehe www.surtrtech.com für weitere Details */#include #include #include #define Solenoid 11 //Eigentlich das Gate des Transistors, der das Solenoid steuert#define O_Button 10 //Push Button #define I2C_ADDR 0x27 //I2C-Adresse, Sie sollten den Code verwenden, um die Adresse zuerst (0x27) hier zu scannen#define BACKLIGHT_PIN 3 // LCD-Pins deklarieren#define En_pin 2#define Rw_pin 1#define Rs_pin 0#define D4_pin 4#define D5_pin 5#define D6_pin 6#define D7_pin 7const byte numRows=4; //Anzahl der Zeilen auf der Tastaturconst byte numCols=4; //Anzahl der Spalten auf dem Keypadchar keymap[numRows][numCols]={{'1', '2', '3', 'A'}, {'4', '5', '6', 'B '}, {'7', '8', '9', 'C'},{'*', '0', '#', 'D'}};char-Taste gedrückt; //Wo die Schlüssel gespeichert sind, ändert es sich sehr oftchar code[]={'6','6','0','1'}; //Der Standardcode, Sie können ihn ändern oder zu einem n-stelligen Zeichen machen code_buff1[sizeof(code)]; //Wo der neue Schlüssel gespeichert istchar code_buff2[sizeof(code)]; //Wo der neue Schlüssel wieder gespeichert wird, damit er mit dem vorherigen verglichen wirdshort a=0,i=0,s=0,j=0; //Variablen verwendet laterbyte rowPins[numRows] ={9,8,7,6}; // Zeilen 0 bis 3 // Wenn Sie Ihre Pins ändern, sollten Sie dieses Toobyte ändern colPins[numCols]={5,4,3,2}; //Spalten 0 bis 3LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);Keypad myKeypad=Keypad(makeKeymap(keymap), rowPins, colPins, numRows(); .beginn (16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight (HIGH); // Beleuchtung Hintergrundbeleuchtung lcd.home (); lcd.print("Standby"); // Was auf dem LCD steht, können Sie ändern pinMode (Solenoid, OUTPUT); pinMode (O_Button, INPUT); // for(i=0; i 
Keypad_doorlock_relay.inoArduino
Denken Sie daran, den Code zuerst hochzuladen, dann Zeile 62 bis 64 auskommentieren und erneut hochladen, es wird nur einmal gemacht.
/* Dieser Code funktioniert mit 4x4 Tastaturmatrix, LCD-IC, Relaismodul und einem Druckknopf Steuerung eines Schlosses können Sie entweder mit dem richtigen Code * oder durch den Druckknopf von innen öffnen * Der Code kann direkt über die Tastatur geändert werden und erfordert kein erneutes Hochladen des Codes * Code wird im EEPROM gespeichert * Siehe www.surtrtech.com für weitere Details */#include #include #include #define Relay 11 //Steuert das Relais#define O_Button 10 //Push Button#define I2C_ADDR 0x27 //I2C Adresse, Sie sollten den Code verwenden, um zuerst die Adresse (0x27) hier zu scannen#define BACKLIGHT_PIN 3 // LCD-Pins deklarieren#define En_pin 2#define Rw_pin 1#define Rs_pin 0#define D4_pin 4#define D5_pin 5#define D6_pin 6# Definiere D7_pin 7const byte numRows=4; //Anzahl der Zeilen auf der Tastaturconst byte numCols=4; //Anzahl der Spalten auf dem Keypadchar keymap[numRows][numCols]={{'1', '2', '3', 'A'}, {'4', '5', '6', 'B '}, {'7', '8', '9', 'C'},{'*', '0', '#', 'D'}};char-Taste gedrückt; //Wo die Schlüssel gespeichert sind, ändert es sich sehr oftchar code[]={'6','6','0','1'}; //Der Standardcode, Sie können ihn ändern oder zu einem n-stelligen Zeichen machen code_buff1[sizeof(code)]; //Wo der neue Schlüssel gespeichert istchar code_buff2[sizeof(code)]; //Wo der neue Schlüssel wieder gespeichert wird, damit er mit dem vorherigen verglichen wirdshort a=0,i=0,s=0,j=0; //Variablen verwendet laterbyte rowPins[numRows] ={9,8,7,6}; // Zeilen 0 bis 3 // Wenn Sie Ihre Pins ändern, sollten Sie dieses Toobyte ändern colPins[numCols]={5,4,3,2}; //Spalten 0 bis 3LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);Keypad myKeypad=Keypad(makeKeymap(keymap), rowPins, colPins, numRows(); .beginn (16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight (HIGH); // Beleuchtung Hintergrundbeleuchtung lcd.home (); lcd.print("Standby"); // Was auf dem LCD steht, können Sie ändern pinMode (Relay, OUTPUT); pinMode (O_Button, INPUT); // for(i=0; i 

Schaltpläne


Herstellungsprozess

  1. Banktresor
  2. Erstellen einer automatisch verriegelnden Bürotür mit Smartphone-Näherungssensor
  3. Multi-Temperatursensor
  4. MotionSense
  5. 3D-Drucker Brandschutz
  6. Passwortbasiertes Türschloss
  7. IoT-Messgerät mit Arduino, Yaler und IFTTT
  8. Arduino Repulsive Electromagnetic Levitation
  9. Greifer-Bot mit Fernbedienung
  10. CoroFence - Wärmedetektor🖖