Hvordan vise tastaturinngang på LCD ved hjelp av Arduino UNO

Hvordan vise tastaturinngang på LCD ved hjelp av Arduino UNO
Prosjektene der innspill er påkrevd fra brukeren for å kjøre Arduino -koden, tastaturene brukes normalt. Tastaturer er den korte formen for tastaturene som kan brukes til å utføre nødvendige funksjoner som å legge inn en hvilken som helst karakterverdi eller numerisk verdi. Tilsvarende kan vi bruke en LCD -skjermmodul for å vise inngangen enten gitt manuelt ved hjelp av et tastatur eller av hvilken som helst sensor til Arduino -koden. Dessuten kan utgangene også vises på LCD for bedre tolkning av Arduino -koden. Vi har laget et lite prosjekt med grensesnitttastatur med Arduino og viser tastaturet på LCD.

Hvordan grensesnittet tastaturet med Arduino

Tastaturet kommer normalt i to størrelser som en er 3 × 3 og den andre er 4 × 4, så her i dette prosjektet bruker vi et 4 × 4 tastatur. Skjematikken for kretsen for grensesnittet tastaturet med Arduino og å vise den inngangen på LCD er:

Maskinvareimplementering

Komponentene vi har brukt til å vise inngangen til tastaturet på LCD ved bruk av Arduino er:

  • Arduino Uno
  • Koble til ledninger
  • Potensiometer
  • En 4 × 4 membran tastaturet
  • LCD-skjerm
  • Brødbrett

Vi har brukt brødtavlen til å grensesnitt. Dette kan illustreres av figuren gitt nedenfor, og vi har brukt potensiometeret for å kontrollere LCD -lysets lysstyrke.

Arduino -kode for å vise inngangen til tastaturet på LCD

I dette prosjektet beregner Arduino -programmet en kroppsmasseindeks (BMI) ved å ta vekten og høyden på personen som en inngang fra tastaturet. For å beregne BMI har vi brukt følgende formel:

BMI = (vekt [kg]/høyde [cm]*høyde [cm])*10000;

For å beregne BMI i et metrisk system og mest måles høyden i centimeter, så vi har konvertert høyde i meter ved å multiplisere hele resultatet med 10.000.

#include // bibliotek for tastatur
#include // bibliotek for LCD
LiquidCrystal LCD (A1, A0, 5, 4, 3, 2); // Arduino Pins for LCD
const byte rader = 4; // initialisere radene med tastatur
const byte cols = 4; // initialisere kolonnene på tastaturet
Char Keys [rader] [Cols] = // Gi verdier til hver nøkkel på tastaturet
'1', '2', '3', '&',
'4', '5', '6', 'B',
'7', '8', '9', 'c',
'*', '0', '=', 'd'
;
byte rowpins [rader] = 13,12,11,10; // Arduino -pinner for rader med tastatur
byte colpins [cols] = 9,8,7,6; // Arduino -pinner for søyler med tastatur
Tastatur MykeyPad = tastatur (Makekeymap (Keys), Rowpins, Colpins, Rows, Cols); /* Funksjon for å kartlegge verdiene på tastene*/
// tilordne boolsk datatype til variablene og initialisere dem med null
boolsk nåtid = falsk;
boolsk neste = falsk;
boolsk finale = falsk;
String num1, num2; // variabler for å vise tastaturet Input
Float Ans; // Variabel for lagring av resultatet av BMI
char op; // tildeler karakterdatatype for tegnet som brukes til BMI
ugyldig oppsett ()

LCD.Begynn (16,2); // initialisere LCD
LCD.setcursor (3,0); // Angi stedet for å vise den første datalinjen
LCD.print ("linuxhint"); // data som skal vises
LCD.setcursor (1,1); // Angi stedet for å vise den andre datalinjen
LCD.print ("BMI Calculator"); // Data som skal vises
forsinkelse (2000); // tid som dataene skal vises på LCD
LCD.Clear (); // tømme LCD
LCD.setcursor (0,0); // Angi stedet for å vise den andre datalinjen
LCD.Print ("Enter WGT & HGT"); // Data som skal vises

void loop ()
// Bruke GetKey -funksjonen for å få verdien av tasten presset
Char Key = Mykeypad.getKey ();
hvis (tast != NO_Key && (Key == '1' || Key == '2' || Key == '3' || Key == '4' || Key == '5' || Key == '6' || tast == '7' || tast == '8' || tast == '9' || tast == '0')) // Kontroller hvilken tast trykkes ved å sjekke heltallverdien

hvis tilstede != sant)

num1 = num1 + nøkkel; // lagring av verdien av tastet presset i num1
float numlength = num1.lengde();
LCD.setcursor (0, 1); /* Dekalering av stedet der den første oppføringen skal vises*/
LCD.trykk (num1); // Skrive ut det første nummeret som er angitt

ellers

