Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
I denne opplæringen skal vi bygge vår egen kalkulator med Arduino. Verdiene kan sendes inn via et tastatur (4 × 4 tastatur) og resultatet kan vises på en LCD -skjerm. Denne kalkulatoren kan utføre enkle operasjoner som addisjon, subtraksjon, multiplikasjon og divisjon med hele tall. Men når du forstår konseptet, kan du implementere selv vitenskapelige funksjoner med Arduinos innebygde funksjoner.
Rekvisita
Arduino Uno
16 × 2 LCD -skjerm
4 × 4 tastatur
Brødbrett
Hoppekabler
Arduino kabel
Trinn 1: Skjemaer
Trinn 2: Installasjon av bibliotek:
Som fortalt tidligere skal vi koble til en LCD og et tastatur med Arduino ved å bruke biblioteker. Så la oss legge dem til vår Arduino IDE først. Biblioteket for LCD er allerede inkludert i Arduino som standard, så vi trenger ikke bekymre deg for det. For tastaturbibliotek (klikk på lenken for å laste den ned fra Github). Du får en ZIP -fil, og deretter legger du denne lib til Arduino by Sketch -> Inkluder bibliotek -> Legg til. ZIP -fil og peker plasseringen til denne nedlastede filen. Når det er gjort, er vi klare for programmering.
Trinn 3: Kildekode:
/*
© Techtronic Harsh
*/
#inkludere
#inkludere
LiquidCrystal lcd (0, 1, 2, 3, 4, 5);
const byte RADER = 4; const byte COLS = 4;
forkulletaster [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};
Tastatur myKeypad = Tastatur (makeKeymap (nøkler), rowPins, colPins, ROWS, COLS);
boolsk presentValue = false;
boolsk neste = false; boolsk final = false; String num1, num2; int svar; char op;
ugyldig oppsett ()
{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Kalkulator"); forsinkelse (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Like And"); lcd.setCursor (0, 1); lcd.print ("Abonner oss"); forsinkelse (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' || nøkkel == '7' || nøkkel == '8' || nøkkel == '9' || nøkkel == '0'))
{if (presentValue! = true) {num1 = num1 + nøkkel; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // for å justere ett mellomrom for operator lcd.print (num1); } annet {num2 = num2 + nøkkel; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); endelig = sant; }}
ellers hvis (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))
{if (presentValue == false) {presentValue = true; op = nøkkel; lcd.setCursor (15, 0); lcd.print (op); }}
annet hvis (final == true && key! = NO_KEY && key == '=') {
hvis (op == ' +') {svar = num1.toInt () + num2.toInt (); } annet hvis (op == ' -') {svar = num1.toInt () - num2.toInt (); } annet hvis (op == ' *') {svar = num1.toInt () * num2.toInt (); } annet hvis (op == ' /') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (svar); lcd.noAutoscroll (); } annet hvis (key! = NO_KEY && key == 'C') {lcd.clear (); presentValue = false; endelig = usant; num1 = ""; num2 = ""; svar = 0; op = ''; }}
/*
© Techtronic Harsh
*/
Trinn 4: Arbeid:
Gjør tilkoblingene i henhold til kretsdiagrammet og last opp koden. Hvis det viser feil, må du kontrollere at du har lagt til biblioteket i henhold til instruksjonene ovenfor.
Tegn på tastatur og antagelse:
- “A” - tillegg (+)
- “B” - Subtraksjon (-)
- “C” - multiplikasjon (*)
- “D” - divisjon (/)
- “*” - Fjern (C)
- “#” - er lik (=)