İçindekiler:

Jai Mishra'dan LCD Hesap Makinesi: 8 Adım
Jai Mishra'dan LCD Hesap Makinesi: 8 Adım

Video: Jai Mishra'dan LCD Hesap Makinesi: 8 Adım

Video: Jai Mishra'dan LCD Hesap Makinesi: 8 Adım
Video: #Video | #वायरल गाना | आपन L हमरा B में गिफ्ट करs | #Tanya Jha | Aapan L Hamra B Me Gift Kara 2024, Kasım
Anonim
Jai Mishra'dan LCD Hesap Makinesi
Jai Mishra'dan LCD Hesap Makinesi

Tinkercad Projeleri »

Bu, size kendi hesap makinenizi nasıl oluşturacağınızı öğreten çok faydalı bir projedir. Bu hesap makinesini çevrimiçi olarak veya ekstra sarf malzemelerinin yardımıyla gerçek hayatta oluşturabilirsiniz, ancak şimdilik yalnızca çevrimiçi bir hesap makinesi oluşturmaya odaklanacağız.

Gereçler

  • Arduino Uno R3
  • 220 Ohm direnç
  • 4*4 Tuş Takımı
  • 16*2 LCD
  • Devreyi bağlamak için kablo demeti

1. Adım: Malzemelerinizi TinkerCad'de Toplayın

Malzemelerinizi TinkerCad'de Toplayın
Malzemelerinizi TinkerCad'de Toplayın

Stresi ve hataları azaltmak için 2. adıma başlamadan önce tüm sarf malzemelerinizin hazır olduğundan emin olun. Doğru sarf malzemelerini de kullandığınızdan emin olun, yukarıdaki bu resimdeki bileşenlerden bazıları diğer bileşenlere benzer, bu nedenle arada karıştırmayın. Rehberiniz olarak yukarıdaki resmi kullanın.

2. Adım: Sarf Malzemelerinizi Düzenleyin

Sarf Malzemelerinizi Düzenleyin
Sarf Malzemelerinizi Düzenleyin

Sarf malzemelerinizi düzenlemek, hesap makinenizin nasıl görünebileceğinin bir önizlemesini görmenin en iyi yoludur. İstediğiniz türde bir hesap makinesi tasarımı oluşturabilirsiniz, ancak hesap makinesinin doğal göründüğünden ve kullanıcıların tasarımı anlayabildiğinden ve kafalarının karışmadığından emin olun. Etkili ve herkes tarafından anlaşılabilir tipik bir klas hesap makinesi tasarımı kullandım. Benim tasarımımı seçebilir veya kendi tasarımınızı yaratabilirsiniz, ama ne olursa olsun yaratıcı olun ve iyi şanslar!

Adım 3: Kabloları Bağlama

Telleri Bağlamak
Telleri Bağlamak

Arkasındaki anlamı anlamıyorsanız, kabloları bağlamak zor bir iştir. Bu kablolamada, kod yazma zamanı geldiğinde grup olarak çalışabilmeleri için dört bileşenin tümünü birbirine bağlamaya çalışıyoruz. Kablo yoksa, hiçbir akım akmaz ve başarısız bir projeye yol açar. Kablolarınızın herhangi bir yanlış anlaşılma olmadan doğru şekilde bağlandığından emin olun.

Kabloları bağlamayı bitirdikten sonra, sizin ve başkalarının bu hesap makinesinin donanımında tam olarak neler olduğunu anlamanız için kablolarınızın düzgün ve düzenli olduğundan emin olun. Daha önce de söylediğim gibi, benim tel düzenleme tekniğimi kullanabilir veya kendi telinizi oluşturabilirsiniz, ancak ne yapmaya karar verirseniz verin, biraz boşlukla birleştirildiğinden emin olun.

Adım 4: Kodu Yazma

Kodu Yazma
Kodu Yazma
Kodu Yazma
Kodu Yazma
Kodu Yazma
Kodu Yazma

#Dahil etmek

#include #include

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

önce uzun = 0; uzun saniye = 0; çift toplam = 0;

char özelKey; const bayt SATIRLAR = 4; const bayt COLS = 4;

karakter tuşları[ROWS][COLS] = { {'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'} }; bayt rowPins[SATIR] = {7, 6, 5, 4}; //tuş takımının satır pin çıkışlarına bağlan bayt colPins[COLS] = {3, 2, 1, 0}; // tuş takımının sütun pinlerine bağlanın

// sınıfın bir örneğini başlat NewKeypad Keypad customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

geçersiz kurulum() { lcd.begin(16, 2); // lcd'yi başlat for(int i=0;i<=3;i++); lcd.setCursor(0, 0); lcd.print("Hesap Makinesi"); lcd.setCursor(0, 1); lcd.print("Jai Mishra Tarafından"); gecikme(4000); lcd.clear(); lcd.print("Bitirme Projesi"); gecikme (2500); lcd.clear(); lcd.setCursor(0, 0); }

boşluk döngüsü () {

customKey = customKeypad.getKey(); switch(customKey) { case '0' … '9': // Bu, bir operatöre basılana kadar ilk değeri toplamaya devam eder "+-*/" lcd.setCursor(0, 0); ilk = ilk * 10 + (özelKey - '0'); lcd.print(ilk); kırmak;

durum '+': ilk = (toplam != 0 ? toplam: ilk); lcd.setCursor(0, 1); lcd.print("+"); saniye = İkinciSayı(); // toplanan ikinci sayıyı al toplam = birinci + ikinci; lcd.setCursor(0, 3); lcd.print(toplam); birinci = 0, ikinci = 0; // sonraki kullanım sonu için değerleri sıfırla;

durum '-': ilk = (toplam != 0 ? toplam: ilk); lcd.setCursor(0, 1); lcd.print("-"); saniye = İkinciSayı(); toplam = birinci - ikinci; lcd.setCursor(0, 3); lcd.print(toplam); birinci = 0, ikinci = 0; kırmak;

durum '*': ilk = (toplam != 0 ? toplam: ilk); lcd.setCursor(0, 1); lcd.print("*"); saniye = İkinciSayı(); toplam = birinci * saniye; lcd.setCursor(0, 3); lcd.print(toplam); birinci = 0, ikinci = 0; kırmak;

durum '/': ilk = (toplam != 0 ? toplam: ilk); lcd.setCursor(0, 1); lcd.print("/"); saniye = İkinciSayı(); lcd.setCursor(0, 3);

saniye == 0 ? lcd.print("Geçersiz"): toplam = (kayan)ilk / (kayan)saniye;

lcd.print(toplam); birinci = 0, ikinci = 0; kırmak;

'C' durumu: toplam = 0; lcd.clear(); kırmak; } }

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

if(customKey == '=') ara; //saniyeyi döndür; } saniyeyi döndür; }

Adım 5: Kodu Parçalamak

Kodu Kırmak
Kodu Kırmak

Bilgisayarın anlaması için değerleri başlattık

#Dahil etmek

#include #include

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

önce uzun = 0; uzun saniye = 0; çift toplam = 0;

char özelKey; const bayt SATIRLAR = 4; const bayt COLS = 4;

Bilgisayara Tuş Takımının çalışması gereken sayıları ve işaretleri söyledik

karakter tuşları[ROWS][COLS] = { {'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'} };

Tuş takımının satır ve sütunlarını, hangi sayının hangi sütuna geldiğini vs. kesinleştirdik

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

Bilgisayar için intro veya açılış ekranını oluşturduk(Üzerine kendi isminizi yazabilirsiniz)

geçersiz kurulum(){ lcd.begin(16, 2); for(int i=0;i<=3;i++); lcd.setCursor(0, 0); lcd.print("Hesap Makinesi"); lcd.setCursor(0, 1); lcd.print("Jai Mishra Tarafından"); gecikme(4000); lcd.clear(); lcd.print("Bitirme Projesi"); gecikme (2500); lcd.clear(); lcd.setCursor(0, 0); }

Hesap makinesindeki her işlem için anlam ve formül oluştururuz, böylece kullanıcı hesap makinesinde "+" tuşuna bastığında bilgisayar hangi formülü kullanacağını anlar, vb

{ durum '0' … '9': lcd.setCursor(0, 0); ilk = ilk * 10 + (özelKey - '0'); lcd.print(ilk); kırmak;

durum '/': ilk = (toplam != 0 ? toplam: ilk); lcd.setCursor(0, 1); lcd.print("/"); saniye = İkinciSayı(); lcd.setCursor(0, 3);

saniye == 0 ? lcd.print("Geçersiz"): toplam = (kayan)ilk / (kayan)saniye;

lcd.print(toplam); birinci = 0, ikinci = 0; kırmak; durum '+': ilk = (toplam != 0 ? toplam: ilk); lcd.setCursor(0, 1); lcd.print("+"); saniye = İkinciSayı(); lcd.setCursor(0, 3); lcd.print(toplam); birinci = 0, ikinci = 0; kırmak;

durum '-': ilk = (toplam != 0 ? toplam: ilk); lcd.setCursor(0, 1); lcd.print("-"); saniye = İkinciSayı(); toplam = birinci - ikinci; lcd.setCursor(0, 3); lcd.print(toplam); birinci = 0, ikinci = 0; kırmak;

durum '*': ilk = (toplam != 0 ? toplam: ilk); lcd.setCursor(0, 1); lcd.print("*"); saniye = İkinciSayı(); toplam = birinci * saniye; lcd.setCursor(0, 3); lcd.print(toplam); birinci = 0, ikinci = 0; kırmak;

'C' durumu: toplam = 0; lcd.clear(); kırmak; } }

Kod çok kolay, tek yapmanız gereken onu anlamaya çalışmak ve sonra her şey kolayca yapılabilir. Kodla ilgili herhangi bir sorun olursa bana e-posta gönderin

Adım 6: Bu Hesap Makinesinin Donanımı Nasıl Çalışır?

Bu Hesap Makinesinin Donanımı Nasıl Çalışır?
Bu Hesap Makinesinin Donanımı Nasıl Çalışır?

Bu hesaplayıcı bir LCD, bir tuş takımı, bir Arduino kartı ve 220 ohm'luk bir direnç kullanır. Bu bileşenlerin tümü ayrıdır ancak Arduino'dan tuş takımına ve LCD'ye giden kablolarla bağlantılıdır. LCD'nin farklı bölümleri, her ikisini de Tuş Takımına bağlayan Arduino kartına bağlanır. Bağlantıdan sonra kodlama tüm işi yapar ve tuş takımındaki her işlem ve butona takip etmesi gereken bir iş verir.

7. Adım: Hesap Makinesinin Tam Önizlemesi

Son projemiz böyle görünüyor! Kodunuz çalışmıyorsa veya bazı teknik zorluklar varsa lütfen bana e-posta gönderin, en iyi hesap makinesini oluşturmanıza yardımcı olmak için elimden geleni yapacağım!

Adım 8: Bu Koddan İlham Aldım

Tinkercad'de nasıl hesap makinesi yapılacağına dair yukarıdaki videodan ilham aldım! Hiçbir şeyi kopyalayıp yapıştırmadım ama onun hesap makinesi fikrini ve kodu anlamasını kullandım.

Önerilen: