İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Minimum pin ile 16 basmalı tuş takımını yönetmenin 2 yolu.
1. Adım: Giriş
Geçenlerde bir Arduino klonuna bağlı 4x4 dokunmatik tuş takımı matrisini yönetmenin bir yolu üzerinde çalıştım. Belirlenen noktalar şunlardı:
-atmega328p'de 8 pin yerine sadece 4+1 pin kullanmak
- I2C (2 pin) aracılığıyla bir LCD Ekran 4x20 CHAR bağlantısı eklemek için
-dijital ve analog çıkışları kontrol etmek için.
Bu nedenle, günah miktarında G/Ç ile kontrol edilecek çok şeye sahip olmak.
Adım 2: Kullanılacak Şeyler:
Arduino klonumdaki ekranı SDA (A4) ve SCL (A5) pinlerine bağlamak için bir LCD ekran 4x20 karakter ve bir I2C modül adaptörü satın aldım.
Ünlü ve artık kullanılmayan MM74C922N'yi kullanıyorum: 4x4 matris tuş takımına uyan 8 ila 4 yollu bir dönüştürücü.
Atmega328p'ye dayalı bir arduino klonu oluşturdum ve bir HE10 konektörü (SPI veri yolu) ve bir USBasp kablosu ile programladım.
Adım 3: Şematik ve Pano:
Tahta şunlardan yapılmıştır:
-LCD tuş takımı sadece Arduino IDE ile kullanılır, LDmicro ile mümkün değildir (Merdiven programlama)
-MM74C922N kartı: 4 bit DCBA'da 16 ikili değerde kodlanmış 16 buton. Bir düğmeye basıldığında: mavi led yanar ve DCBA'da bir değer belirir (A, LSB'dir). Bir düğme bırakıldığında: mavi led yanar ve DCBA'da değer sıfırlanır.
-Arduino atmega238p klon kartı.
Adım 4: LDmicro'yu Merdiven Programlama ile Kullanma:
Girilecek kod, 16x16x16x16 kombinasyonları yani 16 tuşa basılmış değer arasından 4 değerden oluşur.
SFC'yi çizdikten sonra, aşağıdakilerden birinde verilen yöntemle onu LADDER'a çevirmeniz gerekir.
talimat verilebilir:
www.instructables.com/id/Arduino-tomation-…
Yazdıktan sonra xxxx.hex olarak derleyin ve ardından KHAZAMA indiricisi ile indirin.
LCD ekran LDmicro'da programlanamaz.
LDmicro zip'e içinde SERRURE.id taslağı ve KHAZAMA indiricisi ile birlikte veriyorum.
Adım 5: Arduino IDE 1.8.x'i Mightycore ve SMlib ile Kullanma:
SFC'yi bir durum makinesine çeviriyorum. Ardından içerisinde Mightycore ve SM kütüphanesi ile Arduino IDE kullandım.
LCD ekranda HATA, BEKLİYOR, KİLİT AÇ, duruma ulaşıldı, tuşa basılan değer gibi bir mesaj gösteriyorum.
Size taslağı ve SM kütüphanesini veriyorum. Mightycore için şuna bakın:
www.instructables.com/id/Arduino-18x-Clone…
Adım 6: Sonuçlandırmak için:
Bunlar 16 tuş takımını yönetmenin iki yolu ve iyi diziyi bulmam birkaç saatimi aldı ama şimdi iyi çalışıyor. Bu adımlara saygı göstermelisiniz:
-1 DA pininin yükselen kenarında bir tuşa basıldığını tespit edin
-2 DCBA'da oluşturulan değeri okuyun ve iyi olanla karşılaştırın
Kesinlikle işe yaramayacağı sürece.
Net üzerinden tüm ilginç öğretici sayesinde.