Innehållsförteckning:
Video: Arduino DIY -räknare med 1602 LCD- och 4x4 -knappsats: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
Hej killar i denna instruktioner kommer vi att göra en miniräknare med Arduino som kan göra grundläggande beräkningar. Så i grund och botten tar vi inmatning från 4x4 -knappsatsen och skriver ut data på 16x2 lcd -skärm och arduino kommer att göra beräkningarna.
Steg 1: Saker du behöver
För dessa instruktioner behöver vi följande saker: Arduino Uno (valfri version fungerar)
16 × 2 LCD -skärm
4 × 4 knappsats 9V batteri Brödbräda Anslutningskablar
Steg 2: Anslutningar
Det fullständiga kretsschemat för detta Arduino Calculator -projekt ges ovan. +5V och jordanslutningen som visas i kretsschemat kan erhållas från 5V och jordstiftet på Arduino. Arduino själv kan drivas från din bärbara dator eller via DC-uttaget med hjälp av en 12V-adapter eller 9V-batteri. Vi använder LCD-skärmen i 4-bitars läge med Arduino så att bara de sista fyra databitarna på LCD-skärmen är anslutna till Arduino. Tangentbordet kommer att ha 8 utgångsstiften som måste anslutas från stift 0 till stift 7 som visas ovan. Vissa Arduino -kort kan visa ett fel när du laddar upp programmet om det finns något anslutet till stift 0 och stift 1, så om du upplever något tar du bara bort knappsatsen medan du laddar upp programmet.
Steg 3: Kod
Kopiera följande kod och ladda upp den till din arduino:/ * * Arduino knappsatsberäknare Program */#inkluderar "LiquidCrystal.h" // Rubrikfil för LCD från https://www.arduino.cc/en/Reference/LiquidCrystal# inkludera "Tangentbord.h" // Rubrikfil för knappsats från https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Fyra rader, konstant byte COLS = 4; // Tre kolumner // Definiera Keymapchar -tangenterna [RADER] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Anslut knappsatsen ROW0, ROW1, ROW2 och ROW3 till dessa Arduino -stift. Byte colPins [COLS] = {4, 5, 6, 7}; // Anslut knappsats COL0, COL1 och COL2 till dessa Arduino -pinnar. Tangentbord kpd = Knappsats (makeKeymap (nycklar), rowPins, colPins, ROWS, COLS); // Skapa tangentbordskonsten int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Stift som LCD är ansluten till LiquidCrystal lcd (rs, en, d4, d5, d6, d7); långa Num1, Num2, Antal; röding nyckel, handling; booleskt resultat = falskt; void setup () {lcd.begin (16, 2); // Vi använder en 16*2 LCD -skärm lcd.print ("DIY -kalkylator"); // Visa ett introduktionsmeddelande lcd.setCursor (0, 1); // ställ markören till kolumn 0, rad 1 fördröjning (2000); // Vänta tills displayen visar information lcd.clear (); // Rensa det sedan} void loop () {key = kpd.getKey (); // lagra tryckt nyckelvärde i en charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Rengör sedan den om (key == '*') // Om Avbryt -knappen trycks in {Serial.println ("Knappavbryt"); Tal = Num1 = Num2 = 0; result = false;} if (key == '1') // Om knapp 1 trycks in {Serial.println ("Button 1"); om (Number == 0) Number = 1; annars Antal = (Tal*10) + 1; // Tryckt två gånger} om (key == '4') // Om knapp 4 trycks ned {Serial.println ("knapp 4"); om (Number == 0) Number = 4; annars Antal = (Tal*10) + 4; // Tryckt två gånger} om (key == '7') // Om knapp 7 trycks ned {Serial.println ("knapp 7"); om (Number == 0) Number = 7; annars Antal = (Tal*10) + 7; // Tryckt två gånger} if (key == '0') {Serial.println ("Knapp 0"); // Knapp 0 trycks om (Number == 0) Number = 0; annars Antal = (Tal*10) + 0; // Tryckt två gånger} om (key == '2') // Knapp 2 trycks {Serial.println ("Knapp 2"); om (Number == 0) Number = 2; annars Antal = (Tal*10) + 2; // Tryckt två gånger} if (key == '5') {Serial.println ("Knapp 5"); om (Number == 0) Number = 5; annars Antal = (Tal*10) + 5; // Tryckt två gånger} if (key == '8') {Serial.println ("Knapp 8"); om (Number == 0) Number = 8; annars Antal = (Tal*10) + 8; // Tryckt två gånger} if (key == '#') {Serial.println ("Button Equal"); Num2 = Tal; resultat = sant; } if (key == '3') {Serial.println ("Knapp 3"); om (Number == 0) Number = 3; annars Antal = (Tal*10) + 3; // Tryckt två gånger} if (key == '6') {Serial.println ("Knapp 6"); om (Number == 0) Number = 6; annars Antal = (Tal*10) + 6; // Tryckt två gånger} if (key == '9') {Serial.println ("Knapp 9"); om (Number == 0) Number = 9; annars Antal = (Tal*10) + 9; // Tryckt två gånger} if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // Detecting Buttons on Column 4 {Num1 = Number; Antal = 0; if (key == 'A') {Serial.println ("Tillägg"); action = '+';} if (key == 'B') {Serial.println ("Subtraktion"); action = '-'; } if (key == 'C') {Serial.println ("multiplikation"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} fördröjning (100); }}
void CalculateResult () {if (action == '+') Number = Num1+Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1*Num2; if (action == '/') Number = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // ställ markören till kolumn 0, rad 1 lcd.print (Num1); lcd.print (åtgärd); lcd.print (Num2); if (resultat == true) {lcd.print ("="); lcd.print (Number);} // Visa resultatet lcd.setCursor (0, 1); // ställ markören till kolumn 0, rad 1 lcd.print (Number); // Visa resultatet}
Steg 4: Kalkylatorutmatning
Så vi slutförde anslutningarna och laddade upp koden till arduino och det var dags att ansluta ström och göra några beräkningar & som du kan se gör jag beräkningar med knappsatsen och du kan se resultaten på LCD -skärmen. Så ha kul att göra din egen DIY -kalkylator med Arduino.
Rekommenderad:
RFID -säkerhetssystem med LCD 1602: 4 steg
RFID -säkerhetssystem med LCD 1602: Introduktion Idag kommer vi att göra ett RFID -säkerhetssystem. Detta kommer att fungera som ett säkerhetssystem så när en RFID -tagg eller ett kort är i närheten kommer det att visa ett meddelande på LCD 1602. Syftet med detta projekt är att simulera hur RFID -dörrlås fungerar. Så
Arduino LCD 16x2 Handledning - Gränssnitt 1602 LCD -skärm med Arduino Uno: 5 steg
Arduino LCD 16x2 Handledning | Gränssnitt 1602 LCD -skärm med Arduino Uno: Hej killar eftersom många projekt behöver en skärm för att visa data oavsett om det är någon DIY -mätare eller YouTube -prenumerationsräknare eller en kalkylator eller ett knapplås med display och om alla dessa typer av projekt är gjorda med arduino kommer de definitivt
1602 LCD -knappsatsskyddsmodul med I2C -ryggsäck: 6 steg
1602 LCD -knappsatsskyddsmodul med I2C -ryggsäck: Som en del av ett större projekt ville jag ha en LCD -display och en knappsats för navigering av några enkla menyer. Jag kommer att använda många av I/O -portarna på Arduino för andra jobb, så jag ville ha ett I2C -gränssnitt för LCD -skärmen. Så jag köpte lite hårdvara
Använda 1602 LCD -knappsatssköld med Arduino [+praktiska projekt]: 7 steg
Använda 1602 LCD -knappsatssköld W/ Arduino [+Praktiska projekt]: Du kan läsa detta och andra fantastiska självstudier på ElectroPeaks officiella webbplats Översikt I denna handledning lär du dig hur du använder Arduino LCD -knappsatsskärm med 3 praktiska projekt. Vad du kommer att lära dig: Hur man sätter upp skölden och identifierar nycklarna
LCD 1602 med Arduino Uno R3: 6 steg
LCD 1602 Med Arduino Uno R3: I den här lektionen lär vi oss hur man använder en LCD1602 för att visa tecken och strängar. LCD1602, eller 1602 tecken av flytande kristall, är en slags punktmatrismodul för att visa bokstäver, siffror och tecken och så vidare. Den består av 5x7 eller