Arduino Nano - Keypad 1x4

In deze tutorial leren we hoe u een 1x4 keypad gebruikt met een Arduino Nano. We behandelen:

Arduino Nano Keypad 1x4

Hardware Benodigd

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB kabel
1×Toetsenbord 1x4
1×Jumper Draden
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

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 1x4

Een 1x4 keypad heeft vier knoppen op een rij. Het wordt vaak gebruikt om wachtwoorden in te voeren, door menu’s te navigeren of apparaten te bedienen.

Pinout

Het 1x4 keypad heeft vijf pinnen. Deze pinnen zijn niet in dezelfde volgorde gerangschikt als de toetsen op het keypad:

  • Pin 1: verbindt met toets 2
  • Pin 2: verbindt met toets 1
  • Pin 3: verbindt met toets 4
  • Pin 4: verbindt met toets 3
  • Pin 5: is een gemeenschappelijke pin verbonden met alle toetsen
Keypad 1x4 Pinout
image source: diyables.io

Aansluitschema

Arduino Nano Keypad 1x4 Aansluitschema

This image is created using Fritzing. Click to enlarge image

Arduino Nano Code

Elke toets op het 1x4 keypad werkt als een knop. Dit stelt ons in staat de functie digitalRead() te gebruiken om te controleren of een toets ingedrukt is. Toetsen kunnen echter soms 'bouncen', wat betekent dat één druk meerdere signalen lijkt te geven. Om dit te verhelpen, moeten we elke toets ontbouncen. Het ontbouncen van vier toetsen tegelijk is lastig zonder dat andere code vertraagt. Gelukkig maakt de ezButton bibliotheek dit eenvoudiger.

#include <ezButton.h> #define KEY_NUM 4 // the number of keys #define PIN_KEY_1 5 // The Arduino Nano pin connected to the key 1 #define PIN_KEY_2 4 // The Arduino Nano pin connected to the key 2 #define PIN_KEY_3 7 // The Arduino Nano pin connected to the key 3 #define PIN_KEY_4 6 // The Arduino Nano pin connected to the key 4 ezButton keypad_1x4[] = { ezButton(PIN_KEY_1), ezButton(PIN_KEY_2), ezButton(PIN_KEY_3), ezButton(PIN_KEY_4) }; void setup() { Serial.begin(9600); for (byte i = 0; i < KEY_NUM; i++) { keypad_1x4[i].setDebounceTime(100); // set debounce time to 100 milliseconds } } void loop() { int key = getKeyPressed(); if (key) { Serial.print("The key "); Serial.print(key); Serial.println(" is pressed"); } } int getKeyPressed() { for (byte i = 0; i < KEY_NUM; i++) keypad_1x4[i].loop(); // MUST call the loop() function first for (byte i = 0; i < KEY_NUM; i++) { // get key state after debounce int key_state = keypad_1x4[i].getState(); // the state after debounce if (keypad_1x4[i].isPressed()) return (i + 1); } return 0; }

Snelle Stappen

  • Verbind de Arduino Nano met het 1x4 keypad.
  • Verbind de Arduino Nano met de computer via een USB-kabel.
  • Open de Arduino IDE en selecteer het juiste board en de correcte poort.
  • Klik op het icoon Libraries aan de linkerkant van de Arduino IDE.
  • Typ ezButton in het zoekvak en zoek de button bibliotheek van Arduino NanoGetStarted.com.
  • Druk op de knop Installeren om de ezButton bibliotheek toe te voegen.
Arduino Nano button bibliotheek
  • Kopieer de code en open deze in de Arduino IDE.
  • Klik op de knop Upload in de Arduino IDE om de code naar de Arduino Nano te sturen.
  • Open de Seriële Monitor.
  • Druk elke toets op het 1x4 keypad afzonderlijk in.
  • Controleer de resultaten in de Seriële Monitor.
COM6
Send
1 2 3 4
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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