Arduino - Toegangscontrole met Keypad
In deze tutorial leert u hoe u een toegangscontrolesysteem met wachtwoord maakt met een keypad en een solenoïde slot.
Wanneer de deur met het juiste wachtwoord wordt ontgrendeld, blijft deze 20 seconden open en sluit daarna automatisch weer af. De Arduino-code ondersteunt meerdere wachtwoorden.
※ Notiz:
We hebben ook andere tutorials over toegangscontrolesystemen:
Hardware Vereist
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over Keypad en Solenoïde Slot
Als u niet bekend bent met solenoïde slot en knop (pinout, werking, programmeren ...), leer er meer over in de volgende tutorials:
Bedradingsschema
- Arduino - Toegangscontrole met keypad en solenoïde slot

This image is created using Fritzing. Click to enlarge image
Arduino Code - Toegangscontrolesysteem met wachtwoord via keypad en solenoïde slot
※ Notiz:
Het I2C-adres van een LCD kan verschillen per fabrikant. In de code gebruiken we 0x27, gespecificeerd door fabrikant DIYables
Snelle Stappen
- Verbind de Arduino met uw PC via USB-kabel
- Open de Arduino IDE, selecteer het juiste board en poort
- Ga naar het Libraries-icoon in de linkerzijbalk van de Arduino IDE
- Zoek op “keypad” en vind de keypad library van Mark Stanley, Alexander Brevig
- Klik op de Installeren-knop om de keypad library te installeren

- Kopieer de bovenstaande code en open deze in de Arduino IDE
- Klik op de Uploaden-knop in de Arduino IDE om de code naar de Arduino te uploaden
- Open de Seriële Monitor
- Druk de toetsen 12345 en druk op #
- Druk de toetsen 1234ABC en druk op #
- Observeer de toestand van de vergrendeling gedurende 20 seconden
- Bekijk het resultaat in de Seriële Monitor
Code Uitleg
Geldige wachtwoorden zijn vooraf gedefinieerd in de Arduino-code.
Er wordt een string gebruikt om het door gebruikers ingevoerde wachtwoord op te slaan, de zogenaamde input string. Op het keypad worden twee toetsen (* en #) gebruikt voor speciale functies: het wissen van het wachtwoord en het afronden van het wachtwoord. Het systeem werkt als volgt:
- Behalve de twee speciale toetsen, wordt elke andere toets die wordt ingedrukt toegevoegd aan de input string
- Als * wordt ingedrukt, wordt de input string gewist. Hiermee kunt u opnieuw beginnen met het invoeren van het wachtwoord
- Als # wordt ingedrukt:
- Wordt de input string vergeleken met de vooraf gedefinieerde wachtwoorden. Als er een match is, wordt het relais bestuurd om de deur te ontgrendelen.
- Ongeacht of het wachtwoord correct is, wordt de input string gewist voor de volgende invoer
- In bovenstaande code is voor eenvoud de delay-functie gebruikt. Het verdient de voorkeur om millis() te gebruiken in plaats van delay(). Zie Hoe milli() te gebruiken in plaats van delay()
- U kunt een piezo buzzer toevoegen om een pieptoon te laten klinken bij elke toetsdruk op het keypad.
- In deze code wordt de deur na 20 seconden opnieuw vergrendeld. U kunt dit vervangen door een deursensor. De deur wordt dan vergrendeld wanneer de sensor detecteert dat de deur door de gebruiker is gesloten.
- De wachtwoorden zijn hard-coded in de code. In de praktijk zou u wachtwoorden dynamisch moeten kunnen toevoegen/verwijderen/aanpassen via een speciale modus. Deze wachtwoorden moeten worden opgeslagen in het EEPROM-geheugen. Het aantal wachtwoorden is afhankelijk van de grootte van het EEPROM. Dit maakt de code complexer. Wilt u zo’n systeem bouwen, dan bieden wij een programmeerservice aan. Neem gerust contact op.
※ Notiz:
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap.