Obsah:

Kalkulačka Súťaž TinkerCad: 8 krokov
Kalkulačka Súťaž TinkerCad: 8 krokov

Video: Kalkulačka Súťaž TinkerCad: 8 krokov

Video: Kalkulačka Súťaž TinkerCad: 8 krokov
Video: Návod na použitie Kalkulačky spotreby elektrickej energie 2024, November
Anonim
Súťaž TinkerCad o kalkulačku
Súťaž TinkerCad o kalkulačku

Hej, nedávno som skúmal, ako implementovať rôzne typy kódu do obvodu. Zistil som, že vytvorenie kalkulačky by bolo skvelým spôsobom, ako implementovať „prípad“a iné formy kódu, ktoré ma zaujali. V minulosti som vyrábal kalkulačky priamo z kódu, ale vytvoriť pre ne obvod ma zaujalo. Zvlášť v tomto období karantény, kde som takmer celý deň na počítači. Cieľom projektu je implementácia matematických operácií na obrazovke LCD.

Krok 1: Materiály

Pre obvod:

  • LCD 16 x 2
  • Arduino Uno R3
  • Klávesnica 4x4
  • Malý Breadboard
  • Potenciometer (250 kΩ)
  • Odpor (1kΩ)
  • x26 prepojovacie vodiče

Krok 2: Pripojenie klávesnice 4x4

Pripojenie klávesnice 4x4
Pripojenie klávesnice 4x4

Pripojte 4 radové kolíky na klávesnici 4x4 k pinom Arduino 4-7 a 4 stĺpcové kolíky k kolíkom Arduino 0-3.

Krok 3: Zabezpečte napájanie Breadboardu a pripojte LCD displej

Poskytnite napájanie Breadboardu a pripojte LCD displej
Poskytnite napájanie Breadboardu a pripojte LCD displej

Na dosku na chlieb som použil napájacie napätie 5. Pripojil som napájanie a zem k doske na chlieb. LCD je umiestnený na doske a je umiestnený tak, aby sa všetky jeho kolíky spojili s doskou.

Krok 4: Pripojte napájanie a uzemnenie k LCD

Pripojte napájanie a uzemnenie k LCD
Pripojte napájanie a uzemnenie k LCD

Na pripojenie LCD budú potrebné 3 kolíky uzemnenia. Jeden bude spojený so zemou, samotný LCD, druhý bude spojený s LED na LCD a posledný bude spojený s RW. VCC LCD a diódy LED vyžadujú pripojenie. Napájanie LED však bude vyžadovať zapojený odpor. V tomto prípade som použil odpor 1 kΩ.

Krok 5: Pripojenie potenciometra

Pripojenie potenciometra
Pripojenie potenciometra

Pripojte potenciometer k breadboardu pomocou 3 voľných stĺpcov. Bude mať 3 piny, stĺpec, ktorý obsahuje pól terminálu 1, bude potrebovať uzemnenie. Stĺpec, ktorý obsahuje pól 2 svorky, bude potrebovať príslušnú energiu. Potom bude mať stierač v stĺpci prepojovací vodič, ktorý sa pripája k VO LCD.

Krok 6: Pripojenie Arduina k LCD

Pripojenie Arduina k LCD
Pripojenie Arduina k LCD

Piny 8-13 na Arduine budú prepojené s LCD. Piny 8-11 na Arduine sa pripoja k D8 (7-4) resp. Potom sa pin 12 Arduina spojí s aktiváciou LCD a pin 13 na Arduine sa spojí s registrom LCD.

Krok 7: Implementujte kód

Na používanie matematických operácií s klávesnicou a LCD displejom bude potrebný kód. Kód, ktorý som použil, bude nasledujúci, ale stále môžem implementovať niekoľko zmien, aby bol čistejší a lepší. Neváhajte sa s tým teda trochu pohrať.

#include #include

LiquidCrystal lcd (13, 12, 11, 10, 9, 8);

dlhý prvý = 0;

dlhá sekunda = 0;

dvojitý súčet = 0;

int pozit = 0;

char customKey;

konštantný bajt ROWS = 4;

konštantný bajt COLS = 4;

kľúče znakov [ROWS] [COLS] = {

{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'}};

bajtové riadky [ROWS] = {7, 6, 5, 4};

byte colPins [COLS] = {3, 2, 1, 0};

Keypad customKeypad = Keypad (makeKeymap (klávesy), rowPins, colPins, ROWS, COLS);

neplatné nastavenie () {

lcd.begin (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

prázdna slučka () {

customKey = customKeypad.getKey ();

prepínač (customKey) {

prípad „0“… „9“:

lcd.setCursor (0, 0);

first = first * 10 + (customKey - '0');

lcd.print (prvý);

klad ++;

prestávka;

prípad „+“:

first = (total! = 0? total: first);

lcd.setCursor (predpoklad, 0);

lcd.print ("+");

klad ++;

sekunda = DruhéČíslo ();

celkom = prvý + druhý;

lcd.setCursor (1, 1);

lcd.print (celkom);

prvý = 0, sekunda = 0;

predpoklad = 0;

prestávka;

prípad '-':

first = (total! = 0? total: first);

lcd.setCursor (predpoklad, 0);

lcd.print ("-");

klad ++;

sekunda = DruhéČíslo ();

celkom = prvý - druhý;

lcd.setCursor (1, 1);

lcd.print (celkom);

prvý = 0, sekunda = 0;

predpoklad = 0;

prestávka;

prípad '*':

first = (total! = 0? total: first);

lcd.setCursor (predpoklad, 0);

lcd.print ("*");

klad ++;

sekunda = DruhéČíslo ();

celkom = prvý * druhý;

lcd.setCursor (1, 1);

lcd.print (celkom);

prvý = 0, sekunda = 0;

predpoklad = 0;

prestávka;

prípad '/':

first = (total! = 0? total: first);

lcd.setCursor (predpoklad, 0);

lcd.print ("/");

klad ++;

sekunda = DruhéČíslo (); lcd.setCursor (1, 1);

druhý == 0? lcd.print ("Chyba"): celkom = (float) prvý / (float) druhý;

lcd.print (celkom);

prvý = 0, sekunda = 0;

predpoklad = 0;

prestávka;

prípad „C“:

celkom = 0;

prvý = 0;

sekunda = 0;

predpoklad = 0;

lcd.clear ();

prestávka; }

}

dlhé druhé číslo () {

pričom (1) {

customKey = customKeypad.getKey ();

if (customKey> = '0' && customKey <= '9') {

sekunda = sekunda * 10 + (customKey - '0');

lcd.setCursor (predpoklad, 0);

lcd.print (druhý); }

if (customKey == 'C') {

celkom = 0;

prvý = 0;

sekunda = 0;

predpoklad = 0;

lcd.clear ();

prestávka; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

posit = celkom;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

prestávka; }

}

vráť sa druhý;}

Krok 8: Výsledok

Výsledok
Výsledok
Výsledok
Výsledok

Dúfam, že sa vám tento návod páčil. Ďakujem za čítanie!

Saim.

Odporúča: