Obsah:
Video: Kalkulačka pre domácich majstrov Arduino používajúca 1602 LCD a klávesnicu 4x4: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Ahoj, chlapci v tomto návode, vyrobíme kalkulačku pomocou Arduina, ktorá dokáže základné výpočty. V zásade teda vezmeme vstup z klávesnice 4x4 a vytlačíme údaje na displej 16x2 LCD a arduino vykoná výpočty.
Krok 1: Veci, ktoré potrebujete
Na tento návod budeme potrebovať nasledujúce veci: Arduino Uno (akákoľvek verzia bude fungovať)
16 × 2 LCD displej
Klávesnica 4 × 4 9V batériaBreadboardPripojovacie vodiče
Krok 2: Pripojenia
Kompletný schéma zapojenia tohto projektu kalkulačky Arduino je uvedený vyššie. Pripojenie +5 V a uzemnenie uvedené v schéme zapojenia je možné získať z 5 V a uzemňovacieho kolíka Arduina. Samotné Arduino je možné napájať z prenosného počítača alebo z konektora DC pomocou 12 V adaptéra alebo 9 V batérie. Displej LCD prevádzkujeme v 4-bitovom režime s Arduino, takže k Arduinu sú pripojené iba posledné štyri dátové bity LCD. Klávesnica bude mať 8 výstupných pinov, ktoré je potrebné pripojiť od pinu 0 do pinu 7, ako je uvedené vyššie. Niektoré dosky Arduino môžu pri odosielaní programu zobrazovať chybu, ak sú na pine 0 a pine1 niečo pripojené, takže ak sa vyskytnú, stačí ich odstrániť. klávesnice počas nahrávania programu.
Krok 3: Kód
Skopírujte nasledujúci kód a nahrajte do neho svoje arduino:/ * * Program pre kalkulačku klávesnice Arduino */#obsahuje „LiquidCrystal.h“// Hlavičkový súbor pre LCD z https://www.arduino.cc/en/Reference/LiquidCrystal# zahrnúť „Keypad.h“// hlavičkový súbor pre klávesnicu z https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Štyri riadky bajtu COLS = 4; // Tri stĺpce // Definujte kľúče Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Pripojenie klávesnice ROW0, ROW1, ROW2 a ROW3 k týmto pinom Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // K týmto pinom Arduino pripojte klávesnicu COL0, COL1 a COL2. Keypad kpd = Keypad (makeKeymap (klávesy), rowPins, colPins, ROWS, COLS); // Vytvorte Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Piny, ku ktorým je pripojený LCDLiquidCrystal lcd (rs, en, d4, d5, d6, d7); dlhé Num1, Num2, Number; znakový kľúč, akcia; boolean result = false; void setup () {lcd.begin (16, 2); // Používame 16*2 LCD displej lcd.print („kalkulačka pre domácich majstrov“); // Zobrazenie úvodnej správy lcd.setCursor (0, 1); // nastav kurzor na stlpec 0, oneskorenie riadku 1 (2000); // Počkajte, kým sa na displeji nezobrazia informácie lcd.clear (); // Potom to vyčistite} void loop () {key = kpd.getKey (); // uloženie hodnoty stlačeného kľúča do znaku (kľúč! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } neplatné DetectButtons () {lcd.clear (); // Potom vyčistite if (key == '*') // Ak je stlačené tlačidlo Cancel {Serial.println ("Button Cancel"); Číslo = Číslo1 = Číslo2 = 0; result = false;} if (key == '1') // Ak je stlačené tlačidlo 1 {Serial.println ("Button 1"); ak (Číslo == 0) Číslo = 1; inak Číslo = (Číslo*10) + 1; // Dvakrát stlačené} if (kláves == '4') // Ak je stlačené tlačidlo 4 {Serial.println ("Button 4"); ak (Číslo == 0) Číslo = 4; inak Číslo = (Číslo*10) + 4; // Dvakrát stlačené} if (kláves == '7') // Ak je stlačené tlačidlo 7 {Serial.println ("Tlačidlo 7"); ak (Číslo == 0) Číslo = 7; inak Číslo = (Číslo*10) + 7; // Dvakrát stlačené} if (key == '0') {Serial.println ("Button 0"); // Tlačidlo 0 sa stlačí, ak (Číslo == 0) Číslo = 0; inak Číslo = (Číslo*10) + 0; // Dvakrát stlačené} if (kláves == '2') // Tlačidlo 2 je stlačené {Serial.println ("Tlačidlo 2"); ak (Číslo == 0) Číslo = 2; inak Číslo = (Číslo*10) + 2; // Dvakrát stlačené} if (kláves == '5') {Serial.println ("Button 5"); ak (Číslo == 0) Číslo = 5; inak Číslo = (Číslo*10) + 5; // Dvakrát stlačené} if (kláves == '8') {Serial.println ("Tlačidlo 8"); ak (Číslo == 0) Číslo = 8; inak Číslo = (Číslo*10) + 8; // Dvakrát stlačené} if (key == '#') {Serial.println ("Button Equal"); Num2 = číslo; výsledok = true; } if (key == '3') {Serial.println ("Button 3"); ak (Číslo == 0) Číslo = 3; inak Číslo = (Číslo*10) + 3; // Dvakrát stlačené} if (kláves == '6') {Serial.println ("Button 6"); ak (Číslo == 0) Číslo = 6; inak Číslo = (Číslo*10) + 6; // Dvakrát stlačené} if (kláves == '9') {Serial.println ("Tlačidlo 9"); ak (Číslo == 0) Číslo = 9; inak Číslo = (Číslo*10) + 9; // Dvakrát stlačené} if (kláves == 'A' || kláves == 'B' || kláves == 'C' || kláves == 'D') // Detekcia tlačidiel v stĺpci 4 {Num1 = číslo; Číslo = 0; if (key == 'A') {Serial.println ("Pridanie"); action = '+';} if (key == 'B') {Serial.println ("Subtraction"); action = '-'; } if (key == 'C') {Serial.println ("Násobenie"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} zdržanie (100); }}
neplatné CalculateResult () {if (action == '+') Number = Num1+Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1*Num2; if (action == '/') Number = Num1/Num2; } neplatné DisplayResult () {lcd.setCursor (0, 0); // nastav kurzor na stlpec 0, riadok 1 lcd.print (Num1); lcd.print (akcia); lcd.print (Num2); if (result == true) {lcd.print ("="); lcd.print (Number);} // Zobrazí výsledok lcd.setCursor (0, 1); // nastav kurzor na stlpec 0, riadok 1 lcd.print (Number); // Zobraziť výsledok}
Krok 4: Výstup z kalkulačky
Dokončili sme zapojenie a nahrali kód do arduina a je čas zapojiť napájanie a vykonať niekoľko výpočtov, a ako vidíte, robím výpočty pomocou klávesnice a výsledky môžete vidieť na displeji LCD. Bavte sa teda vyrábaním vlastnej kalkulačky pre kutilov pomocou arduina.
Odporúča:
Makroobjektív s AF (odlišný od všetkých ostatných makroobjektívov pre domácich majstrov): 4 kroky (s obrázkami)
Diy makro objektív s AF (iný ako všetky ostatné DIY makro objektívy): Videl som veľa ľudí, ktorí vyrábali makro objektívy so štandardným objektívom (zvyčajne 18-55 mm). Väčšinou ide o objektív, ktorý sa na fotoaparát prilepí dozadu alebo sa odstráni predný prvok. Obe tieto možnosti majú svoje tienisté stránky. Na montáž objektívu
Elektromotor generátor pre domácich majstrov napájaný 1,25 V a 0,054 mA: 4 kroky
Elektrický generátor poháňaný vlastnými rukami s napätím 1,25 V a 0,054 mA: Cieľ: vytvoriť malý generátor jednosmerného prúdu napájaný jediným mini solárnym panelom vimun sc-3012-2a (vnútorné i vonkajšie použitie) 29,44 mm × 11,6 mm × 1,1 mm, ktorý môže urobte LED žiaru, ktorá poskytuje iba 1,25 VX 0,054 ma Nájdite nás na INSTAGRAME a pozrite sa na jednoduchý elektrický
Ručná herná konzola pre domácich majstrov používajúca RetroPie: 7 krokov
Ručná herná konzola DIY používajúca RetroPie: Pozrite sa na vyššie uvedené video, aby ste lepšie porozumeli tomuto projektu. Dobre. Je čas začať! V prvom rade použijeme RetroPie. Zostávajú nám teda dve možnosti. Ak sme už nainštalovali Raspbian na našu kartu SD, môžeme nainštalovať RetroP
Statív pre domácich majstrov - Ako vyrobiť statív pre smartfón a fotoaparát z antény: 8 krokov
Statív pre domácich majstrov | Ako vyrobiť statív pre smartfóny a fotoaparáty pomocou antény: Keď hľadám statív na vytváranie videí pre CookQueens, zistil som, že cena každého statívu za 5 stôp začína na veľmi vysokej úrovni na rôznych webových stránkach elektronického obchodu. Tiež čakám na zľavu, ale tú som nedostal. Potom som sa rozhodol urobiť m
Dok pre domácich majstrov pre telefón, PDA & Príslušenstvo: 8 krokov
Dok pre domácich majstrov pre telefón, PDA & Príslušenstvo: Úprava nájdených alebo zastaraných predmetov v doku pre telefóny, PDA a príslušenstvo v jednom úhľadnom malom balíku pre stolné počítače. Viem, že je to skutočne jednoduchý návod, ale chcel som ho zverejniť potom, čo som videl zoznam škaredých, zložitých alebo nepraktických „riešení“