Sisukord:

Jai Mishra LCD -kalkulaator: 8 sammu
Jai Mishra LCD -kalkulaator: 8 sammu

Video: Jai Mishra LCD -kalkulaator: 8 sammu

Video: Jai Mishra LCD -kalkulaator: 8 sammu
Video: VATTATEE RAJAEE MITTRA 2024, November
Anonim
Jai Mishra LCD -kalkulaator
Jai Mishra LCD -kalkulaator

Tinkercadi projektid »

See on väga kasulik projekt, mis õpetab teile oma kalkulaatori loomist. Saate selle kalkulaatori luua veebis või päriselus lisatarvikute abil, kuid praegu keskendume ainult veebikalkulaatori loomisele.

Tarvikud

  • Arduino Uno R3
  • 220 oomi takisti
  • 4*4 Klaviatuur
  • 16*2 LCD
  • Hunnik juhtmeid ahela ühendamiseks

Samm: koguge oma tarvikud TinkerCadis

Koguge oma tarvikud TinkerCadis
Koguge oma tarvikud TinkerCadis

Enne kui alustate 2. sammuga, veenduge, et kõik teie tarvikud on saadaval, et vähendada stressi ja vigu. Kasutage kindlasti ka õigeid tarvikuid, mõned ülaltoodud pildil olevad komponendid on sarnased teiste komponentidega, seega ärge segage neid. Kasutage juhendina ülaltoodud pilti.

Samm: korraldage oma tarvikud

Korraldage oma tarvikud
Korraldage oma tarvikud

Tarvikute korraldamine on parim viis kalkulaatori väljanägemise eelvaate nägemiseks. Saate luua mis tahes tüüpi kalkulaatori kujunduse, kuid veenduge, et kalkulaator näeks välja loomulik ja kasutajad saaksid disainist aru ega läheks segadusse. Kasutasin tüüpilist stiilset kalkulaatori disaini, mis on tõhus ja kõigile arusaadav. Võite valida minu kujunduse või luua oma, kuid olgu see siis loominguline ja palju õnne!

Samm: juhtmete ühendamine

Juhtmete ühendamine
Juhtmete ühendamine

Juhtmete ühendamine on raske töö, kui te ei mõista selle taga olevat tähendust. Selles juhtmestikus proovime kõik neli komponenti omavahel ühendada, et nad saaksid rühmana töötada, kui on aeg koodi kirjutada. Kui juhtmeid pole, ei voola ka vool, mis toob kaasa ebaõnnestunud projekti. Veenduge, et teie juhtmed on õigesti ühendatud ilma arusaamatusteta.

Kui olete juhtmete ühendamise lõpetanud, veenduge, et teie juhtmed oleksid korras ja korrastatud, nii et teil ja teistel oleks lihtsam aru saada, mis selle kalkulaatori riistvaraga täpselt toimub. Nagu ma juba ütlesin, võite kasutada minu juhtmete korraldamise tehnikat või luua oma, kuid mida iganes otsustate teha, veenduge, et need on kokku pandud.

Samm: koodi kirjutamine

Koodeksi kirjutamine
Koodeksi kirjutamine
Koodeksi kirjutamine
Koodeksi kirjutamine
Koodeksi kirjutamine
Koodeksi kirjutamine

#kaasake

#kaasama #kaasama

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

pikk esimene = 0; pikk sekund = 0; kahekordne kogusumma = 0;

char customKey; const bait RIDA = 4; const bait COLS = 4;

