Hur man gränssnitt 4 × 4 tangentbord med Arduino

Prova Vårt Instrument För Att Eliminera Problem





I det här inlägget kommer vi att lära oss hur man gränssnitt en 4x4 knappsats med Arduino. Vi ska se vad som är en knappsats, hur den är konstruerad och hur man programmerar Arduino för att ta emot tangenttryckningar från tangentbordet och skriver ut dem i seriell bildskärm.



Vad är en knappsats?

Ett tangentbord är ett bärbart tangentbord i liten formfaktor med siffror, alfabet och specialtecken eller en kombination av alla tre. I det här projektet kommer vi att ta en titt på 4x4 matris tangentbord som har alla de tre typerna av tangenter som anges ovan.

Det kallas 4x4 eftersom det har 4 rader och 4 kolumner, ordnade i matrisform. Den har siffror från 0 till 9, specialtecken '#' och '*' och alfabet från A till D. Det finns andra typer av knappsatser som 4x3, 8x8 etc. De vanligaste typerna är 4x4 och 4x3.



För 4x4-knappsatsen är fyra anslutningar från rader och fyra anslutningskolumner gjorda för att kommunicera med mikrokontroller, så det finns totalt 8 stift.

Detta kan förbruka många I / O-stift från Arduino och lämna mindre antal I / O-stift för andra kringutrustning, det finns andra metoder för att ta emot tangenttryckningar genom att använda några stift av Arduino, som inte beskrivs i den här artikeln.

Konstruktionsdetaljer:

Anslutningskretsen illustreras nedan:

Som vi kan dra slutsatsen från ovanstående diagram är varje tangent ansluten till en rad och en kolumn. När någon av dem är nedtryckt, till exempel att nummer 1, R1 och C1 kopplas in, kommer denna signal att tas emot av arduino eller vilken mikrokontroller som helst och bestämma vilken knapp som trycks in, för varje tangent görs unika anslutningar.

Vi kan få 4x4-tangentbord från e-handelswebbplats eller lokal elektronikhandlare eller så kan du skapa en från diagrammet ovan. Du behöver bara 16 tryckknappar för 4x4-knappsats och ett allmänt PCB. Anslutningarna kan göras från ovanstående diagram och du skapade en för dig själv.

Arduino knappsatsdiagram och program:

Hur man gränssnitt 4x4 knappsats med Arduino

Här är en prototyp, där anslutningar görs genom att använda manliga till manliga huvudstift. Resten av kretsen är självförklarande.

Så här är den ansluten till Arduino:

Obs: försiktighet bör iakttas när du ansluter stiften från tangentbordet till arduino, eventuella felaktiga anslutningar eller utbytta ledningar, det kan röra hela ditt projekt.

Alla anslutningar görs sekventiellt från stift nr 2 till stift nr 9 i Arduino och knappsats. Det handlar om hårdvaruanslutningar. Nu ska vi gå till kodningsdelen.

Programkod:

//---------------Program developed by R.Girish------//
#include
const byte ROWS = 4
const byte COLS = 4
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}
byte colPins[COLS]= {5,4,3,2}
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS )
void setup(){
Serial.begin(9600)
}
void loop(){
char key = keypad.waitForKey()
delay(100)
Serial.print('You pressed: ')
Serial.println(key)
}
//---------------Program developed by R.Girish------//

Produktion:

Använda knappsatsen

I programmet används tvådimensionellt arraykoncept, eftersom vi kan se samma layout görs i programmet som i knappsatsen. Radstiften är 9, 8, 7, 6 och stiftkolonnerna är 5, 4, 3 och 2.

Vi använde en rad 'char key = keypad.waitForKey ()' vilket innebär att programmen väntar på att en tangent ska tryckas och den nedtryckta knappen lagras i en variabel 'tangent'. Denna variabel skrivs ut i seriemonitorn med ”Serial.print ().

Om du undrar var knappsatser används? Tja, här är svaret. Den används överallt, där en användare behöver ge inmatning till vilken maskin som helst: Smartphone eller datorn du använder just nu, bankomater, varuautomater, skrivare, kontroller på din TV-fjärrkontroll etc.

Nu vet du ganska mycket om knappsatser och hur man gränssnitt dem med en Arduino, nu är det dags att använda fantasin för att bygga egna projekt.

Du måste ladda ner och lägga till knappsatsbiblioteket från följande länk: github.com/Chris--A/Keypad. annars kompileras inte ovanstående program




Tidigare: Hur man genererar elektricitet från Piezo Nästa: Sunrise Sunset Simulator LED Circuit