Sadržaj:

LCD kalkulator Jai Mishre: 8 koraka
LCD kalkulator Jai Mishre: 8 koraka
Anonim
LCD kalkulator Jai Mishra
LCD kalkulator Jai Mishra

Tinkercad projekti »

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

Supplies

  • Arduino Uno R3
  • 220 Ohm otpornik
  • 4*4 Tastatura
  • 16*2 LCD
  • Hrpa žica za povezivanje kola

Korak 1: Prikupite zalihe na TinkerCad -u

Nabavite zalihe na TinkerCad -u
Nabavite zalihe na TinkerCad -u

Prije nego počnemo s korakom 2, provjerite jesu li sve vaše zalihe dostupne kako biste smanjili stres i greške. Koristite i 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 zalihe

Rasporedite zalihe
Rasporedite zalihe

Uređivanje zaliha najbolji je način da vidite pregled kako bi vaš kalkulator mogao izgledati. Možete stvoriti bilo koju vrstu dizajna kalkulatora koju želite, ali pazite da kalkulator izgleda prirodno i da korisnici razumiju dizajn i da se ne zbune. Koristio sam tipičan elegantni dizajn kalkulatora koji je efikasan 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 pravilno spojene bez ikakvih 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 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

#include

#include #include

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

long long = 0; duga sekunda = 0; dvostruko ukupno = 0;

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

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

// 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 projekat"); 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); first = first * 10 + (customKey - '0'); lcd.print (prvi); break;

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

slučaj '-': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("-"); second = SecondNumber (); ukupno = prvo - drugo; lcd.setCursor (0, 3); lcd.print (ukupno); prvi = 0, drugi = 0; break;

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

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

drugo == 0? lcd.print ("Neispravno"): ukupno = prvo (float) prvo / (float) drugo;

lcd.print (ukupno); prvi = 0, drugi = 0; break;

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

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; // vrati drugu; } return second; }

Korak 5: Razbijanje koda

Kršenje Kodeksa
Kršenje Kodeksa

Pokrenuli smo vrijednosti koje računar treba razumjeti

#include

#include #include

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

long long = 0; duga sekunda = 0; dvostruko ukupno = 0;

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

Rekli smo računaru brojevi i znakovi na kojima bi tastatura trebala raditi

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

Završili smo redove i stupce tastature i koji broj dolazi u koju kolonu itd

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

Napravili smo uvod ili ekran za uključivanje računara (na njega možete napisati svoje ime)

void setup () {lcd.begin (16, 2); for (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 projekat"); 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); first = first * 10 + (customKey - '0'); lcd.print (prvi); break;

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

drugo == 0? lcd.print ("Neispravno"): ukupno = prvo (float) prvo / (float) drugo;

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

slučaj '-': prvi = (ukupno! = 0? ukupno: prvo); lcd.setCursor (0, 1); lcd.print ("-"); second = SecondNumber (); ukupno = prvo - drugo; lcd.setCursor (0, 3); lcd.print (ukupno); prvi = 0, drugi = 0; break;

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

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

Kôd je vrlo jednostavan, sve što trebate učiniti je pokušati ga razumjeti i tada se sve može lako učiniti. 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, tastaturu, 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 dugmetu na tastaturi 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

Inspiriran sam 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čuje se: