- Gerekli Bileşenler
- Arduino Madeni Para Ayırıcı için Yapı Oluşturma
- Devre şeması
- Arduino'nun Programlanması
- Arduino Coin Sayacının Çalışması
Daha önce bir renk sensörü kullanarak Arduino tabanlı bir kağıt para sayma makinesi inşa etmiştik. Şimdi bu projede IR sensörleri kullanarak bir Arduino sayma makinesi inşa ediyoruz. Bu makine, bir Kızılötesi sensör yardımıyla madeni paraları farklı bölümlerde sayar ve ayırır. Burada, IR sensörlerinin farklı coinleri algılamak için yerleştirildiği bir düzenleme yapılır ve Arduino UNO, verilerin işlenmesi ve toplam sayım değerini 16x2 LCD'de göstermek için kullanılır.
Gerekli Bileşenler
- Arduino UNO
- IR sensörü
- Breadboard
- 16 * 2 Alfanümerik LCD
- 16x2 (1602) Alfanümerik LCD için I2C Modülü
- Kabloların Bağlanması
Arduino Madeni Para Ayırıcı için Yapı Oluşturma
Adım 1: Bir karton levha alın ve aşağıdaki şekilde gösterildiği gibi farklı madeni para boyutları için işaretleyin. Ardından işaretli kısımları dikkatlice kesin. Bu kısımların kesilmesi doğru şekilde yapılmalıdır; aksi takdirde proje mükemmel çalışmayabilir.
Adım 2: Yukarıdaki düzenlemeyi aşağıda gösterilen resme göre eğimli bir yapıya yerleştirin. Düzenlemeyi yaptıktan sonra, düzenlemenin mükemmel şekilde çalıştığından emin olmak için eğime farklı madeni paralar koyarak kontrol edin. Madeni para doğru şekilde yerleştirilmiyorsa, madeni paraya göre deliğin boyutunu biraz artırın ve başarılı bir işlem olana kadar tekrar kontrol edin.
Adım 3: IR sensörlerini tek tek madeni paraların çıkış yolunun yakınına yerleştirin. Sensörleri doğru şekilde yerleştirmek ve potansiyometrelerini kullanarak kalibre etmek çok önemlidir. Ardından sensörün çalışmasını kontrol etmek için madeni paraları tekrar yerleştirin. Kızılötesi sensör devresi hakkında daha fazla bilgiyi burada bulabilirsiniz.
Devre şeması
Arduino sayma makinesi için Devre şeması aşağıdadır:
Burada IR sensörleri, madeni paraları algılamak için bozuk para ayıklama makinesinin farklı çıkış yollarına yerleştirilir. Bu Arduino madeni para sayacına bir jeton yerleştirildiğinde, mekanik tasarıma göre özel yola girer ve ilgili IR sensörü jetonu algılar ve Arduino'nun analog pinleri tarafından okunabilen Arduino'ya YÜKSEK çıkış değeri verir. YÜKSEK değer veren IR sensörü jeton değerine 2/5/10 Rupi gibi karar verir.
Burada 16x2 Alfanümerik bir LCD, kutuya yerleştirilen madeni para sayısını görüntülemek için bir I2C modülü kullanılarak Arduino ile arayüzlenir. Bu LCD, I2C modülü kullanılmadan doğrudan Arduino'ya da bağlanabilir, ancak bu daha fazla sayıda bağlantı gerektirir. Bu yüzden daha basit hale getirmek için, LCD'yi Arduino ile bağlamak için sadece 2 pin, yani SCL, SDA kullanan LCD ile birlikte bir I2C modülü kullanılır. Arduino'ya güç sağlamak için, doğrudan Arduino'nun güç jakına bağlanabilen bir 12VDC, 1 AMP AC-DC adaptörü kullanılır.
Küçük bir rötuştan sonra, Arduino Tabanlı Madeni Para Ayırıcı için tam kurulum aşağıdaki gibi görünecektir:
Arduino'nun Programlanması
Başarılı donanım bağlantılarından sonra, şimdi Arduino'yu programlama zamanı. Arduino için tam kod bu eğitimin alt kısmında verilmiştir. Kodun adım adım açıklaması aşağıda verilmiştir:
Programda yapılacak ilk şey, gerekli tüm kütüphaneleri dahil etmektir. Benim durumumda, bir LCD'nin I2C arayüzünü kullanmak için “ LiquidCrystal_I2C.h ” ve Arduino'da I2C işlevselliğini kullanmak için “ Wire.h” kitaplığını dahil ettim.
#Dahil etmek
İçinde kurulum (), LCD komutları LCD üzerinde bir karşılama mesajı görüntülemek için yazılır.
lcd.init (); lcd.backlight (); lcd.setCursor (0,0); lcd.print ("ARDUINO TABANLI"); lcd.setCursor (0,1); lcd.print ("PARA SIRALAMA"); gecikme (2000); lcd.clear ();
İç döngü (), analogRead işlevi, Kızılötesi sensör değerlerini Arduino'nun farklı Analog kanallarından okumak ve bunları farklı değişkenlerde saklamak için kullanılır.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
Daha sonra aşağıdaki kod, Coin'leri algılamak ve jeton sayacı değerlerini artırmak için yazılır. Burada, madeni paraların birden fazla sayımını önlemek için bir f1 bayrak değeri kullanılır.
eğer (s1> = 200 && f1 == 0) {f1 = 1; } else if (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
Son olarak, sayaç değerleri aşağıdaki komutlar kullanılarak LCD'de görüntülenir.
lcd.setCursor (0,0); lcd.print ("RS10 RS2 RS5"); lcd.setCursor (1,1); lcd.print (c1); lcd.setCursor (7,1); lcd.print (c2); lcd.setCursor (14,1); lcd.print (c3);
Arduino Coin Sayacının Çalışması
Kurulumu tamamladıktan ve kodu yükledikten sonra, 12V DC güç kaynağını AÇIN. İlk olarak, LCD'de bir hoş geldiniz mesajı görüntülenecek ve birkaç saniye sonra, mevcut tüm madeni paraların sayısının bulunduğu bir ekran LCD'de görüntülenecektir. Başlangıçta, henüz jeton eklemediğimiz için sıfır gösterecek.
Ardından, makinenin üst kısmına “ Para Girin ” yazan yere herhangi bir bozuk para (Rs. 2/5/10) yerleştirin. Artık jeton sayısının değerinin LCD'de güncellenmesi gerektiğini göreceksiniz. Ardından, farklı değerlere sahip birden fazla madeni para ekleyin ve ilgili madeni paraların sayısını LCD'de kontrol edin.
Bir Video ile birlikte kodun tamamı aşağıda verilmiştir.