Welkom bij project 12! In deze les leer je hoe je een 4×4 matrix toetsenbord (number pad) kunt gebruiken om een LED aan te zetten als je de juiste code invoert. Als je de verkeerde code invoert, zal een buzzer afgaan. Dit project combineert verschillende concepten die je in eerdere lessen hebt geleerd, zoals het aansturen van een LED, het gebruiken van een zoemer, en het verwerken van input.
Stap 1: het circuit bouwen
Benodigdheden:
- 1x Arduino Uno
- 1x 4×4 Matrix Keypad
- 1x LED
- 1x 220Ω weerstand (voor de LED)
- 1x Actieve zoemer
- 12x man-man jumper wires
- 1x Breadboard
Volg de onderstaande stappen om je circuit op te zetten:
LED Aansluiten:
- Verbind pin 13 van de Arduino met het ene uiteinde van de 220Ω weerstand.
- Verbind het andere uiteinde van de weerstand met de anode (lange pin) van de LED.
- Verbind de kathode (korte pin) van de LED met de GND-pin van de Arduino.
Zoemer Aansluiten:
- Verbind de positieve pin van de zoemer met pin 10 van de Arduino.
- Verbind de negatieve pin van de zoemer met een GND-pin van de Arduino.
Keypad Aansluiten:
- Verbind de 8 draden van het keypad met de volgende Arduino-pinnen:
- Pin 2, 3, 4, 5 (voor de rijen)
- Pin 6, 7, 8, 9 (voor de kolommen)

Stap 2: De code schrijven
Nu het circuit is gebouwd, gaan we de code schrijven. Deze code leest de input van het number pad, vergelijkt deze met de juiste code, en zet de LED aan of activeert de zoemer afhankelijk van de invoer.
Keypad Bibliotheek Installeren
- Open de Arduino IDE.
- Ga naar https://www.arduino.cc/reference/en/libraries/keypad/ en ga naar onder en download de nieuwste versie.
- Ga naar “sketch” → “include library” → “add .zip library” en kies dan de gedownloade keypad library.
Kopieer en plak de volgende code in de Arduino IDE:
#include <Keypad.h>
const byte ROWS = 4; // Vier rijen
const byte COLS = 4; // Vier kolommen
char keys[ROWS][COLS] = {
{‘1’,’2′,’3′,’A’},
{‘4’,’5′,’6′,’B’},
{‘7’,’8′,’9′,’C’},
{‘*’,’0′,’#’,’D’}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; // Rijen verbinden met de Arduino pins
byte colPins[COLS] = {5, 4, 3, 2}; // Kolommen verbinden met de Arduino pins
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
const String code = “123A”; // De juiste code
String inputCode = “”; // Opslag voor ingevoerde code
const int ledPin = 13; // LED-pin
const int buzzerPin = 10; // Zoemer-pin
void setup(){
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop(){
char key = keypad.getKey();
if (key){
inputCode += key; // Voeg de ingedrukte toets toe aan de invoer
// Controleer of de invoer de juiste lengte heeft
if (inputCode.length() == code.length()){
if (inputCode == code){
digitalWrite(ledPin, HIGH); // Zet de LED aan als de code correct is
delay(3000); // Houd de LED 3 seconden aan
digitalWrite(ledPin, LOW);
} else {
digitalWrite(buzzerPin, HIGH); // Zoemer aan bij verkeerde code
delay(1000); // Houd de zoemer 1 seconde aan
digitalWrite(buzzerPin, LOW);
}
inputCode = “”; // Reset de invoer voor de volgende poging
}
}
}
Stap 3: De code uploaden
- Sluit je Arduino aan op je computer met de USB-kabel.
- (Klik op select board en dan op Arduino Uno.)
- Klik op de uploadknop (pijltje) in de Arduino IDE om de code naar je Arduino te sturen.
Gefeliciteerd! Je hebt nu een systeem gemaakt dat een LED aanzet als de juiste code wordt ingevoerd en een zoemer activeert bij een foute code. Dit project is een geweldige manier om te leren hoe je verschillende inputs en outputs kunt combineren in één Arduino-project. Ga door met experimenteren en ontdek wat je nog meer kunt maken!