sümboliklahvid [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; bait rowPins [ROWS] = {7, 6, 5, 4}; // ühenduda klaviatuuri ridade pistikutega bait colPins [COLS] = {3, 2, 1, 0}; // ühendada klahvistiku veergude pistikutega

// klassi NewKeypad eksemplari initsialiseerimine Klahvistik customKeypad = Klahvistik (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS);

void setup () {lcd.begin (16, 2); // start lcd for (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Kalkulaator"); lcd.setCursor (0, 1); lcd.print ("Autor Jai Mishra"); viivitus (4000); lcd.clear (); lcd.print ("Lõppprojekt"); viivitus (2500); lcd.clear (); lcd.setCursor (0, 0); }

void loop () {

customKey = customKeypad.getKey (); switch (customKey) {case '0'… '9': // See kogub esimest väärtust seni, kuni vajutatakse operaatorit "+-*/" lcd.setCursor (0, 0); esimene = esimene * 10 + (customKey - '0'); lcd.print (esimene); murda;

juhtum '+': esimene = (kokku! = 0? kokku: esimene); lcd.setCursor (0, 1); lcd.print ("+"); teine = teine arv (); // saada kogutud teine number kokku = esimene + teine; lcd.setCursor (0, 3); lcd.print (kokku); esimene = 0, teine = 0; // lähtestage väärtused nulliks järgmiseks kasutuspausiks;

juhtum '-': esimene = (kokku! = 0? kokku: esimene); lcd.setCursor (0, 1); lcd.print ("-"); teine = teine arv (); kokku = esimene - teine; lcd.setCursor (0, 3); lcd.print (kokku); esimene = 0, teine = 0; murda;

juhtum '*': esimene = (kokku! = 0? kokku: esimene); lcd.setCursor (0, 1); lcd.print ("*"); teine = teine arv (); kokku = esimene * teine; lcd.setCursor (0, 3); lcd.print (kokku); esimene = 0, teine = 0; murda;

juhtum '/': esimene = (kokku! = 0? kokku: esimene); lcd.setCursor (0, 1); lcd.print ("/"); teine = teine arv (); lcd.setCursor (0, 3);

teine == 0? lcd.print ("Kehtetu"): kokku = (float) esimene / (float) teine;

lcd.print (kokku); esimene = 0, teine = 0; murda;

juhtum 'C': kokku = 0; lcd.clear (); murda; }}

pikk SecondNumber () {while (1) {customKey = customKeypad.getKey (); if (customKey> = '0' && customKey <= '9') {second = second * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (teine); }

if (customKey == '=') break; // tagasipöördumine teine; } tagasi teine; }

5. samm: koodeksi lõhkumine

Koodeksi murdmine
Koodeksi murdmine

Vormistasime väärtused arvutile arusaadavaks

#kaasake

#kaasama #kaasama

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

pikk esimene = 0; pikk sekund = 0; kahekordne kogusumma = 0;

char customKey; const bait RIDA = 4; const bait COLS = 4;

Ütlesime arvutile numbrid ja märgid, millega klaviatuur peaks töötama

sümboliklahvid [ROWS] [COLS] = {{'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};

Viimistlesime klaviatuuri read ja veerud ning milline number millises veerus on jne

bait rowPins [ROWS] = {7, 6, 5, 4}; bait colPins [COLS] = {3, 2, 1, 0};

Lõime arvuti sissejuhatuse või ekraanil kuvatava sisselülituse (saate sellele oma nime kirjutada)

void setup () {lcd.begin (16, 2); jaoks (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Kalkulaator"); lcd.setCursor (0, 1); lcd.print ("Autor Jai Mishra"); viivitus (4000); lcd.clear (); lcd.print ("Lõppprojekt"); viivitus (2500); lcd.clear (); lcd.setCursor (0, 0); }

Loome kalkulaatoris iga toimingu jaoks tähenduse ja valemi, nii et arvuti saaks aru, millist valemit kasutada, kui kasutaja vajutab kalkulaatoril "+" jne

{case '0' … '9': lcd.setCursor (0, 0); esimene = esimene * 10 + (customKey - '0'); lcd.print (esimene); murda;

juhtum '/': esimene = (kokku! = 0? kokku: esimene); lcd.setCursor (0, 1); lcd.print ("/"); teine = teine arv (); lcd.setCursor (0, 3);

teine == 0? lcd.print ("Kehtetu"): kokku = (float) esimene / (float) teine;

lcd.print (kokku); esimene = 0, teine = 0; murda; juhtum '+': esimene = (kokku! = 0? kokku: esimene); lcd.setCursor (0, 1); lcd.print ("+"); teine = teine arv (); lcd.setCursor (0, 3); lcd.print (kokku); esimene = 0, teine = 0; murda;

juhtum '-': esimene = (kokku! = 0? kokku: esimene); lcd.setCursor (0, 1); lcd.print ("-"); teine = teine arv (); kokku = esimene - teine; lcd.setCursor (0, 3); lcd.print (kokku); esimene = 0, teine = 0; murda;

juhtum '*': esimene = (kokku! = 0? kokku: esimene); lcd.setCursor (0, 1); lcd.print ("*"); teine = teine arv (); kokku = esimene * teine; lcd.setCursor (0, 3); lcd.print (kokku); esimene = 0, teine = 0; murda;

juhtum 'C': kokku = 0; lcd.clear (); murda; }}

Kood on väga lihtne, peate vaid proovima sellest aru saada ja siis saab kõik hõlpsalt tehtud. Kui koodiga on probleeme, saatke mulle e -kiri

Samm 6: Kuidas selle kalkulaatori riistvara töötab?

Kuidas selle kalkulaatori riistvara töötab?
Kuidas selle kalkulaatori riistvara töötab?

See kalkulaator kasutab vedelkristallekraani, klaviatuuri, Arduino plaati ja 220 oomi takistit. Kõik need komponendid on eraldi, kuid on ühendatud Arduino juhtmetega klaviatuuri ja LCD -ekraaniga. LCD -ekraani erinevad osad on ühendatud Arduino plaadiga, mis lõpuks ühendab mõlemad klaviatuuriga. Pärast ühendamist teeb kodeerimine kogu töö ja annab igale toimingule ja klahvistiku nupule järgitava töö.

Samm: Kalkulaatori täielik eelvaade

Selline näeb välja meie viimane projekt! Kui teie kood ei tööta või on tehnilisi probleeme, saatke mulle e -kiri ja ma püüan aidata teil parima kalkulaatori loomisel!

8. samm: minu inspiratsioon sellest koodist

Sain inspiratsiooni ülaltoodud videost, kuidas Tinkercadis kalkulaatorit teha! Ma ei kopeerinud ja kleepinud midagi, kuid kasutasin tema ideed kalkulaatorist ja koodi mõistmist.

Soovitan: