- Nødvendige materialer:
- Kretsdiagram:
- Arduino kalkulatorprogram:
- Simulering av Arduino-kalkulator:
- Arbeid med Arduino-kalkulator:
Programmering er alltid morsomt, og Arduino er en fantastisk plattform hvis du bare kommer i gang med innebygd programmering. I denne opplæringen vil vi bygge vår egen kalkulator med Arduino. Verdiene kan sendes inn via et tastatur (4 × 4 tastatur), og resultatet kan vises på en LCD-skjerm (16 × 2 punktmatrise). Denne kalkulatoren kan utføre enkle operasjoner som Addisjon, Subtraksjon, Multiplikasjon og Divisjon med hele tall. Men når du først har forstått konseptet, kan du implementere til og med vitenskapelige funksjoner med Arduinos innebygde funksjoner.
På slutten av dette prosjektet vil du vite hvordan du bruker et 16x2 LCD og tastatur med Arduino, og også hvor enkelt det er å programmere for dem ved hjelp av lett tilgjengelige biblioteker. Du vil også forstå hvordan du programmerer Arduino for å utføre en bestemt oppgave.
Nødvendige materialer:
- Arduino Uno (hvilken som helst versjon vil fungere)
- 16 × 2 LCD-skjerm
- 4 × 4 tastatur
- 9V batteri
- Brettbrett og tilkoblingsledninger
Kretsdiagram:
Det komplette kretsskjemaet for dette Arduino-kalkulatorprosjektet er gitt ovenfor. + 5V og jordforbindelse vist i kretsskjemaet kan fås fra 5V og jordpinnen til Arduino. Arduino i seg selv kan drives fra den bærbare datamaskinen eller via DC-kontakten ved hjelp av et 12V adapter eller 9V batteri.
Vi bruker LCD-skjermen i 4-biters modus med Arduino, så bare de siste fire databitene på LCD-skjermen er koblet til Arduino. Tastaturet vil ha 8 utgangspinner som må kobles fra pin 0 til pin 7 som vist ovenfor. Du kan bruke følgende tilkoblingstabell for å bekrefte forbindelsen din med Arduino, du kan også sjekke 4x4-tastaturgrensesnittet med Arduino.
Navn på Arduino: |
Koblet til: |
D0 |
1 st tapp på tastaturet |
D1 |
2 nd tapp på tastaturet |
D2 |
3 rd tapp på tastaturet |
D3 |
4 th tapp på tastaturet |
D4 |
5 th tapp på tastaturet |
D5 |
6 th tapp på tastaturet |
D6 |
7 th tapp på tastaturet |
D7 |
8 th tapp på tastaturet |
D8 |
Registrer velg pin på LCD (pin 4) |
D9 |
Aktiver pin på LCD (pin 6) |
D10 |
Datapinne 4 (pin 11) |
D11 |
Datapinne 4 (pin 11) |
D12 |
Datapinne 4 (pin 11) |
D13 |
Datapinne 4 (pin 11) |
+ 5V |
Koblet til Vdd-pin på LCD (pin 2) |
Bakke |
Koblet til Vss, Vee og RW pin på LCD (pin 1,3 og 5) |
Noen Arduino-kort kan vise en feil under opplasting av program hvis det er noe som er koblet til pin 0 og pin1, så hvis du opplever noe, er det bare å fjerne tastaturet mens du laster opp programmet.
Når tilkoblingene er ferdig, vil maskinvaren din se slik ut nedenfor
Arduino kalkulatorprogram:
Det komplette Arduino-programmet for dette prosjektet er gitt på slutten av dette prosjektet. Koden er delt inn i små meningsfulle biter og forklart nedenfor.
Som tidligere fortalt skal vi grensesnitt et LCD og tastatur med Arduino ved hjelp av biblioteker. Så la oss legge dem til i Arduino IDE først. Biblioteket for LCD er allerede inkludert i Arduino som standard, så vi trenger ikke bekymre oss for det. For tastaturbibliotek, klikk på lenken for å laste det ned fra Github. Du får en ZIP-fil, og deretter legger du denne liben til Arduino med Sketch -> Inkluder bibliotek -> Legg til.ZIP-fil og peker plasseringen til denne nedlastede filen. Når det er gjort er vi klar for programmering.
Selv om vi har brukt et bibliotek for bruk av tastatur, må vi nevne noen detaljer (vist nedenfor) om tastaturet til Arduino. Variabelen ROWS og COLS vil fortelle hvor mange rader og kolonner tastaturet vårt har, og tastaturet viser rekkefølgen tastene er på tastaturet. Tastaturet jeg bruker i dette prosjektet, ser slik ut nedenfor til nøkkelkartet, representerer det samme.
Videre nedenfor har vi nevnt hvilke pinner tastaturet er koblet til ved hjelp av variabel array rowPins og colPins .
const byte RADER = 4; // Fire rader med byte COLS = 4; // Tre kolonner // Definer nøkkelkorttegnene = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Koble tastaturet ROW0, ROW1, ROW2 og ROW3 til disse Arduino-pinnene. byte colPins = {4, 5, 6, 7}; // Koble tastaturet COL0, COL1 og COL2 til disse Arduino-pinnene.
Når vi har nevnt hvilken type tastatur vi bruker og hvordan det er koblet til, kan vi opprette tastaturet ved hjelp av disse detaljene ved hjelp av linjen nedenfor
Tastatur kpd = Tastatur (makeKeymap (nøkler), rowPins, colPins, ROWS, COLS); // Opprett tastaturet
På samme måte må vi også fortelle hvilke pinner på Arduino LCD-skjermen er koblet til. I følge kretsskjemaet vårt vil definisjonene være som nedenfor
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins som LCD er koblet til LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // lage LCD-skjermen
Inne i setup -funksjonen, vi bare vise navnet på prosjektet og deretter gå videre til mens loop der de viktigste prosjekt løgner.
I utgangspunktet må vi sjekke om noe blir skrevet på tastaturet. Hvis vi skriver, må vi gjenkjenne hva som blir skrevet, og deretter konvertere det til en variabel når “=” trykkes, vi må beregne resultatet og deretter endelig vise det på LCD-skjermen. Dette er nøyaktig hva som gjøres inne i sløyfefunksjonen som vist nedenfor
nøkkel = kpd.getKey (); // lagring av presset nøkkelverdi i et tegn hvis (nøkkel! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult ();
Hva som skjer inne i hver funksjon, forklares ved hjelp av kommentarlinjene, gå gjennom hele koden nedenfor, fikle med den for å forstå hvordan den faktisk fungerer. Hvis du er i tvil om en bestemt linje, kan du gjerne bruke kommentarseksjonen eller forumet.
Simulering av Arduino-kalkulator:
Vi kan også prøve å simulere prosjektet ved hjelp av Proteus-programvaren. Proteus har ikke en Arduino-komponent alene, men kan enkelt lastes ned og legges til biblioteket. Når du har Arduino-komponenten på Proteus, er det bare å legge til Alfanumerisk LCD og tastatur for å opprette tilkoblingen som vist i kretsskjemaet.
Last deretter ned hex-filen herfra og legg den til Arduino ved å dobbeltklikke på brettet i Proteus og peke "programfilen" til denne nedlastede hex-filen. Et øyeblikksbilde av simuleringen er vist nedenfor, og fullstendig arbeid vises i videoen nedenfor.
Merk: Den gitte hex-filen er ikke den samme som originalen til programmet nedenfor. Det er endret siden tastaturet til simuleringstastaturet og det faktiske maskinvaretastaturet er annerledes.
Arbeid med Arduino-kalkulator:
Opprett tilkoblingene i henhold til kretsskjemaet og last opp koden nedenfor. Hvis det viser feil, må du sørge for at du har lagt til biblioteket i henhold til instruksjonene ovenfor. Du kan også prøve simuleringen for å sjekke om problemet er med maskinvaren din. Hvis alt er gjort som det skal være, vil maskinvaren din se slik ut nedenfor med LCD-skjermen som viser dette
Siden tastaturet som brukes her ikke har ordentlig merking på har jeg antatt at alfabetene er operatører som er oppført nedenfor
Tegn på tastaturet |
Antas å være |
"EN" |
Tillegg (+) |
“B” |
Subtraksjon (-) |
“C” |
Multiplikasjon (*) |
“D” |
Divisjon (/) |
“*” |
Klar (C) |
“#” |
Lik (=) |
Du kan bruke en markør til å skrive over hva hver knapp faktisk representerer.
Når det er gjort, kan du begynne å bruke kalkulatoren direkte. Taster inn nummeret og vises på den andre linjen, trykk på operand og skriv inn det andre nummeret ditt til slutt, trykk "#" for å få resultatet. Du kan også prøve å bygge denne berøringsskjermbaserte Arduino-kalkulatoren.