Arduino - Keypad - LCD

Hardware Vereist

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×LCD I2C
1×Toetsenbord 3x4 en 4x4 Kit
1×(Alternatief) Keypad 3x4
1×(Alternatief) Keypad 4x4
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingsdraden)
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over Keypad en LCD

Als u nog niet bekend bent met keypad en LCD (pinout, werking, programmeren ...), leer er dan meer over in de volgende tutorials:

Bedradingsschema

Arduino Keypad LCD Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Arduino Code

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-keypad-lcd */ #include <Keypad.h> #include <LiquidCrystal_I2C.h> const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 4; // four columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3', 'A'}, {'4','5','6', 'B'}, {'7','8','9', 'C'}, {'*','0','#', 'D'} }; 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, 2}; // connect to the column pinouts of the keypad Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows int cursorColumn = 0; void setup(){ lcd.init(); // initialize the lcd lcd.backlight(); } void loop(){ char key = keypad.getKey(); if (key) { lcd.setCursor(cursorColumn, 0); // move cursor to (cursorColumn, 0) lcd.print(key); // print key at (cursorColumn, 0) cursorColumn++; // move cursor to next position if(cursorColumn == 16) { // if reaching limit, clear LCD lcd.clear(); cursorColumn = 0; } } }

※ Notiz:

Het I2C-adres van het LCD kan verschillen per fabrikant. In de code gebruiken we 0x27, wat gespecificeerd is door de fabrikant DIYables.

Snelle Stappen

  • Verbind de Arduino met de PC via de USB-kabel
  • Open Arduino IDE, selecteer het juiste board en de juiste poort
  • Navigeer naar het Libraries-icoon in de linkerzijbalk van de Arduino IDE
  • Zoek naar “keypad” en vind de keypad bibliotheek van Mark Stanley en Alexander Brevig
  • Klik op de Install-knop om de keypad bibliotheek te installeren
Arduino keypad bibliotheek
  • Zoek naar “LiquidCrystal I2C” en vind de LiquidCrystal_I2C bibliotheek van Frank de Brabander
  • Klik op de Install-knop om de LiquidCrystal_I2C bibliotheek te installeren
Arduino LiquidCrystal I2C bibliotheek
  • 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 te uploaden
Arduino IDE Code Uploaden
  • Druk enkele toetsen op het keypad
  • Bekijk het resultaat op het LCD

Als er niets op het LCD wordt weergegeven, zie Probleemoplossing LCD I2C

Code-uitleg

Lees de lijn-voor-lijn uitleg in de commentaarregels van de broncode!

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 door het proces.

※ 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!