Sadržaj:

Kalkulator TinkerCad takmičenje: 8 koraka
Kalkulator TinkerCad takmičenje: 8 koraka

Video: Kalkulator TinkerCad takmičenje: 8 koraka

Video: Kalkulator TinkerCad takmičenje: 8 koraka
Video: Coding with the Micro Bit 2024, Novembar
Anonim
Kalkulator TinkerCad takmičenje
Kalkulator TinkerCad takmičenje

Hej, nedavno sam istraživao kako implementirati različite vrste koda u kolo. Otkrio sam da bi izrada kalkulatora bila odličan način za implementaciju "case" i drugih oblika koda koji su mi bili zanimljivi. Ranije sam izrađivao kalkulatore direktno iz koda, ali stvaranje kola za to mi je dalo interes. Pogotovo u ovo vrijeme karantene gdje sam skoro cijeli dan na računaru. Projekat ima za cilj implementaciju matematičkih operacija na LCD ekranu.

Korak 1: Materijali

Za kolo:

  • LCD 16 x 2
  • Arduino Uno R3
  • Tastatura 4x4
  • Small Breadboard
  • Potenciometar (250 kΩ)
  • Otpornik (1 kΩ)
  • x26 Žice za kratkospojnike

Korak 2: Povezivanje 4x4 tastature

Povezivanje 4x4 tastature
Povezivanje 4x4 tastature

Spojite pinove od 4 reda na tastaturi 4x4 na Arduino pinove 4-7 i povežite pinove sa 4 stupca na Arduino pinove 0-3.

Korak 3: Omogućite napajanje Breadboard -u i povežite LCD

Omogućite napajanje Breadboard -u i povežite LCD
Omogućite napajanje Breadboard -u i povežite LCD

Koristio sam napon snage 5 za ploču. Priključio sam napajanje i masu na matičnu ploču. LCD se postavlja na matičnu ploču i postavlja tako da se svi njegovi pinovi povežu s matičnom pločom.

Korak 4: Priključite napajanje i uzemljenje na LCD

Spojite napajanje i uzemljenje na LCD
Spojite napajanje i uzemljenje na LCD

Za spajanje na LCD bit će potrebna 3 pina uzemljenja. Jedan će biti povezan sa masom LCD -a, drugi će biti povezan sa LED -om LCD -a, a posljednji će biti spojen na RW. VCC na LCD -u i LED diodi će zahtijevati povezivanje napajanja. Međutim, za napajanje LED -a bit će potreban priključeni otpornik. U ovom slučaju koristio sam otpornik od 1 kΩ.

Korak 5: Povezivanje potenciometra

Povezivanje potenciometra
Povezivanje potenciometra

Povežite potenciometar na ploču s 3 slobodna stupca. Imat će 3 pina, za stupac koji sadrži terminal 1 pin treba mu uzemljenje. Stupcu koji sadrži 2 pina priključka potrebno je napajanje. Tada će brisač u svojoj koloni imati kratkospojnu žicu koja se povezuje sa VO LCD -a.

Korak 6: Spajanje Arduina na LCD

Spajanje Arduina na LCD
Spajanje Arduina na LCD

Igle 8-13 na Arduinu bit će spojene na LCD. Igle 8-11 na Arduinu povezat će se s D8 (7-4). Tada će se pin 12 na Arduinu spojiti s Enable -om LCD -a, a pin 13 na Arduinu će se spojiti na registar LCD -a.

Korak 7: Primijenite kôd

Kod će biti potreban za korištenje matematičkih operacija s tipkovnicom i LCD -om. U nastavku će biti kôd koji sam koristio, međutim više promjena se i dalje može primijeniti kako bi bio čistiji i bolji. Zato se slobodno poigrajte malo s tim.

#include #include

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

long long = 0;

duga sekunda = 0;

dvostruko ukupno = 0;

int pozit = 0;

char customKey;

const bajt ROWS = 4;

const bajt COLS = 4;

ključevi char [ROWS] [COLS] = {

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

bajtovi rowPins [ROWS] = {7, 6, 5, 4};

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

Tastatura customKeypad = Tastatura (makeKeymap (ključevi), rowPins, colPins, ROWS, COLS);

void setup () {

lcd.begin (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

void loop () {{100} {101}

customKey = customKeypad.getKey ();

switch (customKey) {

slučaj '0' … '9':

lcd.setCursor (0, 0);

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

lcd.print (prvi);

posit ++;

break;

slučaj '+':

prvi = (ukupno! = 0? ukupno: prvo);

lcd.setCursor (pozicija, 0);

lcd.print ("+");

posit ++;

second = SecondNumber ();

ukupno = prvi + drugi;

lcd.setCursor (1, 1);

lcd.print (ukupno);

prvi = 0, druga = 0;

pozit = 0;

break;

slučaj '-':

prvi = (ukupno! = 0? ukupno: prvo);

lcd.setCursor (pozicija, 0);

lcd.print ("-");

posit ++;

second = SecondNumber ();

ukupno = prvo - drugo;

lcd.setCursor (1, 1);

lcd.print (ukupno);

prvi = 0, druga = 0;

pozit = 0;

break;

slučaj '*':

prvi = (ukupno! = 0? ukupno: prvo);

lcd.setCursor (pozicija, 0);

lcd.print ("*");

posit ++;

second = SecondNumber ();

ukupno = prva * druga;

lcd.setCursor (1, 1);

lcd.print (ukupno);

prvi = 0, druga = 0;

pozit = 0;

break;

slučaj '/':

prvi = (ukupno! = 0? ukupno: prvo);

lcd.setCursor (pozicija, 0);

lcd.print ("/");

posit ++;

second = SecondNumber (); lcd.setCursor (1, 1);

drugo == 0? lcd.print ("Greška"): ukupno = prvo (float) prvo / (float) drugo;

lcd.print (ukupno);

prvi = 0, druga = 0;

pozit = 0;

break;

slučaj 'C':

ukupno = 0;

prvi = 0;

druga = 0;

pozit = 0;

lcd.clear ();

break; }

}

long SecondNumber () {

dok (1) {

customKey = customKeypad.getKey ();

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

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

lcd.setCursor (pozicija, 0);

lcd.print (drugi); }

if (customKey == 'C') {

ukupno = 0;

prvi = 0;

druga = 0;

pozit = 0;

lcd.clear ();

break; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

pozit = ukupno;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

break; }

}

vrati se drugi;}

Korak 8: Rezultat

Rezultat
Rezultat
Rezultat
Rezultat

Nadam se da ste svi uživali u ovom uputstvu. Hvala vam na čitanju!

Saim.

Preporučuje se: