Sadržaj:

LCD kalkulator Jai Mishre: 8 koraka
LCD kalkulator Jai Mishre: 8 koraka

Video: LCD kalkulator Jai Mishre: 8 koraka

Video: LCD kalkulator Jai Mishre: 8 koraka
Video: Vivo Y17 (1902) How to Disable Talkback or Voice over | GSMAN ASHIQUE I 2024, Srpanj
Anonim
LCD kalkulator Jai Mishre
LCD kalkulator Jai Mishre

Tinkercad projekti »

Ovo je vrlo koristan projekt koji vas uči kako stvoriti vlastiti kalkulator. Ovaj kalkulator možete izraditi na mreži ili u stvarnom životu uz pomoć dodatnih potrepština, ali zasad ćemo se usredotočiti samo na izradu mrežnog kalkulatora.

Pribor

  • Arduino Uno R3
  • Otpor 220 Ohma
  • 4*4 Tastatura
  • 16*2 LCD
  • Hrpa žica za povezivanje kruga

Korak 1: Prikupite zalihe na TinkerCad -u

Prikupite zalihe na TinkerCad -u
Prikupite zalihe na TinkerCad -u

Prije nego počnemo s korakom 2, provjerite jesu li sve vaše zalihe dostupne kako biste smanjili stres i pogreške. Također upotrijebite odgovarajuće zalihe, neke od komponenti na gornjoj slici slične su drugim komponentama, stoga se ne miješajte između njih. Koristite gornju sliku kao svoje vodiče.

Korak 2: Rasporedite potrepštine

Rasporedite zalihe
Rasporedite zalihe

Raspoređivanje zaliha najbolji je način da vidite kako bi vaš kalkulator mogao izgledati. Možete stvoriti bilo koju vrstu dizajna kalkulatora koju želite, ali pobrinite se da kalkulator izgleda prirodno i da korisnici razumiju dizajn i da se ne zbune. Koristio sam tipičan elegantni dizajn kalkulatora koji je učinkovit i razumljiv svima. Možete odabrati moj dizajn ili stvoriti vlastiti, ali što god to bilo, budite kreativni i sretno!

Korak 3: Spajanje žica

Spajanje žica
Spajanje žica

Spajanje žica težak je posao ako ne razumijete značenje iza toga. U ovom ožičenju pokušavamo povezati sve četiri komponente zajedno kako bi mogle raditi kao grupa kada dođe vrijeme za pisanje koda. Ako nema žica, neće teći struja, što će dovesti do neuspjelog projekta. Provjerite jesu li vaše žice ispravno spojene bez nesporazuma.

Nakon što završite s povezivanjem žica, provjerite jesu li vaše žice uredne i organizirane kako biste i vama i drugima bilo lakše razumjeti što se točno događa u hardveru ovog kalkulatora. Kao što sam već rekao, možete ili koristiti moju tehniku organiziranja žica ili možete stvoriti vlastitu, ali što god odlučite učiniti, pobrinite se da budu sastavljeni s malo prostora.

Korak 4: Pisanje koda

Pisanje koda
Pisanje koda
Pisanje koda
Pisanje koda
Pisanje koda
Pisanje koda

#uključi

#include #include

LCD tekući kristal (13, 12, 11, 10, 9, 8);

dugo prvo = 0; duga sekunda = 0; dvostruko ukupno = 0;

char customKey; const byte ROWS = 4; const bajt COLS = 4;

ključevi char [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; byte rowPins [ROWS] = {7, 6, 5, 4}; // povezivanje s pinout -ovima reda bajta tipkovnice colPins [COLS] = {3, 2, 1, 0}; // povezivanje s ispisima stupaca tipkovnice

// inicijalizira instancu klase NewKeypad Keypad customKeypad = Keypad (makeKeymap (ključevi), rowPins, colPins, ROWS, COLS);

void setup () {lcd.begin (16, 2); // pokretanje lcd -a za (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Kalkulator"); lcd.setCursor (0, 1); lcd.print ("Napisao Jai Mishra"); kašnjenje (4000); lcd.clear (); lcd.print ("Završni projekt"); kašnjenje (2500); lcd.clear (); lcd.setCursor (0, 0); }

void loop () {{100} {101}

customKey = customKeypad.getKey (); switch (customKey) {case '0'… '9': // Ovo nastavlja prikupljati prvu vrijednost sve dok operator ne pritisne "+-*/" lcd.setCursor (0, 0); prvi = prvi * 10 + (customKey - '0'); lcd.print (prvi); pauza;

slučaj '+': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("+"); second = Drugi broj (); // dobiti prikupljeni drugi broj ukupno = prvi + drugi; lcd.setCursor (0, 3); lcd.tisak (ukupno); prvi = 0, drugi = 0; // vraćanje vrijednosti na nulu za sljedeću pauzu upotrebe;

slučaj '-': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("-"); second = Drugi broj (); ukupno = prvi - drugi; lcd.setCursor (0, 3); lcd.tisak (ukupno); prvi = 0, drugi = 0; pauza;

slučaj '*': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("*"); second = Drugi broj (); ukupno = prva * druga; lcd.setCursor (0, 3); lcd.tisak (ukupno); prvi = 0, drugi = 0; pauza;

slučaj '/': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("/"); second = Drugi broj (); lcd.setCursor (0, 3);

drugi == 0? lcd.print ("Nevažeće"): ukupno = prvo (float) prvo / (float) drugo;

lcd.tisak (ukupno); prvi = 0, drugi = 0; pauza;

slučaj 'C': ukupno = 0; lcd.clear (); pauza; }}

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

if (customKey == '=') break; // povratak drugi; } povratak drugi; }

Korak 5: Razbijanje koda

Rušenje koda
Rušenje koda

Pokrenuli smo vrijednosti za razumijevanje računala

#uključi

#include #include

LCD tekući kristal (13, 12, 11, 10, 9, 8);

dugo prvo = 0; duga sekunda = 0; dvostruko ukupno = 0;

char customKey; const byte ROWS = 4; const bajt COLS = 4;

Računalu smo rekli brojeve i znakove na kojima bi tipkovnica trebala raditi

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

Završili smo retke i stupce tipkovnice i koji broj dolazi u koji stupac itd

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

Napravili smo uvod ili računalo s uključenim ekranom (na njega možete napisati svoje ime)

void setup () {lcd.begin (16, 2); za (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Kalkulator"); lcd.setCursor (0, 1); lcd.print ("Napisao Jai Mishra"); kašnjenje (4000); lcd.clear (); lcd.print ("Završni projekt"); kašnjenje (2500); lcd.clear (); lcd.setCursor (0, 0); }

Mi stvaramo značenje i formulu za svaku operaciju u kalkulatoru tako da računalo razumije koju formulu treba koristiti kada korisnik pritisne "+" na kalkulatoru itd

{slučaj '0' … '9': lcd.setCursor (0, 0); prvi = prvi * 10 + (customKey - '0'); lcd.print (prvi); pauza;

slučaj '/': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("/"); second = Drugi broj (); lcd.setCursor (0, 3);

drugi == 0? lcd.print ("Nevažeće"): ukupno = prvo (float) prvo / (float) drugo;

lcd.tisak (ukupno); prvi = 0, drugi = 0; pauza; slučaj '+': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("+"); second = Drugi broj (); lcd.setCursor (0, 3); lcd.tisak (ukupno); prvi = 0, drugi = 0; pauza;

slučaj '-': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("-"); second = Drugi broj (); ukupno = prvi - drugi; lcd.setCursor (0, 3); lcd.tisak (ukupno); prvi = 0, drugi = 0; pauza;

slučaj '*': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("*"); second = Drugi broj (); ukupno = prva * druga; lcd.setCursor (0, 3); lcd.tisak (ukupno); prvi = 0, drugi = 0; pauza;

slučaj 'C': ukupno = 0; lcd.clear (); pauza; }}

Kôd je vrlo jednostavan, sve što trebate učiniti je pokušati ga razumjeti i tada se sve može učiniti jednostavno. Ako imate problema s kodom, pošaljite mi e -poštu

Korak 6: Kako funkcionira hardver ovog kalkulatora?

Kako funkcionira hardver ovog kalkulatora?
Kako funkcionira hardver ovog kalkulatora?

Ovaj kalkulator koristi LCD, tipkovnicu, Arduino ploču i otpornik od 220 ohma. Sve su ove komponente odvojene, ali su povezane žicama od Arduina do tipkovnice i LCD -a. Različiti dijelovi LCD -a povezani su s Arduino pločom koja ih na kraju povezuje s tipkovnicom. Nakon povezivanja, kodiranje obavlja sav posao i svakoj operaciji i gumbu na tipkovnici daje posao koji treba slijediti.

Korak 7: Potpuni pregled kalkulatora

Ovako izgleda naš konačni projekt! Ako vaš kôd ne radi ili postoje neke tehničke poteškoće, pošaljite mi poruku e -poštom i potrudit ću se pomoći vam u stvaranju najboljeg kalkulatora!

Korak 8: Moja inspiracija ovog koda

Nadahnuo sam se iz gornjeg videa o tome kako napraviti kalkulator na tinkercadu! Nisam ništa kopirao i zalijepio, ali sam koristio njegovu ideju kalkulatora i razumijevanje koda.

Preporučeni: