Inhoudsopgave:

Arduino DIY-calculator met 1602 LCD en 4x4-toetsenbord - Ajarnpa
Arduino DIY-calculator met 1602 LCD en 4x4-toetsenbord - Ajarnpa

Video: Arduino DIY-calculator met 1602 LCD en 4x4-toetsenbord - Ajarnpa

Video: Arduino DIY-calculator met 1602 LCD en 4x4-toetsenbord - Ajarnpa
Video: 🇳🇱 4x4 MATRIX KEYPAD / MEMBRAAN TOETSENBORD - Arduino les #26 2024, November
Anonim
Arduino DIY-calculator met 1602 LCD en 4x4 toetsenbord
Arduino DIY-calculator met 1602 LCD en 4x4 toetsenbord

Hallo jongens in deze instructables zullen we een rekenmachine maken met Arduino die basisberekeningen kan doen. Dus in principe zullen we invoer nemen van het 4x4-toetsenbord en de gegevens afdrukken op een 16x2 lcd-scherm en Arduino zal de berekeningen uitvoeren.

Stap 1: Dingen die je nodig hebt

Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt

Voor deze instructables hebben we de volgende dingen nodig: Arduino Uno (elke versie zal werken)

16 × 2 LCD-scherm

4×4 Toetsenbord9V BatterijBreadboardVerbindingsdraden

Stap 2: Aansluitingen

Verbindingen
Verbindingen
Verbindingen
Verbindingen

Het complete schakelschema van dit Arduino Calculator Project staat hierboven. De in het schakelschema getoonde +5V- en massa-aansluiting kan worden verkregen via de 5V- en massa-pin van de Arduino. De Arduino zelf kan worden gevoed vanaf uw laptop of via de DC-aansluiting met behulp van een 12V-adapter of 9V-batterij. We bedienen het LCD-scherm in 4-bit-modus met Arduino, dus alleen de laatste vier databits van het LCD-scherm zijn verbonden met Arduino. Het toetsenbord heeft 8 uitgangspinnen die moeten worden aangesloten van pin 0 naar pin 7, zoals hierboven weergegeven. Sommige Arduino-kaarten kunnen een fout vertonen tijdens het uploaden van het programma als er iets is aangesloten op pin 0 en pin1, dus als je iets ervaart, verwijder dan gewoon het toetsenbord tijdens het uploaden van het programma.

Stap 3: Coderen

Code
Code

Kopieer de volgende code en upload uw arduino ernaar:/* * Arduino Keypad-calculatorprogramma */#include "LiquidCrystal.h" //Header-bestand voor LCD van https://www.arduino.cc/en/Reference/LiquidCrystal# omvatten "Keypad.h" // Header-bestand voor Keypad van https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Vier rijenconst byte COLS = 4; // Drie kolommen// Definieer de Keymapchar-toetsen [ROWS][COLS] = { {'7', '8', '9', 'D'}, {'4', '5', '6', ' C'}, {'1', '2', '3', 'B'}, {'*', '0', '#', 'A'}};byte rowPins[ROWS] = { 0, 1, 2, 3 };// Sluit toetsenbord ROW0, ROW1, ROW2 en ROW3 aan op deze Arduino-pinnen.byte colPins [COLS] = {4, 5, 6, 7}; // Sluit toetsenbord COL0, COL1 en COL2 aan op deze Arduino-pinnen. Keypad kpd = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); // Maak de Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; //Pinnen waarop LCD is aangesloten LiquidCrystal lcd (rs, en, d4, d5, d6, d7); lang Num1, Num2, Getal; char-toets, actie; boolean resultaat = false; ongeldige setup () { lcd.begin (16, 2); // We gebruiken een 16 * 2 LCD-scherm lcd.print ("DIY Calculator"); // Geef een introbericht weer lcd.setCursor (0, 1); // zet de cursor op kolom 0, regel 1 vertraging (2000); //Wacht tot het scherm info lcd.clear(); // Maak het vervolgens schoon} void loop () {key = kpd.getKey (); //opslaan van ingedrukte toetswaarde in een charif (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); }nietig DetectButtons(){ lcd.clear(); //Maak het dan schoon als (key=='*') //Als de annuleerknop is ingedrukt {Serial.println ("Button Cancel"); Getal=Num1=Num2=0; result=false;} if (key == '1') //If Button 1 is ingedrukt {Serial.println ("Button 1"); if (Getal==0) Getal=1; anders Getal = (Getal*10) + 1; //Twee keer ingedrukt } if (toets == '4') //Als knop 4 wordt ingedrukt {Serial.println ("Knop 4"); if (Getal==0) Getal=4; anders Getal = (Getal*10) + 4; //Twee keer ingedrukt } if (key == '7') //If Button 7 is ingedrukt {Serial.println ("Button 7"); if (Getal==0) Getal=7; anders Getal = (Getal*10) + 7; // Tweemaal ingedrukt } if (key == '0') {Serial.println ("Knop 0"); // Knop 0 wordt ingedrukt als (nummer == 0) nummer = 0; anders Getal = (Getal*10) + 0; // Tweemaal ingedrukt } als (toets == '2') // Knop 2 is ingedrukt {Serial.println ("Knop 2"); if (Getal==0) Getal=2; anders Getal = (Getal*10) + 2; // Tweemaal ingedrukt } if (key == '5') {Serial.println ("Knop 5"); if (Getal==0) Getal=5; anders Getal = (Getal*10) + 5; // Tweemaal ingedrukt } if (key == '8') {Serial.println ("Knop 8"); if (Getal==0) Getal=8; anders Getal = (Getal*10) + 8; // Tweemaal ingedrukt } if (key == '#') {Serial.println ("Button Equal"); Getal2=Nummer; resultaat = waar; } if (key == '3') {Serial.println ("Knop 3"); if (Getal==0) Getal=3; anders Getal = (Getal*10) + 3; // Tweemaal ingedrukt } if (key == '6') {Serial.println ("Knop 6"); if (Getal==0) Getal=6; anders Getal = (Getal*10) + 6; // Tweemaal ingedrukt } if (key == '9') {Serial.println ("Knop 9"); if (Getal==0) Getal=9; anders Getal = (Getal*10) + 9; // Tweemaal ingedrukt } if (toets == 'A' || toets == 'B' || toets == 'C' || toets == 'D') // Knoppen detecteren op kolom 4 { Num1 = nummer; Getal =0; if (key == 'A') {Serial.println ("Toevoeging"); action = '+';} if (key == 'B') {Serial.println ("Aftrekken"); actie = '-'; } if (key == 'C') {Serial.println ("Vermenigvuldiging"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); actie = '/';} vertraging(100); }}

void BerekenResultaat(){ if (action=='+') Getal = Num1+Num2; if (action=='-') Getal = Num1-Num2; if (action=='*') Getal = Num1*Num2; if (action=='/') Getal = Num1/Num2; } void DisplayResult() { lcd.setCursor(0, 0); // zet de cursor op kolom 0, regel 1 lcd.print (Num1); lcd.print(actie); lcd.afdruk (Num2); if (resultaat==waar) {lcd.print(" ="); lcd.print (Number);} // Geef het resultaat weer lcd.setCursor (0, 1); // zet de cursor op kolom 0, regel 1 lcd.print(Number); // Geef het resultaat weer}

Stap 4: Uitvoer van rekenmachine

Uitvoer van rekenmachine
Uitvoer van rekenmachine
Uitvoer van rekenmachine
Uitvoer van rekenmachine
Uitvoer van rekenmachine
Uitvoer van rekenmachine

Dus we hebben de verbindingen voltooid en de code geüpload naar Arduino en het is tijd om de stroom aan te sluiten en wat berekeningen uit te voeren en zoals je kunt zien, doe ik berekeningen met het toetsenbord en je kunt de resultaten op het lcd zien. Dus veel plezier met het maken van je eigen doe-het-zelf rekenmachine met arduino.

Aanbevolen: