Mündəricat:

Jai Mishra tərəfindən LCD Kalkulyator: 8 addım
Jai Mishra tərəfindən LCD Kalkulyator: 8 addım

Video: Jai Mishra tərəfindən LCD Kalkulyator: 8 addım

Video: Jai Mishra tərəfindən LCD Kalkulyator: 8 addım
Video: Анна Седокова - Привязана к тебе (Премьера Клипа 2020) 2024, Noyabr
Anonim
LCD Kalkulyator Jai Mishra tərəfindən
LCD Kalkulyator Jai Mishra tərəfindən

Tinkercad Layihələri »

Öz kalkulyatorunuzu necə yaratmağı öyrədən çox faydalı bir layihədir. Əlavə tədarüklərin köməyi ilə ya bu kalkulyatoru həm onlayn, həm də real həyatda yarada bilərsiniz, amma hələlik yalnız bir onlayn kalkulyator yaratmağa diqqət edəcəyik.

Təchizat

  • Arduino Uno R3
  • 220 Ohm müqavimət
  • 4*4 Klaviatura
  • 16*2 LCD
  • Dövrəni bağlamaq üçün bir dəstə tel

Addım 1: Təchizatlarınızı TinkerCad -da toplayın

Təchizatlarınızı TinkerCad -da toplayın
Təchizatlarınızı TinkerCad -da toplayın

Stress və səhvləri azaltmaq üçün 2 -ci addıma başlamazdan əvvəl bütün təchizatlarınızın mövcud olduğundan əmin olun. Doğru təchizatı da istifadə etdiyinizə əmin olun, yuxarıdakı şəkildəki bəzi komponentlər digər komponentlərə bənzəyir, buna görə də aralarında qarışmayın. Təlimat olaraq yuxarıdakı şəkildən istifadə edin.

Addım 2: Təchizatlarınızı düzəldin

Təchizatlarınızı təşkil edin
Təchizatlarınızı təşkil edin

Təchizatlarınızı təşkil etmək, kalkulyatorunuzun necə görünə biləcəyini görmək üçün ən yaxşı yoldur. İstədiyiniz hər hansı bir kalkulyator dizaynını yarada bilərsiniz, ancaq kalkulyatorun təbii göründüyünə və istifadəçilərin dizaynı başa düşüb çaşmamasına əmin olun. Hər kəs tərəfindən təsirli və başa düşülən tipik bir yüksək keyfiyyətli kalkulyator dizaynından istifadə etdim. Ya mənim dizaynımı seçə bilərsiniz, ya da öz dizaynınızı yarada bilərsiniz, amma nə olursa olsun yaradıcı olun və uğurlar!

Addım 3: Telləri bağlayın

Telləri birləşdirmək
Telləri birləşdirmək

Telləri bağlamaq, bunun arxasındakı mənanı anlamırsınızsa, çətin bir işdir. Bu naqildə, bütün dörd komponenti bir -birinə bağlamağa çalışırıq ki, kod yazma vaxtı gəldikdə qrup halında işləyə bilsinlər. Tel yoxdursa, heç bir cərəyan axmayacaq və bu da uğursuz bir layihəyə səbəb olacaq. Heç bir anlaşılmazlıq olmadan tellərinizin düzgün bağlandığından əmin olun.

Telləri bağlamağı bitirdikdən sonra, tellərinizin səliqəli və nizamlı olduğundan əmin olun ki, sizin və başqalarının bu kalkulyatorun aparatında nələrin baş verdiyini dəqiq başa düşəsiniz. Daha əvvəl dediyim kimi, ya tellərimi düzəltmə texnikamdan istifadə edə bilərsiniz, ya da özünüz qura bilərsiniz, amma nə qərar verdiyinizdən asılı olmayaraq, onların bir boşluqla yığıldığından əmin olun.

Addım 4: Kod yazmaq

Kod yazmaq
Kod yazmaq
Kod yazmaq
Kod yazmaq
Kod yazmaq
Kod yazmaq

#daxil edin

#daxil edin #daxil edin

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

uzun ilk = 0; uzun saniyə = 0; ikiqat ümumi = 0;

char customKey; const bayt ROWS = 4; const baytı COLS = 4;

char düymələri [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; bayt rowPins [ROWS] = {7, 6, 5, 4}; // klaviatura bayt colPins [pinlər] satır pinouts qoşulmaq [COLS] = {3, 2, 1, 0}; // klaviaturanın sütun pinoutlarına qoşulun

// NewKeypad Keypad sinifinin bir nümunəsini başlatmaq customKeypad = Klaviatura (makeKeymap (düymələr), rowPins, colPins, ROWS, COLS);

void setup () {lcd.begin (16, 2); // start lcd (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Kalkulyator"); lcd.setCursor (0, 1); lcd.print ("Jai Mishra tərəfindən"); gecikmə (4000); lcd.clear (); lcd.print ("Son Layihə"); gecikmə (2500); lcd.clear (); lcd.setCursor (0, 0); }

boşluq döngəsi () {

customKey = customKeypad.getKey (); switch (customKey) {case '0'… '9': // Bu, operatora "+-*/" lcd.setCursor (0, 0) basılana qədər ilk dəyəri toplamağa davam edir; ilk = ilk * 10 + (customKey - '0'); lcd.print (ilk); fasilə;

hal '+': birinci = (cəmi! = 0? cəmi: birinci); lcd.setCursor (0, 1); lcd.print ("+"); ikinci = SecondNumber (); // toplanan ikinci nömrəni əldə edin cəmi = birinci + ikinci; lcd.setCursor (0, 3); lcd çap (cəmi); birinci = 0, ikinci = 0; // növbəti istifadə fasiləsi üçün dəyərləri sıfıra sıfırlayın;

hal '-': birinci = (cəmi! = 0? cəmi: birinci); lcd.setCursor (0, 1); lcd.print ("-"); ikinci = SecondNumber (); cəmi = birinci - ikinci; lcd.setCursor (0, 3); lcd çap (cəmi); birinci = 0, ikinci = 0; fasilə;

hal '*': birinci = (cəmi! = 0? cəmi: birinci); lcd.setCursor (0, 1); lcd.print ("*"); ikinci = SecondNumber (); cəmi = birinci * ikinci; lcd.setCursor (0, 3); lcd çap (cəmi); birinci = 0, ikinci = 0; fasilə;

case '/': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("/"); ikinci = SecondNumber (); lcd.setCursor (0, 3);

saniyə == 0? lcd.print ("Yanlış"): total = (float) birinci / (float) saniyə;

lcd çap (cəmi); birinci = 0, ikinci = 0; fasilə;

hal 'C': cəmi = 0; lcd.clear (); fasilə; }}

long SecondNumber () {while (1) {customKey = customKeypad.getKey (); əgər (customKey> = '0' && customKey <= '9') {saniyə = saniyə * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd çap (ikinci); }

if (customKey == '=') fasilə; // geri qayıt; } saniyə qayıt; }

Addım 5: Kodun pozulması

Kodun pozulması
Kodun pozulması

Kompüterin başa düşməsi üçün dəyərləri işə saldıq

#daxil edin

#daxil edin #daxil edin

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

uzun ilk = 0; uzun saniyə = 0; ikiqat ümumi = 0;

char customKey; const bayt ROWS = 4; const baytı COLS = 4;

Klaviaturanın işləməli olduğu nömrələri və işarələri kompüterə dedik

char düymələri [ROWS] [COLS] = {{'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};

Klaviatura sətirlərini və sütunlarını və hansı nömrənin hansı sütunda olduğunu və s

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

Kompüter üçün giriş və ya ekrandakı güc yaratdıq (Bunun üzərinə öz adınızı yaza bilərsiniz)

void setup () {lcd.begin (16, 2); üçün (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Kalkulyator"); lcd.setCursor (0, 1); lcd.print ("Jai Mishra tərəfindən"); gecikmə (4000); lcd.clear (); lcd.print ("Son Layihə"); gecikmə (2500); lcd.clear (); lcd.setCursor (0, 0); }

Kalkulyatorda hər bir əməliyyatın mənasını və formulunu yaradırıq ki, istifadəçi kalkulyatorda "+" düyməsini basanda kompüter hansı düsturu istifadə etməli olduğunu başa düşsün

{halda '0'… '9': lcd.setCursor (0, 0); ilk = ilk * 10 + (customKey - '0'); lcd.print (ilk); fasilə;

case '/': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("/"); ikinci = SecondNumber (); lcd.setCursor (0, 3);

saniyə == 0? lcd.print ("Yanlış"): total = (float) birinci / (float) saniyə;

lcd çap (cəmi); birinci = 0, ikinci = 0; fasilə; hal '+': birinci = (cəmi! = 0? cəmi: birinci); lcd.setCursor (0, 1); lcd.print ("+"); ikinci = SecondNumber (); lcd.setCursor (0, 3); lcd çap (cəmi); birinci = 0, ikinci = 0; fasilə;

case '-': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("-"); ikinci = SecondNumber (); cəmi = birinci - ikinci; lcd.setCursor (0, 3); lcd çap (cəmi); birinci = 0, ikinci = 0; fasilə;

hal '*': birinci = (cəmi! = 0? cəmi: birinci); lcd.setCursor (0, 1); lcd.print ("*"); ikinci = SecondNumber (); cəmi = birinci * ikinci; lcd.setCursor (0, 3); lcd çap (cəmi); birinci = 0, ikinci = 0; fasilə;

hal 'C': cəmi = 0; lcd.clear (); fasilə; }}

Kod çox asandır, etməniz lazım olan yalnız onu anlamağa çalışmaqdır və sonra hər şey asanlıqla edilə bilər. Kodla bağlı hər hansı bir problem varsa, mənə e -poçt göndərin

Addım 6: Bu Kalkulyatorun Avadanlığı Necə Çalışır?

Bu Kalkulyatorun Avadanlığı Necə Çalışır?
Bu Kalkulyatorun Avadanlığı Necə Çalışır?

Bu kalkulyatorda LCD, klaviatura, Arduino lövhəsi və 220 ohm rezistor istifadə olunur. Bu komponentlərin hamısı ayrıdır, lakin Arduinodan klaviatura və LCD -yə olan tellərlə bağlıdır. LCD -nin fərqli bölmələri, nəticədə hər ikisini Klaviatura ilə birləşdirən Arduino lövhəsi ilə bağlıdır. Bağlantıdan sonra kodlaşdırma bütün işləri yerinə yetirir və klaviaturadakı hər bir əməliyyatı və düyməni izləmək üçün bir iş verir.

Addım 7: Kalkulyatorun Tam Görünüşü

Son layihəmiz belə görünür! Kodunuz işləmirsə və ya bəzi texniki çətinliklər varsa, mənə e -poçt göndərin və ən yaxşı kalkulyatoru yaratmağa kömək etmək üçün əlimdən gələni edəcəyəm!

Addım 8: Bu Məcəllənin İlhamı

Tinkercad -da bir kalkulyatorun necə olacağına dair yuxarıdakı videodan ilham aldım! Heç bir şeyi kopyalayıb yapışdırmadım, ancaq onun hesablama və kod anlayışından istifadə etdim.

Tövsiyə: