Indholdsfortegnelse:

Arduino -lommeregner ved hjælp af 4X4 -tastatur: 4 trin (med billeder)
Arduino -lommeregner ved hjælp af 4X4 -tastatur: 4 trin (med billeder)

Video: Arduino -lommeregner ved hjælp af 4X4 -tastatur: 4 trin (med billeder)

Video: Arduino -lommeregner ved hjælp af 4X4 -tastatur: 4 trin (med billeder)
Video: Using BTS7960 BTN8982TA PWM H Bridge motor controller module with Arduino library 2024, Juni
Anonim
Image
Image

I denne vejledning bygger vi vores egen lommeregner med Arduino. Værdierne kan sendes ind via et tastatur (4 × 4 tastatur), og resultatet kan ses på en LCD -skærm. Denne lommeregner kunne udføre enkle operationer som addition, subtraktion, multiplikation og division med hele tal. Men når du forstår konceptet, kan du implementere selv videnskabelige funktioner med Arduinos indbyggede funktioner.

Forbrugsvarer

Arduino Uno

16 × 2 LCD -skærm

4 × 4 tastatur

Brødbræt

Jumper kabler

Arduino kabel

Trin 1: Skemaer

Trin 2: Installation af bibliotek:

Som tidligere fortalt, vil vi interface et LCD og tastatur med Arduino ved hjælp af biblioteker. Så lad os først tilføje dem til vores Arduino IDE. Biblioteket til LCD er allerede inkluderet i din Arduino som standard, så vi behøver ikke bekymre dig om det. For tastaturbibliotek (klik på linket for at downloade det fra Github). Du får en ZIP -fil, og tilføj derefter denne lib til Arduino ved Sketch -> Inkluder bibliotek -> Tilføj. ZIP -fil, og peg placeringen til denne downloadede fil. Når det er gjort, er vi klar til programmering.

Trin 3: Kildekode:

/*

© Techtronic Harsh

*/

#omfatte

#omfatte

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

const byte Rækker = 4; const byte COLS = 4;

char nøgler [ROWS] [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};

Tastatur myKeypad = Tastatur (makeKeymap (nøgler), rowPins, colPins, ROWS, COLS);

boolsk presentValue = false;

boolsk næste = falsk; boolsk final = false; String num1, num2; int svar; char op;

ugyldig opsætning ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Lommeregner"); forsinkelse (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Like And"); lcd.setCursor (0, 1); lcd.print ("Abonner os"); forsinkelse (3000); lcd.clear (); }

void loop () {

char key = myKeypad.getKey ();

hvis (key! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || nøgle == '7' || nøgle == '8' || nøgle == '9' || nøgle == '0'))

{if (presentValue! = true) {num1 = num1 + nøgle; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // for at justere et mellemrum til operator lcd.print (num1); } ellers {num2 = num2 + nøgle; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); endelig = sand; }}

ellers hvis (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))

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

ellers hvis (final == true && key! = NO_KEY && key == '=') {

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

/*

© Techtronic Harsh

*/

Trin 4: Arbejde:

Forbind forbindelserne i henhold til kredsløbsdiagram og upload koden. Hvis det viser fejl, skal du sørge for at have tilføjet biblioteket i henhold til instruktionerne ovenfor.

Tegn på tastatur og antagelse:

  • “A” - tilføjelse (+)
  • “B” - Subtraktion (-)
  • “C” - multiplikation (*)
  • “D” - division (/)
  • “*” - Klar (C)
  • “#” - er lig med (=)

Anbefalede: