Project 13: numberpad invoeren om een LED te activeren

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)
Les 11 cicruit

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

  1. Open de Arduino IDE.
  2. Ga naar https://www.arduino.cc/reference/en/libraries/keypad/ en ga naar onder en download de nieuwste versie.
  3. 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

  1. Sluit je Arduino aan op je computer met de USB-kabel.
  2. (Klik op select board en dan op Arduino Uno.)
  3. 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!

qoute symbool

"Arduino: waar creativiteit en techniek samenkomen om de toekomst te bouwen."

Schrijf een comment

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

logo

Copyright © 2024 Arduinolessen.org | Gebouwd door Arduinolessen.org