Kazalo:
- 1. korak: Potrebne stvari
- 2. korak: Shema vezja
- Korak: Arduino kalkulator
- 4. korak:
- 5. korak: Delo Arduino kalkulatorja
- 6. korak: Koda
Video: Arduino kalkulator: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Programiranje je vedno zabavno in Arduino je čudovita platforma, če šele začenjate z vgrajenim programiranjem. V tej vadnici bomo z Arduinom izdelali lasten kalkulator. Vrednosti se lahko pošljejo prek tipkovnice (tipkovnica 4 × 4), rezultat pa si lahko ogledate na LCD zaslonu (16 × 2 točkovna matrika). Ta kalkulator lahko izvede preproste operacije, kot so seštevanje, odštevanje, množenje in deljenje s celimi števili. Ko pa razumete koncept, lahko z vgrajenimi funkcijami Arduino izvedete celo znanstvene funkcije. Na koncu tega projekta boste vedeli, kako uporabljati 16x2 LCD in tipkovnico z Arduinom ter kako enostavno jih je programirati z lahkoto razpoložljive knjižnice. Prav tako boste razumeli, kako programirati svoj Arduino za izvajanje določene naloge.
1. korak: Potrebne stvari
Arduino Uno (katera koli različica bo delovala) 16 × 2 LCD zaslon 4 × 4 tipkovnica 9V baterija Bordna deska in povezovalne žice
2. korak: Shema vezja
Korak: Arduino kalkulator
Celoten program Arduino za ta projekt je naveden na koncu tega projekta. Koda je razdeljena na majhne pomembne kose in razložena spodaj. Kot smo že povedali, bomo LCD in tipkovnico povezali z Arduinom z uporabo knjižnic. Zato jih najprej dodajmo v naš Arduino IDE. Knjižnica za LCD je privzeto že vključena v vaš Arduino, zato nam ni treba skrbeti. Za knjižnico tipkovnice kliknite povezavo, da jo prenesete iz Github. Dobili boste datoteko ZIP, nato pa dodajte ta lib v Arduino s programom Sketch -> Vključi knjižnico -> Dodaj datoteko. ZIP in pokažite lokacijo na to preneseno datoteko. Ko smo končali, smo pripravljeni na programiranje. Čeprav smo uporabili knjižnico za uporabo tipkovnice, moramo omeniti nekaj podrobnosti (prikazanih spodaj) o tipkovnici za Arduino. Spremenljivka ROWS in COLS bo povedala, koliko vrstic in stolpcev ima naša tipkovnica, zemljevid tipk pa prikazuje vrstni red, v katerem so tipke na tipkovnici. Tipkovnica, ki jo uporabljam v tem projektu, je videti spodaj tako, da zemljevid ključev predstavlja isto. Nadalje smo omenili, na katere zatiče je tipkovnica povezana s spremenljivo matriko rowPins in colPins.const byte ROWS = 4; // Štiri vrstice const byte COLS = 4; // Trije stolpci // Določimo tipke Keymapchar [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Povežite tipkovnico ROW0, ROW1, ROW2 in ROW3 s temi Arduino zatiči. Bajt colPins [COLS] = {4, 5, 6, 7}; // Povežite tipkovnico COL0, COL1 in COL2 s temi Arduino zatiči. Ko smo omenili, kakšno tipkovnico uporabljamo in kako je povezana, lahko s temi podrobnostmi ustvarimo tipkovnico s spodnjo vrstico Tipkovnica kpd = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS); // Ustvarjanje tipkovnice Podobno moramo tudi povedati, na katere nožice Arduina je priključen LCD. Po našem diagramu vezja bi bile definicije take kot spodaj const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Zatiči, na katere je priključen LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7); // ustvarite LCD V notranjosti nastavitvene funkcije samo prikažemo ime projekta in nato nadaljujemo do zanke while, kjer leži glavni projekt. V bistvu moramo preveriti, ali se na tipkovnici kaj vnese, če moramo vnesti, moramo prepoznati kaj se tipka in nato pretvoriti v spremenljivko, ko pritisnemo “=”, moramo izračunati rezultat in ga nato končno prikazati na LCD -prikazovalniku. Točno to se naredi znotraj funkcije zanke, kot je prikazano spodaj key = kpd.getKey (); // shranjevanje pritisnjene vrednosti ključa v charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); Kaj se zgodi v vsaki funkciji, je razloženo s pomočjo vrstic za komentarje, pojdite skozi celotno kodo spodaj, se poigrajte z njo, da razumete, kako dejansko deluje. Če dvomite o določeni vrstici, uporabite razdelek za komentarje ali forume.
4. korak:
5. korak: Delo Arduino kalkulatorja
Povežite se po shemi vezja in naložite spodnjo kodo. Če se prikaže napaka, se prepričajte, da ste knjižnico dodali po zgornjih navodilih. Poskusite lahko tudi s simulacijo, da preverite, ali je težava v strojni opremi. Če je vse narejeno tako, kot bi moralo biti, bo spodaj vaša strojna oprema videti nekako takole z LCD -prikazovalnikom tega kalkulatorja Arduino s tipkovnico 4x4 v akciji Ker tukaj uporabljena tipkovnica nima ustreznih oznak, sem predpostavil, da so abecede operaterji kot spodaj naveden Znak na tipkovnici Domneva se, da je dodatek “A” (+) “B” Odštevanje (-) “C” Množenje (*) “D” Delitev (/) “*” Počisti (C) “#” Enako (=) Lahko uporabite oznako, da napišete, kaj vsak gumb dejansko predstavlja. Ko to storite, lahko neposredno začnete uporabljati kalkulator. Vnese številko in se bo pojavila v drugi vrstici, pritisnite operand in vnesite drugo številko, nazadnje pritisnite tipko "#", da dobite rezultat. Poskusite lahko tudi z izdelavo tega kalkulatorja Arduino na osnovi zaslona na dotik.
6. korak: Koda
/ * * Program kalkulatorja tipkovnice Arduino */#include // Datoteka glave za LCD z https://www.arduino.cc/en/Reference/LiquidCrystal#include // Datoteka z glavo za tipkovnico s https://github.com/ Chris-A/Keypadconst bajt ROWS = 4; // Štiri vrstice const byte COLS = 4; // Trije stolpci // Določimo tipke Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Povežite tipkovnico ROW0, ROW1, ROW2 in ROW3 s temi Arduino zatiči. Bajt colPins [COLS] = {4, 5, 6, 7}; // Povežite tipkovnico COL0, COL1 in COL2 s temi Arduino zatiči. Tipkovnica kpd = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS); // Ustvari Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Zatiči, na katere je priključen LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7); dolga Num1, Num2, Število; char ključ, akcija; logični rezultat = false; void setup () {lcd.begin (16, 2); // Uporabljamo 16*2 LCD zaslon lcd.print ("DIY Calculator"); // Prikaz uvodnega sporočila lcd.setCursor (0, 1); // nastavimo kazalec na stolpec 0, vrstica 1 lcd.print ("-CircuitDigest"); // Prikaz zakasnitve uvodnega sporočila (2000); // Počakajte, da se na zaslonu prikaže info lcd.clear (); // Nato ga očistimo} void loop () {key = kpd.getKey (); // shranjevanje pritisnjene vrednosti ključa v charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Nato ga očistimo, če (key == '*') // Če pritisnemo gumb za preklic {Serial.println ("Button Cancel"); Število = Num1 = Num2 = 0; result = false;} if (key == '1') // Če pritisnete gumb 1 {Serial.println ("Button 1"); če (Število == 0) Število = 1; else Število = (Število*10) + 1; // Dvakrat pritisnjen} if (key == '4') // Če pritisnemo gumb 4 {Serial.println ("Button 4"); če (Število == 0) Število = 4; else Število = (Število*10) + 4; // Dvakrat pritisnjen} if (key == '7') // Če pritisnemo gumb 7 {Serial.println ("Button 7"); če (Število == 0) Število = 7; else Število = (Število*10) + 7; // Dvakrat pritisnjen} if (key == '0') {Serial.println ("Button 0"); // Gumb 0 pritisnemo, če (Število == 0) Število = 0; else Število = (Število*10) + 0; // dvakrat pritisnjen} if (key == '2') // pritisnjen gumb 2 {Serial.println ("gumb 2"); če (Število == 0) Število = 2; else Število = (Število*10) + 2; // Dvakrat pritisnjen} if (key == '5') {Serial.println ("Button 5"); če (Število == 0) Število = 5; else Število = (Število*10) + 5; // Dvakrat pritisnjen} if (key == '8') {Serial.println ("Button 8"); če (Število == 0) Število = 8; else Število = (Število*10) + 8; // Dvakrat pritisnjen} if (key == '#') {Serial.println ("Button Equal"); Num2 = Število; rezultat = res; } if (key == '3') {Serial.println ("Gumb 3"); če (Število == 0) Število = 3; else Število = (Število*10) + 3; // Dvakrat pritisnjen} if (key == '6') {Serial.println ("Button 6"); če (Število == 0) Število = 6; else Število = (Število*10) + 6; // Dvakrat pritisnjen} if (key == '9') {Serial.println ("Button 9"); če (Število == 0) Število = 9; else Število = (Število*10) + 9; // Dvakrat pritisnjen} if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // Zaznavanje gumbov v stolpcu 4 {Num1 = Number; Število = 0; if (key == 'A') {Serial.println ("Dodatek"); action = '+';} if (key == 'B') {Serial.println ("Odštevanje"); dejanje = '-'; } if (key == 'C') {Serial.println ("Množenje"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} zamik (100); }} void CalculateResult () {if (action == '+') Number = Num1+Num2; if (dejanje == '-') Število = Num1-Num2; if (dejanje == '*') Število = Num1*Num2; if (dejanje == '/') Število = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // nastavimo kazalec na stolpec 0, vrstica 1 lcd.print (Num1); lcd.print (dejanje); lcd.print (Num2); if (rezultat == res) {lcd.print ("="); lcd.print (Number);} // Prikaz rezultata lcd.setCursor (0, 1); // nastavimo kazalec na stolpec 0, vrstica 1 lcd.print (Število); // Prikaz rezultata}
Priporočena:
Arduino kalkulator zaslona na dotik: 7 korakov
Arduino kalkulator zaslona na dotik: Pozdravljeni! To je projekt izdelave kalkulatorja z zaslonom na dotik z uporabo Arduino Uno in TFT LCD ščita. Pripravila sem koncept za moj razred programiranja na šoli in izkušnje pri gradnji tega projekta so bile zelo zanimive. Ta kalkulator je
Arduino kalkulator z LED izhodom: 5 korakov
Arduino kalkulator z LED izhodom: Hej fantje! Želite izvedeti, kako uporabljati vhod in izhod serijskega monitorja. No, tukaj imate popolno vadnico, kako to storiti! V tem navodilu vas bom vodil skozi preproste korake, potrebne za ustvarjanje kalkulatorja z uporabo serijskega Arduino m
Arduino kalkulator: 8 korakov (s slikami)
Arduino kalkulator: V tem navodilu vam bom pokazal, kako narediti Arduino kalkulator, ki je enako dober kot kateri koli drug kalkulator (no … nekako). Čeprav zaradi velikosti verjetno ni praktično, se ponavljajoča uporaba gumba za enako (zaradi pomanjkanja
Arduino GPS Shield Vadnica: Kalkulator razdalje: 5 korakov
Arduino GPS Shield Vadnica: Kalkulator razdalje: GPS ali sistem globalnega pozicioniranja je satelitski radijsko-navigacijski sistem, ki vam omogoča, da ugotovite svojo lokacijo in vas vodi po drugih lokacijah po dobro znanem in vnaprej določenem zemljevidu, kot so Google zemljevidi, in v svetu Arduino, ti
Najpreprostejši kalkulator Arduino: 5 korakov
Najpreprostejši kalkulator Arduino: Tu je moja različica najpreprostejšega kalkulatorja arduino doslej. Najboljši za začetnike kot projekt za začetnike arduina. Ne le preprost je ta projekt veliko cenejši v približno 40 $ s