İçindekiler:
- Adım 1: Gerekli Şeyler
- Adım 2: Devre Şeması
- Adım 3: Arduino Hesap Makinesi Programı
- 4. Adım:
- Adım 5: Arduino Hesap Makinesinin Çalışması
- 6. Adım: Kod
Video: Arduino Hesap Makinesi: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Programlama her zaman eğlencelidir ve Gömülü programlamaya yeni başlıyorsanız Arduino harika bir platformdur. Bu dersimizde Arduino ile kendi hesap makinemizi oluşturacağız. Değerler bir tuş takımı (4×4 tuş takımı) aracılığıyla gönderilebilir ve sonuç bir LCD ekranda (16×2 Nokta vuruşlu) görüntülenebilir. Bu hesap makinesi, tam sayılarla Toplama, Çıkarma, Çarpma ve Bölme gibi basit işlemleri yapabilir. Ancak konsepti anladığınızda, Arduino'nun yerleşik fonksiyonları ile bilimsel fonksiyonları bile uygulayabilirsiniz. mevcut kütüphaneler. Ayrıca belirli bir görevi gerçekleştirmek için Arduino'nuzu nasıl programlayacağınızı da anlayacaksınız.
Adım 1: Gerekli Şeyler
Arduino Uno (Herhangi bir sürüm çalışacaktır)16×2 LCD Ekran4×4 Tuş Takımı9V PilBreadboard ve Bağlantı Kabloları
Adım 2: Devre Şeması
Adım 3: Arduino Hesap Makinesi Programı
Bu proje için tam Arduino programı bu projenin sonunda verilmiştir. Kod küçük anlamlı parçalara bölünmüştür ve aşağıda açıklanmıştır. Daha önce anlatıldığı gibi, kütüphaneleri kullanarak Arduino ile bir LCD ve tuş takımı arayacağız. Öyleyse önce onları Arduino IDE'mize ekleyelim. LCD kütüphanesi varsayılan olarak Arduino'nuza dahil edilmiştir, bu yüzden endişelenmemize gerek yok. Tuş takımı kitaplığı için Github'dan indirmek için bağlantıya tıklayın. Bir ZIP dosyası alacaksınız, ardından bu lib'i Sketch -> Kitaplığı Dahil Et ->. ZIP dosyası ekle ile Arduino'ya ekleyin ve konumu indirilen bu dosyaya yönlendirin. Bir kez yaptıktan sonra hepimiz programlama için hazırız. Tuş takımını kullanmak için bir kütüphane kullanmış olsak da, Arduino'nun tuş takımı hakkında birkaç ayrıntıdan (aşağıda gösterilmiştir) bahsetmek zorundayız. ROWS ve COLS değişkeni, tuş takımımızda kaç satır ve sütun olduğunu söyler ve tuş haritası, tuşların klavyede bulunma sırasını gösterir. Bu projede kullandığım tuş takımı aşağıdaki gibi görünüyor, anahtar haritası da aynı şeyi temsil ediyor. Daha aşağıda, RowPins ve colPins.const bayt ROWS = 4 değişken dizisini kullanarak Keypad'in hangi pinlere bağlı olduğundan bahsettik; // Dört satır sabit bayt COLS = 4; // Üç sütun// Keymapchar anahtarlarını tanımlayın[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', ' B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}};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 }; // Keypad COL0, COL1 ve COL2'yi bu Arduino pinlerine bağlayın. Hangi tip keypad kullandığımızı ve nasıl bağlandığından bahsettikten sonra aşağıdaki satırı kullanarak bu detayları kullanarak keypad'i oluşturabilirizKeypad kpd = Keypad(makeKeymap(keys)), rowPins, colPins, ROWS, COLS); // Tuş Takımını Oluştur Aynı şekilde LCD'nin Arduino'nun hangi pinlerine bağlı olduğunu da söylemeliyiz. Devre şemamıza göre tanımlar aşağıdaki gibi olacaktırconst 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); //LCD'yi oluştur Kurulum fonksiyonunun içinde, sadece projenin adını gösteriyoruz ve ardından ana projenin bulunduğu while döngüsüne geçiyoruz. Temel olarak, tuş takımına bir şey yazıp yazmadığını kontrol etmeliyiz, eğer yazdıysa tanımamız gerekiyor. ne yazılıyor ve ardından “=” basıldığında onu bir değişkene dönüştürün, sonucu hesaplamalı ve ardından LCD'de göstermeliyiz. Aşağıda gösterildiği gibi döngü işlevi içinde yapılan tam olarak budurkey = kpd.getKey(); //basılan anahtar değerini bir charif'te saklamak (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); Her işlevin içinde ne olduğu, yorum satırları kullanılarak açıklanır, aşağıdaki kodun tamamını gözden geçirin, gerçekte nasıl çalıştığını anlamak için onunla uğraşın. Belirli bir satırda herhangi bir şüpheniz varsa, yorum bölümünü veya forumları kullanmaktan çekinmeyin.
4. Adım:
Adım 5: Arduino Hesap Makinesinin Çalışması
Bağlantıları devre şemasına göre yapın ve aşağıdaki kodu yükleyin. Hata gösteriyorsa, yukarıda verilen talimata göre kitaplığı eklediğinizden emin olun. Sorunun donanımınızda olup olmadığını kontrol etmek için simülasyonu da deneyebilirsiniz. Her şey olması gerektiği gibi yapılırsa, donanımınız aşağıdaki gibi görünecek ve LCD bu Arduino Hesap Makinesi'ni 4x4 Tuş Takımını kullanarak eylem halinde gösterecektir. aşağıda listelenmiştirTuş Takımındaki Karakter“A” Toplama (+)“B”Çıkarma (-)“C”Çarpma (*)“D”Bölmesi (/)“*”Temizle (C)“#”Eşittir (=)Yapabilirsiniz her bir düğmenin gerçekte neyi temsil ettiğini yazmak için bir işaretleyici kullanın. Bunu yaptıktan sonra, doğrudan hesap makinesini kullanmaya başlayabilirsiniz. Numarayı yazın ve ikinci satırda görünecek işlenene basın ve ikinci numaranızı yazın, sonucunuzu almak için son olarak “#” tuşuna basın. Bu Dokunmatik Ekran tabanlı Arduino hesap makinesini oluşturmayı da deneyebilirsiniz.
6. Adım: Kod
/* * Arduino Tuş Takımı hesaplayıcı Programı */#include // https://www.arduino.cc/en/Reference/LiquidCrystal#include adresinden LCD için başlık dosyası // https://github.com/ adresinden Tuş Takımı için başlık dosyası Chris--A/Keypadconst bayt SATIRLAR = 4; // 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, satır 1'e ayarlayın lcd.print("-CircuitDigest"); //Bir giriş mesajı gecikmesi göster(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=='+') Number = Num1+Num2; if (action=='-') Sayı = Num1-Num2; if (action=='*') Sayı = Num1*Num2; if (action=='/') Sayı = Num1/Num2; }void 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}
Önerilen:
Nextion/Arduino Hesap Makinesi: 3 Adım
Nextion/Arduino Hesap Makinesi: Arduino Uno için kullanışlı bir hesap makinesi. Hesap makinesi, Windows 10 ile birlikte gelen standart hesap makinesine benzer bir tarza sahiptir. Not: Windows 10 hesap makinesinin yaptığı bilimsel ve programcı işlevlerini içermez, ancak bu işlevler
4X4 Tuş Takımını Kullanan Arduino Hesap Makinesi: 4 Adım (Resimlerle)
4X4 Tuş Takımını Kullanan Arduino Hesap Makinesi: Bu derste Arduino ile kendi hesap makinemizi oluşturacağız. Değerler bir tuş takımı (4×4 tuş takımı) aracılığıyla gönderilebilir ve sonuç bir LCD ekranda görüntülenebilir. Bu hesap makinesi Toplama, Çıkarma, Çarpma gibi basit işlemleri yapabilir
Arduino Uno ile HP-35 Bilimsel Hesap Makinesi Emülatörü: 4 Adım
Arduino Uno ile HP-35 Bilimsel Hesap Makinesi Emülatörü: Bu projenin amacı, aşağıdaki simülatörü https://www.hpmuseum.org/simulate/hp35sim/hp35sim…. orijinal HP-35 Bilimsel Hesap Makinesi. Depolanan orijinal kodu taklit eder
1602 LCD ve 4x4 Tuş Takımını Kullanan Arduino Kendin Yap Hesap Makinesi: 4 Adım
1602 LCD ve 4x4 Tuş Takımını Kullanan Arduino DIY Hesap Makinesi: Merhaba arkadaşlar bu derste Arduino kullanarak temel hesaplamaları yapabilen bir hesap makinesi yapacağız. Yani temelde 4x4 tuş takımından girdi alacağız ve verileri 16x2 lcd ekrana yazdıracağız ve arduino hesaplamaları yapacak
Arduino Hesap Makinesi Yapmak İçin Arduino İle Tuş Takımı ve LCD Nasıl Kullanılır: 5 Adım
Arduino ile Tuş Takımı & LCD Kullanımı Arduino Hesap Makinesi Yapmak İçin: Bu derste Arduino ile 4x4 matrix tuş takımı ve 16x2 LCD'yi nasıl kullanabileceğinizi ve basit bir Arduino Hesap Makinesi yapmak için nasıl kullanabileceğinizi paylaşacağım. Öyleyse başlayalım