num2 = num2 + nøkkel; // lagre verdien av andre tast trykket i num2
float numlength = num2.lengde();
LCD.setcursor (4, 1);/*Decalering av stedet der den andre oppføringen skal vises*/
LCD.trykk (num2); // Skrive ut det andre nummeret som er angitt
finale = sant;


// Tilstand Hvis tasten har den tildelte operatøren for BMI -beregning, trykkes
ellers hvis (til stede == falsk && nøkkel != No_key && (nøkkel == '&'))

if (til stede == usant)

Present = True;
op = nøkkel; // Lagre nøkkelen som er trykket for å beregne BMI
LCD.setcursor (3,1); // Angi stedet for at dataene skal vises
LCD.trykk (op); // Viser tegnet som brukes til BMI


// betingelser for å beregne BMI
ellers hvis (endelig == true && nøkkel != No_key && nøkkel == '=')
if (op == '&')
Ans = (num1.tofloat () / (num2.tofloat ()*num2.tofloat ()))*10000; // formel for å beregne BMI

LCD.setcursor (0,2); // Angi stedet for at dataene skal vises
LCD.print ("Din BMI er:"); // data som skal vises
LCD.trykk (ANS); // Viser svaret for BMI -beregning
LCD.Clear (); // tømme LCD
hvis (ans<18.5) // if BMI is less than 18.5 then you are under weight
LCD.setcursor (0,0);
LCD.print ("du er");
LCD.setcursor (0,1);
LCD.print ("under vekt");

ellers hvis (Ans<25)// if BMI is less than 25 then you have normal weight
LCD.setcursor (0,0);
LCD.print ("du har");
LCD.setcursor (0,1);
LCD.print ("normal vekt");

ellers hvis (Ans<30) if BMI is less than 30 then you are over weight
LCD.setcursor (0,0);
LCD.print ("du er");
LCD.setcursor (0,1);
LCD.trykk ("Over vekt")
ellers // ellers er du overvektig
LCD.trykk ("du er overvektig");

forsinkelse (2000); // tid eller hvilke data vil vises

// Tilstand for å rydde LCD eller starte Arduino -koden igjen
annet hvis (nøkkel != NO_Key && Key == 'C')
LCD.klar();
Til stede = falsk;
finale = falsk;
setup (); // kalle oppsettfunksjonen for å starte koden igjen
num1 = "";
num2 = "";
Ans = 0;
op = ";

For å beregne BMI har vi samlet Arduino -koden på en slik måte at vi først har definert bibliotekene til tastaturet og LCD og pinner i Arduino er tildelt for LCD. Neste etter å ha initialisert dimensjonen på tastaturet, har vi gitt hver tast på tastaturet en verdi ved å lage en streng.

Neste har vi tildelt pinnene tastaturet til Arduino og ved å bruke tastaturfunksjonen kartlagt verdiene til tastene til tastaturet. Fremover har vi erklært noen variabler som vi brukte til å ta inngangen til tastaturet og lagre resultatet for BMI -beregningen.

I installasjonsfunksjonen har vi vist noen data om LCD -skjermen og kommet til loopfunksjonen vi har brukt IF -tilstanden for at nøklene har noen heltallverdier for å gjenkjenne hvilken verdi som er angitt.

Programmet tar de to inngangene fra brukeren den ene er vekt, og den andre er høyden, og når den angitte nøkkelen for BMI vil det beregne BMI og fortelle statusen ved å bestemme det gjennom BMI -verdien.

For å tilbakestille programmet har vi definert en nøkkel at når det presses, vil den fjerne LCD og oppsettfunksjonen vil bli kalt for å starte Arduino -koden på nytt. Her i koden har vi tildelt nøkkelen “A” på tastaturet for å utføre BMI -beregningen, og nøkkelen “C” på tastaturet brukes til å tømme LCD.

Maskinvareimplementering for å vise tastaturinngang på LCD

Vi har lagt ut bildet nedenfor av maskinvareimplementeringen for å vise tastaturinngangen på LCD.

Arduino -koden vil be brukeren om vekt og høyde, og ved å bruke tastaturet vil brukeren legge inn verdier for vekt og høyde som på bildet som er lagt ut nedenfor.

Ved siden av å beregne BMI Trykk på tasten “A” på tastaturet, og BMI vises på LCD som på figuren nedenfor.

Basert på BMI -verdien vil Arduino -koden gi statusen til BMI, og den kan sees på figuren som er lagt ut nedenfor.

Konklusjon

Når vi må gi inngangene til Arduino -programmet manuelt, må vi grensesnitt et tastatur med Arduino. Tastaturene er mindre versjoner av tastaturer som kan utføre noen grunnleggende funksjoner som å gi innganger til hvilken som helst enhet. Disse inngangene kan enten være tegn eller et heltall, og tastene til tastaturet er lett konfigurerbare. I denne oppskrivningen har vi vist et tastaturinngang på LCD-skjermen ved å samle en kode for BMI-kalkulator der det er to innganger som kreves av Arduino-koden: vekt og høyde.