Innehållsförteckning:

Arduino -räknare med 4X4 knappsats: 4 steg (med bilder)
Arduino -räknare med 4X4 knappsats: 4 steg (med bilder)

Video: Arduino -räknare med 4X4 knappsats: 4 steg (med bilder)

Video: Arduino -räknare med 4X4 knappsats: 4 steg (med bilder)
Video: Web Programming - Computer Science for Business Leaders 2016 2024, September
Anonim
Image
Image

I denna handledning kommer vi att bygga vår egen miniräknare med Arduino. Värdena kan skickas in via en knappsats (4 × 4 knappsats) och resultatet kan ses på en LCD -skärm. Denna räknare kan utföra enkla operationer som addition, subtraktion, multiplikation och division med heltal. Men när du väl förstår konceptet kan du implementera även vetenskapliga funktioner med Arduinos inbyggda funktioner.

Tillbehör

Arduino Uno

16 × 2 LCD -skärm

4 × 4 knappsats

Bakbord

Startkablar

Arduino -kabel

Steg 1: Scheman

Steg 2: Installation av bibliotek:

Som tidigare berättat kommer vi att ansluta en LCD och knappsats till Arduino med hjälp av bibliotek. Så låt oss lägga till dem i vår Arduino IDE först. Biblioteket för LCD är redan inkluderat i din Arduino som standard så vi behöver inte oroa oss för det. För knappsatsbibliotek (klicka på länken för att ladda ner det från Github). Du får en ZIP -fil och lägger sedan till denna lib till Arduino med Sketch -> Inkludera bibliotek -> Lägg till. ZIP -fil och pekar platsen på den nedladdade filen. När vi är klara är vi redo för programmering.

Steg 3: Källkod:

/*

© Techtronic Harsh

*/

#omfatta

#omfatta

LiquidCrystal lcd (0, 1, 2, 3, 4, 5);

const byte RADER = 4; const byte COLS = 4;

char nycklar [RADER] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {' C ',' 0 ',' = ','/'}}; byte rowPins [ROWS] = {13, 12, 11, 10}; byte colPins [COLS] = {9, 8, 7, 6};

Knappsats myKeypad = Knappsats (makeKeymap (nycklar), rowPins, colPins, ROWS, COLS);

booleskt presentValue = false;

booleskt nästa = falskt; booleskt slutligt = falskt; Sträng num1, num2; int svar; char op;

void setup ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Kalkylator"); fördröjning (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Gilla Och"); lcd.setCursor (0, 1); lcd.print ("Prenumerera oss"); fördröjning (3000); lcd.clear (); }

void loop () {

char key = myKeypad.getKey ();

if (key! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || key == '7' || key == '8' || key == '9' || key == '0'))

{if (presentValue! = true) {num1 = num1 + key; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // för att justera ett blanksteg för operator lcd.print (num1); } annat {num2 = num2 + nyckel; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); final = true; }}

annars om (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))

{if (presentValue == false) {presentValue = true; op = nyckel; lcd.setCursor (15, 0); lcd.print (op); }}

annars om (final == true && key! = NO_KEY && key == '=') {

om (op == ' +') {svar = num1.toInt () + num2.toInt (); } annars if (op == ' -') {answer = num1.toInt () - num2.toInt (); } annars if (op == ' *') {answer = num1.toInt () * num2.toInt (); } annars if (op == ' /') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (svar); lcd.noAutoscroll (); } annars if (key! = NO_KEY && key == 'C') {lcd.clear (); presentValue = false; slutlig = falsk; num1 = ""; num2 = ""; svar = 0; op = ''; }}

/*

© Techtronic Harsh

*/

Steg 4: Arbeta:

Gör anslutningarna enligt kretsschema och ladda upp koden. Om det visar fel, se till att du har lagt till biblioteket enligt instruktionerna ovan.

Tecken på knappsats och antagande:

  • “A” - Tillägg (+)
  • “B” - Subtraktion (-)
  • “C” - multiplikation (*)
  • “D” - Division (/)
  • “*” - Rensa (C)
  • “#” - är lika med (=)

Rekommenderad: