Arduino UNO R4 - Keypad 3x4

Deze tutorial leert u hoe u Arduino UNO R4 gebruikt met een 3x4 keypad. In detail gaan we leren:

Arduino UNO R4 3x4 Keypad

Over 3x4 Keypad

Het keypad heeft 12 membraanknoppen gerangschikt in rijen en kolommen, bekend als een matrix. Elke knop wordt een toets genoemd.

Pinout

Een 3x4 keypad heeft 7 pinnen, verdeeld in twee categorieën: rijen en kolommen.

  • 4 pinnen zijn voor de rijen (R1, R2, R3, R4).
  • 3 pinnen zijn voor de kolommen (C1, C2, C3).
3x4 Keypad Pinout

Bedradingsschema

Arduino UNO R4 Keypad 3x4 Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.

Arduino UNO R4 Code

#include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 3; // three columns char keys[ROW_NUM][COLUMN_NUM] = { { '1', '2', '3' }, { '4', '5', '6' }, { '7', '8', '9' }, { '*', '0', '#' } }; byte pin_rows[ROW_NUM] = { 9, 8, 7, 6 }; //connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = { 5, 4, 3 }; //connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM); void setup() { Serial.begin(9600); delay(1000); Serial.println("Keypad 3x4 example"); } void loop() { char key = keypad.getKey(); if (key) { Serial.println(key); } }

Snelle Stappen

Volg deze instructies stap voor stap:

  • Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg dan de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
  • Sluit de Arduino Uno R4 aan op het 3x4 keypad volgens het meegeleverde schema.
  • Sluit de Arduino Uno R4 aan op uw computer met een USB-kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer het juiste Arduino Uno R4 board (bijv. Arduino Uno R4 WiFi) en COM-poort.
  • Ga naar het Libraries pictogram aan de linkerkant van de Arduino IDE.
  • Typ DIYables_Keypad in het zoekvak en zoek naar de keypad library van DIYables.io.
  • Druk op de Install knop om de keypad library te installeren.
Arduino UNO R4 keypad library
  • Kopieer de bovenstaande code en open deze met de Arduino IDE.
  • Klik op de Upload knop in de Arduino IDE om de code naar de Arduino UNO R4 te uploaden.
  • Open de Serial Monitor.
  • Druk enkele toetsen op het keypad in.
  • Controleer de resultaten in de Serial Monitor.
COM6
Send
3 6 9 4 * #
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Keypad en Wachtwoord

Een veelvoorkomend gebruik van een keypad is het invoeren van een wachtwoord. Bij dit gebruik benadrukken we twee speciale toetsen:

  • Een toets om het invoeren van het wachtwoord te beginnen of opnieuw te beginnen. Bijvoorbeeld toets "*"
  • Een toets om het invoeren van het wachtwoord te beëindigen. Bijvoorbeeld toets "#"

Het wachtwoord zal bestaan uit de overige toetsen, exclusief de twee gekozen speciale toetsen.

Wanneer een toets wordt ingedrukt:

  • Als de toets niet "*" of "#" is, voeg de toets toe aan het wachtwoord dat de gebruiker invoert.
  • Als de toets "#" is, controleer of het door de gebruiker ingevoerde wachtwoord overeenkomt met het ingestelde wachtwoord, wis dan het ingevoerde wachtwoord.
  • Als de toets "*" is, wis het ingevoerde wachtwoord.

Keypad - Wachtwoord Code

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-keypad-3x4 */ #include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //three columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = {5, 4, 3}; //connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); const String password = "1234"; // change your password here String input_password; void setup(){ Serial.begin(9600); Serial.println("Keypad 3x4 password"); input_password.reserve(32); // maximum input characters is 33, change if needed } void loop(){ char key = keypad.getKey(); if (key){ Serial.println(key); if(key == '*') { input_password = ""; // clear input password } else if(key == '#') { if(password == input_password) { Serial.println("password is correct"); // DO YOUR WORK HERE } else { Serial.println("password is incorrect, try again"); } input_password = ""; // clear input password } else { input_password += key; // append new character to input password string } } }
  • Voer de bovenstaande code uit.
  • Open de Serial Monitor.
  • Voer de toetsen "123456" in en druk dan op "#".
  • Voer de toetsen "1234" in en druk dan op "#".
  • Controleer de resultaten in de Serial Monitor.
COM6
Send
password is incorrect, try again password is correct
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!