Turinys:

Jai Mishra LCD skaičiuoklė: 8 žingsniai
Jai Mishra LCD skaičiuoklė: 8 žingsniai

Video: Jai Mishra LCD skaičiuoklė: 8 žingsniai

Video: Jai Mishra LCD skaičiuoklė: 8 žingsniai
Video: LCD from Banggood not working 2024, Lapkritis
Anonim
Jai Mishra LCD skaičiuoklė
Jai Mishra LCD skaičiuoklė

Tinkercad projektai »

Tai labai naudingas projektas, mokantis susikurti savo skaičiuotuvą. Šią skaičiuotuvą galite sukurti internetu arba realiame gyvenime naudodami papildomas atsargas, tačiau kol kas mes sutelksime dėmesį tik į internetinės skaičiuoklės kūrimą.

Prekės

  • „Arduino Uno R3“
  • 220 omų rezistorius
  • 4*4 klaviatūra
  • 16*2 LCD ekranas
  • Laidų krūva grandinei prijungti

1 veiksmas: surinkite savo reikmenis „TinkerCad“

Surinkite savo reikmenis „TinkerCad“
Surinkite savo reikmenis „TinkerCad“

Prieš pradėdami nuo 2 veiksmo įsitikinkite, kad visi jūsų reikmenys yra prieinami, kad sumažintumėte stresą ir klaidas. Įsitikinkite, kad taip pat naudojate tinkamus priedus, kai kurie šio paveikslėlio komponentai yra panašūs į kitus komponentus, todėl nesimaišykite. Vadovaukitės aukščiau esančiu paveikslėliu.

2 žingsnis: sutvarkykite savo reikmenis

Sutvarkykite savo reikmenis
Sutvarkykite savo reikmenis

Prekių išdėstymas yra geriausias būdas peržiūrėti, kaip gali atrodyti jūsų skaičiuotuvas. Galite sukurti bet kokio tipo skaičiuotuvo dizainą, tačiau įsitikinkite, kad skaičiuotuvas atrodo natūraliai, o vartotojai gali suprasti jo dizainą ir nesusipainioti. Aš naudojau tipišką elegantišką skaičiuoklės dizainą, kuris yra efektyvus ir suprantamas visiems. Galite pasirinkti mano dizainą arba sukurti savo, bet nesvarbu, koks jis yra, būkite kūrybingi ir sėkmės!

3 žingsnis: Prijunkite laidus

Laidų prijungimas
Laidų prijungimas

Laidų prijungimas yra sunkus darbas, jei nesuprantate jo prasmės. Šioje laidoje mes bandome sujungti visus keturis komponentus, kad jie galėtų dirbti kaip grupė, kai atėjo laikas rašyti kodą. Jei nėra laidų, srovė netekės, o tai sukels nesėkmingą projektą. Įsitikinkite, kad jūsų laidai yra tinkamai prijungti be jokių nesusipratimų.

Baigę prijungti laidus, įsitikinkite, kad jūsų laidai yra tvarkingi ir sutvarkyti, kad jums ir kitiems būtų lengviau suprasti, kas tiksliai vyksta šio skaičiuotuvo aparatinėje įrangoje. Kaip jau sakiau anksčiau, galite naudoti mano laidų tvarkymo techniką arba galite sukurti savo, bet ką nuspręsite padaryti, įsitikinkite, kad jie yra surinkti šiek tiek vietos.

4 žingsnis: kodo rašymas

Kodo rašymas
Kodo rašymas
Kodo rašymas
Kodo rašymas
Kodo rašymas
Kodo rašymas

#įtraukti

#įtraukti #įtraukti

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

ilgas pirmas = 0; ilga sekundė = 0; dvigubas bendras = 0;

char customKey; const baitas ROWS = 4; const baitas COLS = 4;

char klavišai [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; baitų rowPins [ROWS] = {7, 6, 5, 4}; // prisijungti prie klaviatūros eilučių baitų colPins [COLS] = {3, 2, 1, 0}; // prisijungti prie klaviatūros stulpelių kontaktų

// inicijuoti klasės NewKeypad klaviatūros egzempliorių customKeypad = Keypad (makeKeymap (klavišai), 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 („Skaičiuotuvas“); lcd.setCursor (0, 1); lcd.print („Jai Mishra“); vėlavimas (4000); lcd.clear (); lcd.print („Galutinis projektas“); vėlavimas (2500); lcd.clear (); lcd.setCursor (0, 0); }

void loop () {

customKey = customKeypad.getKey (); switch (customKey) {case '0' … '9': // Tai nuolat renka pirmąją vertę, kol paspaudžiamas operatorius "+-*/" lcd.setCursor (0, 0); pirmas = pirmas * 10 + (customKey - '0'); lcd.print (pirmasis); pertrauka;

atvejis „+“: pirmas = (iš viso! = 0? iš viso: pirmas); lcd.setCursor (0, 1); lcd.print ("+"); antras = antras numeris (); // gauti surinktą antrąjį skaičių iš viso = pirmas + antras; lcd.setCursor (0, 3); lcd.print (iš viso); pirmas = 0, antras = 0; // iš naujo nustatyti reikšmes į nulį kitam naudojimo pertraukai;

atvejis '-': pirmas = (iš viso! = 0? iš viso: pirmas); lcd.setCursor (0, 1); lcd.print ("-"); antras = antras numeris (); iš viso = pirmas - antras; lcd.setCursor (0, 3); lcd.print (iš viso); pirmas = 0, antras = 0; pertrauka;

atvejis '*': pirmas = (iš viso! = 0? iš viso: pirmas); lcd.setCursor (0, 1); lcd.print ("*"); antras = antras numeris (); iš viso = pirma * antra; lcd.setCursor (0, 3); lcd.print (iš viso); pirmas = 0, antras = 0; pertrauka;

atvejis '/': pirmas = (iš viso! = 0? iš viso: pirmas); lcd.setCursor (0, 1); lcd.print ("/"); antras = antras numeris (); lcd.setCursor (0, 3);

antra == 0? lcd.print ("Netinkamas"): iš viso = (plūdė) pirma / (plūdė) antra;

lcd.print (iš viso); pirmas = 0, antras = 0; pertrauka;

atvejis „C“: iš viso = 0; lcd.clear (); pertrauka; }}

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

if (customKey == '=') break; // grįžti antras; } grįžti antra; }

5 žingsnis: Kodo pažeidimas

Kodo pažeidimas
Kodo pažeidimas

Mes inicijavome vertes, kad kompiuteris suprastų

#įtraukti

#įtraukti #įtraukti

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

ilgas pirmas = 0; ilga sekundė = 0; dvigubas bendras = 0;

char customKey; const baitas ROWS = 4; const baitas COLS = 4;

Mes pasakėme kompiuteriui numerius ir ženklus, prie kurių turėtų dirbti klaviatūra

char klavišai [ROWS] [COLS] = {{'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};

Mes užbaigėme klaviatūros eilutes ir stulpelius ir kuris numeris yra stulpelyje ir pan

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

Mes sukūrėme kompiuterio įvadą arba įjungimo ekraną (galite parašyti savo vardą)

void setup () {lcd.begin (16, 2); už (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print („Skaičiuotuvas“); lcd.setCursor (0, 1); lcd.print („Jai Mishra“); vėlavimas (4000); lcd.clear (); lcd.print („Galutinis projektas“); vėlavimas (2500); lcd.clear (); lcd.setCursor (0, 0); }

Kiekvienos operacijos reikšmę ir formulę kuriame skaičiuotuvas, kad kompiuteris suprastų, kokią formulę naudoti, kai vartotojas paspaudžia „+“skaičiuoklėje ir pan

{atvejis '0' … '9': lcd.setCursor (0, 0); pirmas = pirmas * 10 + (customKey - '0'); lcd.print (pirmasis); pertrauka;

atvejis '/': pirmas = (iš viso! = 0? iš viso: pirmas); lcd.setCursor (0, 1); lcd.print ("/"); antras = antras numeris (); lcd.setCursor (0, 3);

antra == 0? lcd.print ("Netinkamas"): iš viso = (plūdė) pirma / (plūdė) antra;

lcd.print (iš viso); pirmas = 0, antras = 0; pertrauka; atvejis „+“: pirmas = (iš viso! = 0? iš viso: pirmas); lcd.setCursor (0, 1); lcd.print ("+"); antras = antras numeris (); lcd.setCursor (0, 3); lcd.print (iš viso); pirmas = 0, antras = 0; pertrauka;

atvejis '-': pirmas = (iš viso! = 0? iš viso: pirmas); lcd.setCursor (0, 1); lcd.print ("-"); antras = antras numeris (); iš viso = pirmas - antras; lcd.setCursor (0, 3); lcd.print (iš viso); pirmas = 0, antras = 0; pertrauka;

atvejis '*': pirmas = (iš viso! = 0? iš viso: pirmas); lcd.setCursor (0, 1); lcd.print ("*"); antras = antras numeris (); iš viso = pirma * antra; lcd.setCursor (0, 3); lcd.print (iš viso); pirmas = 0, antras = 0; pertrauka;

atvejis „C“: iš viso = 0; lcd.clear (); pertrauka; }}

Kodas yra labai lengvas, tereikia pabandyti jį suprasti ir tada viskas gali būti padaryta lengvai. Jei kyla problemų dėl kodo, rašykite man el

6 veiksmas: kaip veikia šio skaičiuotuvo aparatinė įranga?

Kaip veikia šio skaičiuotuvo aparatinė įranga?
Kaip veikia šio skaičiuotuvo aparatinė įranga?

Šis skaičiuotuvas naudoja LCD ekraną, klaviatūrą, „Arduino“plokštę ir 220 omų rezistorių. Visi šie komponentai yra atskiri, tačiau yra prijungti prie „Arduino“laidų prie klaviatūros ir LCD. Skirtingos LCD dalys yra prijungtos prie „Arduino“plokštės, kuri galiausiai sujungia jas su klaviatūra. Po prisijungimo kodavimas atlieka visą darbą ir kiekvienai klaviatūros operacijai bei mygtukui suteikia užduotį.

7 veiksmas: visa skaičiuoklės peržiūra

Štai kaip atrodo mūsų paskutinis projektas! Jei jūsų kodas neveikia arba kyla techninių sunkumų, rašykite man el. Paštu ir aš pasistengsiu padėti jums sukurti geriausią skaičiuotuvą!

8 žingsnis: mano šio kodekso įkvėpimas

Įkvėpiau iš aukščiau esančio vaizdo įrašo, kaip padaryti skaičiuotuvą tinkercad! Nieko nekopijavau ir neįklijavau, bet panaudojau jo idėją apie skaičiuotuvą ir kodo supratimą.

Rekomenduojamas: