Satura rādītājs:

TinkerCad kalkulatora konkurss: 8 soļi
TinkerCad kalkulatora konkurss: 8 soļi

Video: TinkerCad kalkulatora konkurss: 8 soļi

Video: TinkerCad kalkulatora konkurss: 8 soļi
Video: Skkidschallenge: «Создаем модель умного дома на платформе Tinkercad» 2024, Novembris
Anonim
TinkerCad konkursa kalkulators
TinkerCad konkursa kalkulators

Hei, tik nesen es pētu, kā ķēdē ieviest dažāda veida kodus. Es atklāju, ka kalkulatora izgatavošana būtu lielisks veids, kā ieviest "lietu" un citus koda veidus, kas man bija šķituši interesanti. Agrāk esmu izgatavojis kalkulatorus tieši no koda, bet shēmas izveidošana man radīja interesi. Īpaši šajā karantīnas laikā, kad gandrīz visu dienu esmu datorā. Projekta mērķis ir īstenot matemātiskas darbības LCD ekrānā.

1. solis: materiāli

Ķēdei:

  • LCD 16 x 2
  • Arduino Uno R3
  • Tastatūra 4x4
  • Mazs maizes dēlis
  • Potenciometrs (250 kΩ)
  • Rezistors (1kΩ)
  • x26 Jumper vadi

2. solis: 4x4 tastatūras pievienošana

4x4 tastatūras pievienošana
4x4 tastatūras pievienošana

Savienojiet 4 rindu tapas uz 4x4 tastatūras ar Arduino tapām 4-7 un pievienojiet 4 kolonnu tapas ar Arduino tapām 0-3.

3. darbība: barojiet maizes dēli un pievienojiet LCD

Nodrošiniet maizi un pievienojiet LCD
Nodrošiniet maizi un pievienojiet LCD

Maizes dēļam es izmantoju barošanas spriegumu 5. Es pievienoju strāvu un zemi pie maizes dēļa. LCD tiek novietots uz maizes dēļa un novietots tā, lai visas tā tapas būtu savienotas ar maizes dēli.

4. solis: pievienojiet barošanu un zemējumu LCD

Pievienojiet barošanu un zemējumu LCD
Pievienojiet barošanu un zemējumu LCD

LCD ekrānam būs jāpievieno 3 zemes tapas. Viens tiks savienots ar LCD zemi, otrs tiks pievienots LCD gaismas diodei, bet pēdējais tiks pievienots RW. LCD un LED VCC pieslēgšanai būs nepieciešama barošana. Tomēr gaismas diodei būs nepieciešams rezistors, kas pievienots šajā gadījumā, es izmantoju 1kΩ rezistoru.

5. darbība: potenciometra pievienošana

Potenciometra pievienošana
Potenciometra pievienošana

Savienojiet potenciometru ar maizes dēli ar 3 brīvām kolonnām. Tam būs 3 tapas, kolonnai, kurā ir termināla 1 tapa, tai būs jābūt zemētai. Kolonnai, kurā ir termināļa 2 tapa, tai būs nepieciešama enerģija. Tad tīrītāja kolonnā būs džemperis, kas savienojas ar LCD VO.

6. darbība: pievienojiet Arduino LCD

Arduino savienošana ar LCD
Arduino savienošana ar LCD

Arduino tapas 8-13 tiks savienotas ar LCD. Arduino tapas 8-11 pieslēgsies attiecīgi D8 (7-4). Pēc tam Arduino 12. tapa savienosies ar LCD iespējošanu, un Arduino 13. tapa savienosies ar LCD reģistru.

7. darbība: ieviest kodu

Kods būs nepieciešams, lai izmantotu matemātiskas darbības ar tastatūru un LCD. Tālāk būs kods, kuru es izmantoju, tomēr vairākas izmaiņas joprojām var tikt ieviestas, lai padarītu to tīrāku un labāku. Tāpēc jūtieties brīvi ar to nedaudz paspēlēties.

#iekļaut #iekļaut

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

pirmais pirmais = 0;

garā sekunde = 0;

dubultā kopsumma = 0;

int pozitīvs = 0;

char customKey;

const baits ROWS = 4;

const baits COLS = 4;

Char taustiņi [ROWS] [COLS] = {

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

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

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

Tastatūra customKeypad = Tastatūra (makeKeymap (taustiņi), rowPins, colPins, ROWS, COLS);

void setup () {

lcd. sākums (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

void loop () {

customKey = customKeypad.getKey ();

slēdzis (customKey) {

gadījums “0”… “9”:

lcd.setCursor (0, 0);

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

lcd.print (pirmais);

pozitīvs ++;

pārtraukums;

gadījums “+”:

pirmais = (kopā! = 0? kopā: pirmais);

lcd.setCursor (pozitīvs, 0);

lcd.print ("+");

pozitīvs ++;

otrais = otrais numurs ();

kopā = pirmais + otrais;

lcd.setCursor (1, 1);

lcd.print (kopā);

pirmais = 0, otrais = 0;

pozitīvs = 0;

pārtraukums;

gadījums '-':

pirmais = (kopā! = 0? kopā: pirmais);

lcd.setCursor (pozitīvs, 0);

lcd.print ("-");

pozitīvs ++;

otrais = otrais numurs ();

kopā = pirmais - otrais;

lcd.setCursor (1, 1);

lcd.print (kopā);

pirmais = 0, otrais = 0;

pozitīvs = 0;

pārtraukums;

gadījums '*':

pirmais = (kopā! = 0? kopā: pirmais);

lcd.setCursor (pozitīvs, 0);

lcd.print ("*");

pozitīvs ++;

otrais = otrais numurs ();

kopā = pirmais * otrais;

lcd.setCursor (1, 1);

lcd.print (kopā);

pirmais = 0, otrais = 0;

pozitīvs = 0;

pārtraukums;

gadījums '/':

pirmais = (kopā! = 0? kopā: pirmais);

lcd.setCursor (pozitīvs, 0);

lcd.print ("/");

pozitīvs ++;

otrais = otrais numurs (); lcd.setCursor (1, 1);

otrais == 0? lcd.print ("Kļūda"): kopā = (pludiņš) pirmais / (pludiņš) otrais;

lcd.print (kopā);

pirmais = 0, otrais = 0;

pozitīvs = 0;

pārtraukums;

gadījums “C”:

kopā = 0;

pirmais = 0;

otrais = 0;

pozitīvs = 0;

lcd.clear ();

pārtraukums; }

}

garš otrais numurs () {

kamēr (1) {

customKey = customKeypad.getKey ();

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

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

lcd.setCursor (pozitīvs, 0);

lcd.print (otrais); }

ja (customKey == 'C') {

kopā = 0;

pirmais = 0;

otrais = 0;

pozitīvs = 0;

lcd.clear ();

pārtraukums; }

ja (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

pozitīvs = kopējais;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

pārtraukums; }

}

atgriezties otrais;}

8. solis: rezultāts

Rezultāts
Rezultāts
Rezultāts
Rezultāts

Es ceru, ka jums visiem patika šī pamācība. Paldies par lasīšanu!

Saim.

Ieteicams: