Innehållsförteckning:

Arduino DIY -räknare med 1602 LCD- och 4x4 -knappsats: 4 steg
Arduino DIY -räknare med 1602 LCD- och 4x4 -knappsats: 4 steg

Video: Arduino DIY -räknare med 1602 LCD- och 4x4 -knappsats: 4 steg

Video: Arduino DIY -räknare med 1602 LCD- och 4x4 -knappsats: 4 steg
Video: Lesson 2: Getting Arduino Software and using Documentation for SunFounder Arduino Kit | SunFounder 2024, November
Anonim
Arduino DIY -räknare med 1602 LCD och 4x4 knappsats
Arduino DIY -räknare med 1602 LCD och 4x4 knappsats

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

Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
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

Anslutningar
Anslutningar
Anslutningar
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

Koda
Koda

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

Kalkylatorutmatning
Kalkylatorutmatning
Kalkylatorutmatning
Kalkylatorutmatning
Kalkylatorutmatning
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: