Sisukord:

TinkerCadi kalkulaatori võistlus: 8 sammu
TinkerCadi kalkulaatori võistlus: 8 sammu

Video: TinkerCadi kalkulaatori võistlus: 8 sammu

Video: TinkerCadi kalkulaatori võistlus: 8 sammu
Video: 30 лучших советов и рекомендаций по Windows 10 на 2020 год 2024, November
Anonim
TinkerCadi võistluskalkulaator
TinkerCadi võistluskalkulaator

Hei, nii hiljuti uurisin, kuidas erinevat tüüpi koodi ahelasse rakendada. Leidsin, et kalkulaatori valmistamine oleks suurepärane võimalus rakendada "juhtumit" ja muid minu jaoks huvitavaid koodivorme. Olen varem teinud kalkulaatoreid otse koodist, kuid selle jaoks skeemi tegemine tekitas huvi. Eriti praegusel karantiiniajal, kus olen peaaegu terve päeva arvutis. Projekt seisneb matemaatiliste toimingute teostamises LCD -ekraanil.

Samm: materjalid

Ahela jaoks:

  • LCD 16 x 2
  • Arduino Uno R3
  • Klaviatuur 4x4
  • Väike leivalaud
  • Potentsiomeeter (250 kΩ)
  • Takisti (1 kΩ)
  • x26 Jumper juhtmed

2. samm: 4x4 klaviatuuri ühendamine

4x4 klaviatuuri ühendamine
4x4 klaviatuuri ühendamine

Ühendage 4x4 klahvistiku 4 rea nööpnõelad Arduino tihvtidega 4-7 ja 4 veergunööpi Arduino tihvtidega 0-3.

3. toiming: andke leivalauale toide ja ühendage LCD -ekraan

Andke leibalehele toide ja ühendage LCD
Andke leibalehele toide ja ühendage LCD

Leivaplaadi jaoks kasutasin toitepinget 5. Ühendasin toite ja maa leivaplaadiga. LCD -ekraan asetatakse leivaplaadile ja asetatakse nii, et kõik selle tihvtid ühendatakse leivaplaadiga.

Samm: ühendage toide ja maandus LCD -ekraaniga

Ühendage toide ja maandus LCD -ekraaniga
Ühendage toide ja maandus LCD -ekraaniga

LCD -ekraaniga ühendamiseks on vaja 3 tihvti maad. Üks neist ühendatakse maapinnaga LCD -ekraaniga, teine ühendatakse LCD -LED -iga ja viimane ühendatakse RW -ga. LCD -ekraani ja LED -i VCC ühendamiseks on vaja toiteallikat. Kuid LED -i toide nõuab sel juhul ühendatud takistit, ma kasutasin 1 kΩ takisti.

Samm: ühendage potentsiomeeter

Potentsiomeetri ühendamine
Potentsiomeetri ühendamine

Ühendage potentsiomeeter 3 vaba veeruga leivaplaadiga. Sellel on 3 tihvti, veerg, mis sisaldab terminali 1 tihvti, tuleb sellele maandada. Veerg, mis sisaldab terminali 2 tihvti, vajab selle jaoks energiat. Seejärel on klaasipuhasti veerus hüppaja, mis ühendub vedelkristallekraani VO -ga.

Samm: ühendage Arduino LCD -ekraaniga

Arduino ühendamine LCD -ekraaniga
Arduino ühendamine LCD -ekraaniga

Arduino tihvtid 8-13 ühendatakse LCD-ekraaniga. Arduino tihvtid 8-11 ühendavad vastavalt D8-ga (7-4). Seejärel ühendatakse Arduino tihvt 12 LCD -seadme lubamisega ja Arduino tihvt 13 ühendatakse LCD -registriga.

Samm: rakendage kood

Klaviatuuri ja LCD -ga matemaatiliste toimingute kasutamiseks on vaja koodi. Järgnev on kood, mida ma kasutasin, kuid mitu muudatust saab siiski rakendada, et muuta see puhtamaks ja paremaks. Nii et mängige sellega julgelt natuke.

#kaasama #kaasama

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

pikk esimene = 0;

pikk sekund = 0;

kahekordne kogusumma = 0;

int posit = 0;

char customKey;

const bait RIDA = 4;

const bait COLS = 4;

sümboliklahvid [ROWS] [COLS] = {

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

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

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

Klahvistik customKlaviatuur = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS);

tühine seadistus () {

lcd.algus (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

void loop () {

customKey = customKeypad.getKey ();

lüliti (customKey) {

juhtum „0”… „9”:

lcd.setCursor (0, 0);

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

lcd.print (esimene);

positiivne ++;

murda;

juhtum "+":

esimene = (kokku! = 0? kokku: esimene);

lcd.setCursor (posit, 0);

lcd.print ("+");

positiivne ++;

teine = teine arv ();

kokku = esimene + teine;

lcd.setCursor (1, 1);

lcd.print (kokku);

esimene = 0, teine = 0;

posit = 0;

murda;

juhtum '-':

esimene = (kokku! = 0? kokku: esimene);

lcd.setCursor (posit, 0);

lcd.print ("-");

positiivne ++;

teine = teine arv ();

kokku = esimene - teine;

lcd.setCursor (1, 1);

lcd.print (kokku);

esimene = 0, teine = 0;

posit = 0;

murda;

juhtum '*':

esimene = (kokku! = 0? kokku: esimene);

lcd.setCursor (posit, 0);

lcd.print ("*");

positiivne ++;

teine = teine arv ();

kokku = esimene * teine;

lcd.setCursor (1, 1);

lcd.print (kokku);

esimene = 0, teine = 0;

posit = 0;

murda;

juhtum '/':

esimene = (kokku! = 0? kokku: esimene);

lcd.setCursor (posit, 0);

lcd.print ("/");

positiivne ++;

teine = teine arv (); lcd.setCursor (1, 1);

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

lcd.print (kokku);

esimene = 0, teine = 0;

posit = 0;

murda;

juhtum „C”:

kokku = 0;

esimene = 0;

teine = 0;

posit = 0;

lcd.clear ();

murda; }

}

pikk SecondNumber () {

samas (1) {

customKey = customKeypad.getKey ();

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

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

lcd.setCursor (posit, 0);

lcd.print (teine); }

if (customKey == 'C') {

kokku = 0;

esimene = 0;

teine = 0;

posit = 0;

lcd.clear ();

murda; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

posit = kokku;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

murda; }

}

tagasitulek teine;}

8. samm: tulemus

Tulemus
Tulemus
Tulemus
Tulemus

Loodan, et teile kõigile meeldis see juhend. Täname lugemise eest!

Saim.

Soovitan: