İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Merhaba arkadaşlar bu derste Arduino kullanarak temel hesaplamaları yapabilen bir hesap makinesi yapacağız. Yani temelde 4x4 tuş takımından girdi alıp 16x2 lcd ekrana veriyi yazdıracağız ve arduino hesaplamaları yapacak.
Adım 1: İhtiyacınız Olan Şeyler
Bu talimat için aşağıdaki şeylere ihtiyacımız olacak: Arduino Uno (Herhangi bir sürüm çalışacaktır)
16×2 LCD Ekran
4×4 Tuş Takımı9V PilBreadboardBağlantı telleri
2. Adım: Bağlantılar
Bu Arduino Hesap Makinesi Projesinin tam devre şeması yukarıda verilmiştir. Devre şemasında gösterilen +5V ve toprak bağlantısı Arduino'nun 5V ve topraklama pininden alınabilir. Arduino'nun kendisi dizüstü bilgisayarınızdan veya 12V adaptör veya 9V pil kullanılarak DC jakı aracılığıyla çalıştırılabilir. LCD'yi Arduino ile 4 bit modunda çalıştırıyoruz, böylece LCD'nin yalnızca son dört veri biti Arduino'ya bağlı. Klavye, yukarıda gösterildiği gibi pin 0'dan pin 7'ye bağlanması gereken 8 çıkış pinine sahip olacaktır. Pin 0 ve pin1'e bağlı herhangi bir şey varsa, bazı Arduino kartları program yüklerken bir hata gösterebilir. programı yüklerken tuş takımı.
3. Adım: Kodlayın
Aşağıdaki kodu kopyalayın ve arduino'nuza yükleyin:/* * Arduino Tuş Takımı hesaplayıcı Programı */#include "LiquidCrystal.h" //LCD için başlık dosyası https://www.arduino.cc/en/Reference/LiquidCrystal# "Keypad.h" içerir // https://github.com/Chris--A/Keypadconst bayt SATIR = 4'ten Tuş Takımı için başlık dosyası; // Dört satır sabit bayt COLS = 4; // Üç sütun// Keymapchar anahtarlarını tanımlayın[ROWS][COLS] = { {'7', '8', '9', 'D'}, {'4', '5', '6', ' C'}, {'1', '2', '3', 'B'}, {'*', '0', '#', 'A'}};bayt satırPinleri[SATIR] = { 0, 1, 2, 3 };// ROW0, ROW1, ROW2 ve ROW3 tuş takımını bu Arduino pins.byte colPins[COLS] = { 4, 5, 6, 7 }; // COL0, COL1 ve COL2 tuş takımını bu Arduino pinlerine bağlayın. Keypad kpd = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); // Keypadconst'u oluşturun int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; //LCD'nin bağlı olduğu pinlerLiquidCrystal lcd(rs, en, d4, d5, d6, d7); uzun Num1, Num2, Sayı; karakter tuşu, eylem; boolean sonucu = false;void setup() { lcd.begin(16, 2); //16*2 LCD ekran kullanıyoruz lcd.print("DIY Calculator"); //Bir giriş mesajı göster lcd.setCursor(0, 1); // imleci sütun 0'a ayarlayın, satır 1 gecikme (2000); // Ekranın bilgi göstermesini bekleyin lcd.clear(); //Sonra onu temizle}void loop() {key = kpd.getKey(); //basılan anahtar değerini bir charif'te saklamak (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); }void DetectButtons(){ lcd.clear(); //Ardından temizleyin if (key=='*') //İptal Butona basılırsa {Serial.println ("Buton İptal"); Sayı=Sayı1=Sayı2=0; sonuç=yanlış;} if (anahtar == '1') //Eğer Düğme 1'e basılırsa {Serial.println ("Düğme 1"); if (Sayı==0) Sayı=1; başka Sayı = (Sayı*10) + 1; //İki kez basılır } if (anahtar == '4') //Eğer 4. Düğmeye basılırsa {Serial.println ("Düğme 4"); if (Sayı==0) Sayı=4; başka Sayı = (Sayı*10) + 4; //İki kez basılır } if (anahtar == '7') //7. Düğmeye basılırsa {Serial.println ("Düğme 7"); if (Sayı==0) Sayı=7; başka Sayı = (Sayı*10) + 7; //İki kez basıldı } if (key == '0') {Serial.println ("Düğme 0"); //(Sayı==0) Sayı=0 ise 0 Butonuna Basılır; başka Sayı = (Sayı*10) + 0; //İki kez basıldı } if (anahtar == '2') //Buton 2 Basıldı {Serial.println ("Düğme 2"); if (Sayı==0) Sayı=2; başka Sayı = (Sayı*10) + 2; //İki kez basıldı } if (key == '5') {Serial.println ("Düğme 5"); if (Sayı==0) Sayı=5; başka Sayı = (Sayı*10) + 5; //İki kez basıldı } if (key == '8') {Serial.println ("Düğme 8"); if (Sayı==0) Sayı=8; başka Sayı = (Sayı*10) + 8; //İki kez basıldı } if (key == '#') {Serial.println ("Eşit Düğme"); Sayı2=Sayı; sonuç = doğru; } if (anahtar == '3') {Serial.println ("Düğme 3"); if (Sayı==0) Sayı=3; başka Sayı = (Sayı*10) + 3; //İki kez basıldı } if (key == '6') {Serial.println ("Düğme 6"); if (Sayı==0) Sayı=6; başka Sayı = (Sayı*10) + 6; //İki kez basıldı } if (key == '9') {Serial.println ("Düğme 9"); if (Sayı==0) Sayı=9; başka Sayı = (Sayı*10) + 9; //İki kez basıldı } if (key == 'A' || key == 'B' || key == 'C' || key == 'D') //Sütun 4'teki Düğmeleri Algılama { Num1 = Number; Sayı =0; if (key == 'A') {Serial.println ("Ekleme"); action = '+';} if (key == 'B') {Serial.println ("Çıkarma"); eylem = '-'; } if (anahtar == 'C') {Serial.println ("Çarpma"); action = '*';} if (anahtar == 'D') {Serial.println ("Geliştirme"); eylem = '/';} gecikme(100); }}
void CalculateResult(){ if (action=='+') Sayı = Num1+Num2; if (action=='-') Sayı = Num1-Num2; if (action=='*') Sayı = Num1*Num2; if (action=='/') Sayı = Num1/Num2; } geçersiz DisplayResult() { lcd.setCursor(0, 0); // imleci sütun 0, satır 1'e ayarlayın lcd.print(Num1); lcd.print(eylem); lcd.print(Sayı2); if (sonuç==true) {lcd.print(" ="); lcd.print(Sayı);} //Sonucu göster lcd.setCursor(0, 1); // imleci sütun 0, satır 1'e ayarlayın lcd.print(Sayı); //Sonucu göster }
Adım 4: Hesap Makinesi Çıktısı
Bu yüzden bağlantıları tamamladık & Kodu arduino'ya yükledik ve gücü takma ve bazı hesaplamalar yapma zamanı & gördüğünüz gibi tuş takımı ile hesaplamalar yapıyorum ve sonuçları lcd'de görebilirsiniz. Öyleyse arduino kullanarak kendi diy hesap makinenizi yaparken eğlenin.