Cuprins:

Calculator LCD de Jai Mishra: 8 pași
Calculator LCD de Jai Mishra: 8 pași

Video: Calculator LCD de Jai Mishra: 8 pași

Video: Calculator LCD de Jai Mishra: 8 pași
Video: Bro’s hacking life 😭🤣 2024, Iulie
Anonim
Calculator LCD de Jai Mishra
Calculator LCD de Jai Mishra

Proiecte Tinkercad »

Acesta este un proiect foarte util care vă învață cum să vă creați propriul calculator. Puteți crea acest calculator online sau în viața reală cu ajutorul unor consumabile suplimentare, dar deocamdată ne vom concentra doar pe crearea unui calculator online.

Provizii

  • Arduino Uno R3
  • Rezistor de 220 ohmi
  • Tastatură 4 * 4
  • 16 * 2 LCD
  • O grămadă de fire pentru a conecta circuitul

Pasul 1: Strângeți-vă consumabilele pe TinkerCad

Adunați consumabilele pe TinkerCad
Adunați consumabilele pe TinkerCad

Asigurați-vă că toate consumabilele dvs. sunt disponibile înainte de a începe cu pasul 2 pentru a reduce stresul și greșelile. Asigurați-vă că utilizați și consumabilele potrivite, unele dintre componentele de pe această imagine de mai sus sunt similare cu alte componente, deci nu vă amestecați între ele. Utilizați imaginea de mai sus ca îndrumare.

Pasul 2: Aranjați-vă consumabilele

Aranjați-vă consumabilele
Aranjați-vă consumabilele

Aranjarea consumabilelor este cel mai bun mod de a vedea o previzualizare a aspectului ar putea arăta calculatorul. Puteți crea orice tip de design de calculator doriți, dar asigurați-vă că calculatorul arată natural și că utilizatorii pot înțelege designul și nu se pot confunda. Am folosit un design tipic de calculator elegant, care este eficient și ușor de înțeles de toată lumea. Puteți alege fie designul meu, fie creați propriul dvs., dar orice ar fi este creativ și noroc!

Pasul 3: Conectarea firelor

Conectarea firelor
Conectarea firelor

Conectarea firelor este o treabă grea dacă nu înțelegeți sensul din spatele acesteia. În acest cablaj, încercăm să conectăm toate cele patru componente împreună, astfel încât acestea să poată funcționa ca un grup atunci când este timpul pentru scrierea codului. Dacă nu există fire, nu va curge curent, ceea ce va duce la un proiect eșuat. Asigurați-vă că firele dvs. sunt conectate corect, fără nicio neînțelegere.

După ce ați terminat conectarea firelor, asigurați-vă că firele sunt îngrijite și organizate, astfel încât să fie mai ușor pentru dvs. și pentru ceilalți să înțelegeți exact ce se întâmplă în hardware-ul acestui calculator. Așa cum am spus mai înainte, puteți folosi tehnica mea de organizare a firelor dvs. sau vă puteți crea propria dvs., dar orice ați decide să faceți, asigurați-vă că acestea sunt asamblate cu ceva spațiu.

Pasul 4: Scrierea codului

Scrierea Codului
Scrierea Codului
Scrierea Codului
Scrierea Codului
Scrierea Codului
Scrierea Codului

#include

#include #include

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

lung primul = 0; secunda lunga = 0; total dublu = 0;

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

tastele char [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; byte rowPins [ROWS] = {7, 6, 5, 4}; // conectați-vă la pinouturile rândului octetului tastaturii colPins [COLS] = {3, 2, 1, 0}; // conectați-vă la pinouturile coloanei tastaturii

// inițializați o instanță din clasa NewKeypad Keypad customKeypad = Tastatură (makeKeymap (taste), rowPins, colPins, ROWS, COLS);

void setup () {lcd.begin (16, 2); // începe LCD pentru (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print („Calculator”); lcd.setCursor (0, 1); lcd.print („De Jai Mishra”); întârziere (4000); lcd.clear (); lcd.print („Proiect final”); întârziere (2500); lcd.clear (); lcd.setCursor (0, 0); }

bucla nulă () {

customKey = customKeypad.getKey (); switch (customKey) {case '0' … '9': // Aceasta continuă să colecteze prima valoare până când se apasă un operator "+ - * /" lcd.setCursor (0, 0); first = first * 10 + (customKey - '0'); lcd.print (primul); pauză;

cazul '+': primul = (total! = 0? total: primul); lcd.setCursor (0, 1); lcd.print ("+"); al doilea = Numărul al doilea (); // obțineți al doilea număr colectat total = primul + al doilea; lcd.setCursor (0, 3); lcd.print (total); primul = 0, al doilea = 0; // resetează valorile la zero pentru pauza următoarei utilizări;

caz '-': primul = (total! = 0? total: primul); lcd.setCursor (0, 1); lcd.print ("-"); al doilea = Numărul al doilea (); total = primul - al doilea; lcd.setCursor (0, 3); lcd.print (total); primul = 0, al doilea = 0; pauză;

cazul '*': primul = (total! = 0? total: primul); lcd.setCursor (0, 1); lcd.print ("*"); al doilea = Numărul al doilea (); total = primul * al doilea; lcd.setCursor (0, 3); lcd.print (total); primul = 0, al doilea = 0; pauză;

caz '/': primul = (total! = 0? total: primul); lcd.setCursor (0, 1); lcd.print ("/"); al doilea = Numărul al doilea (); lcd.setCursor (0, 3);

al doilea == 0? lcd.print ("Invalid"): total = (float) primul / (float) al doilea;

lcd.print (total); primul = 0, al doilea = 0; pauză;

cazul 'C': total = 0; lcd.clear (); pauză; }}

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

if (customKey == '=') break; // întoarce al doilea; } reveniți al doilea; }

Pasul 5: Descompunerea codului

Defalcarea codului
Defalcarea codului

Am inițializat valorile pentru ca computerul să le înțeleagă

#include

#include #include

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

lung primul = 0; secunda lunga = 0; total dublu = 0;

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

I-am spus computerului numerele și semnele la care ar trebui să funcționeze tastatura

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

Am finalizat rândurile și coloanele tastaturii și ce număr vine în ce coloană etc

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

Am creat introducerea sau puterea de pe ecran pentru computer (Puteți scrie propriul dvs. nume pe el)

void setup () {lcd.begin (16, 2); pentru (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print („Calculator”); lcd.setCursor (0, 1); lcd.print („De Jai Mishra”); întârziere (4000); lcd.clear (); lcd.print („Proiect final”); întârziere (2500); lcd.clear (); lcd.setCursor (0, 0); }

Creăm semnificația și formula pentru fiecare operație în calculator, astfel încât computerul să înțeleagă ce formulă să utilizeze atunci când utilizatorul apasă „+” pe calculator etc

{case '0' … '9': lcd.setCursor (0, 0); first = first * 10 + (customKey - '0'); lcd.print (primul); pauză;

caz '/': primul = (total! = 0? total: primul); lcd.setCursor (0, 1); lcd.print ("/"); al doilea = Numărul al doilea (); lcd.setCursor (0, 3);

al doilea == 0? lcd.print ("Invalid"): total = (float) primul / (float) al doilea;

lcd.print (total); primul = 0, al doilea = 0; pauză; cazul '+': primul = (total! = 0? total: primul); lcd.setCursor (0, 1); lcd.print ("+"); al doilea = Numărul al doilea (); lcd.setCursor (0, 3); lcd.print (total); primul = 0, al doilea = 0; pauză;

caz '-': primul = (total! = 0? total: primul); lcd.setCursor (0, 1); lcd.print ("-"); al doilea = Numărul al doilea (); total = primul - al doilea; lcd.setCursor (0, 3); lcd.print (total); primul = 0, al doilea = 0; pauză;

cazul '*': primul = (total! = 0? total: primul); lcd.setCursor (0, 1); lcd.print ("*"); al doilea = Numărul al doilea (); total = primul * al doilea; lcd.setCursor (0, 3); lcd.print (total); primul = 0, al doilea = 0; pauză;

cazul 'C': total = 0; lcd.clear (); pauză; }}

Codul este foarte ușor, tot ce trebuie să faceți este să încercați să îl înțelegeți și apoi totul se poate face cu ușurință. Dacă aveți probleme cu codul, trimiteți-mi un e-mail

Pasul 6: Cum funcționează hardware-ul acestui calculator?

Cum funcționează hardware-ul acestui calculator?
Cum funcționează hardware-ul acestui calculator?

Acest calculator folosește un LCD, o tastatură, o placă Arduino și un rezistor de 220 ohmi. Toate aceste componente sunt separate, dar sunt conectate cu firele de la Arduino la tastatură și LCD. Diferite secțiuni ale ecranului LCD sunt conectate cu placa Arduino care, în cele din urmă, le conectează pe amândouă cu tastatura. După conectare, codarea face toată treaba și dă fiecărei operații și butoane de pe tastatură o lucrare de urmat.

Pasul 7: Previzualizare completă a calculatorului

Așa arată proiectul nostru final! Dacă codul dvs. nu funcționează sau există unele dificultăți tehnice, vă rugăm să mă trimiteți prin e-mail și voi încerca tot posibilul pentru a vă ajuta să creați cel mai bun calculator!

Pasul 8: Inspirația mea pentru acest cod

M-am inspirat din videoclipul de mai sus despre cum să faci un calculator pe tinkercad! Nu am copiat și lipit nimic, dar am folosit ideea lui despre calculator și înțelegerea codului.

Recomandat: