İçindekiler:
- Gereçler
- Adım 1: Adım 1: Bir LED Matrisi Oluşturma
- Adım 2: Adım 2: Basmalı Düğmeleri ve Shift Kayıtlarını Kablolama
- Adım 3: Adım 3: Kodu Yükleme
- 4. Adım: Ek Bilgiler/Kaynaklar
Video: Buton LED Matrisi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Bu proje, tipik 'yanıp sönen bir LED' projenizden biraz daha gelişmiş olan başka bir Arduino tanıtım projesi olarak düşünülebilir. Bu proje, bir LED matrisi, butonlar, kaydırma yazmaçları (Arduino kartınızdaki pinleri kaydedebilen) ve çoğullama adı verilen bir anahtar kavramı içermektedir. Umarım öğreticiyi aydınlatıcı bulursunuz ve geliştirmek için kendinize meydan okursunuz!
Gereçler
(1x) Arduino Uno
(5x) Dokunsal Butonlar
(2x) 0.1 uF Kondansatörler
(2x) 1 uF Kapasitör
(8x) 1k Dirençler
(5x) 10k Dirençler
(2x) 74HC595 kaydırmalı yazmaçlar
Jumper Telleri
Siyah tel
Kırmızı kablo
Adım 1: Adım 1: Bir LED Matrisi Oluşturma
Bu projede 8x8 LED matrisini yapmak için kullandığım öğretici burada bulunabilir. Bir LED matrisi için yaygın konfigürasyonlar vardır:
a) Ortak Sıra Anot
b) Ortak Sıra Katot
Matrisin Ortak Satır Katot düzenlemesini kullandığım için, burada esas olarak tartışacağım ve aynı mantığı Ortak Sıra Anot düzenlemesine kadar genişletebilirsiniz. Ortak Sıra Katot düzenlemesinde, LED'lerin katotları (veya bir LED'deki daha kısa bacak olan negatif terminaller) sıralar halinde birbirine bağlanırken anotlar (veya bir LED'deki daha uzun bacak olan pozitif terminaller) sütunlar halinde birbirine bağlanır.. Belirli bir LED'i ele almak için, LED katodunun düşük olduğu katot sırasını ve LED anodunun yüksek olduğu anot sütununu çekin.
Not: Yukarıdaki linkte gösterilen LED matrisini yaparken, LED'lere herhangi bir miktarda voltaj uygulamadan önce anot kolonlarını 1k ohm dirençlerle bağladığınızdan emin olun.
Adım 2: Adım 2: Basmalı Düğmeleri ve Shift Kayıtlarını Kablolama
Basmalı düğmeler ve kaydırma yazmaçları için kablolama yukarıda gösterilmiştir. Devre şemasındaki kaydırma yazmaçlarının, yongalar için toprak (IC'nin pim 8'i) ve Vcc veya güç kaynağı (IC'nin 16 numaralı pimi) pimlerini göstermediğini belirtmek isterim; topraklama pini Arduino kartının GND pinine, Vcc ise Arduino kartının 5V pinine bağlanır. Her kaydırma yazmacının Vcc pimi ayrıca toprağa bağlı bir 0.1 uF kapasitöre bağlanır.
Not: Her kaydırma yazmacının çıktıları QA'dan QH'ye (QH* yoksay) olarak listelenir. Bunlar, en az anlamlı bit (LSB) (QA için) ile en anlamlı bit (MSB) (QH için) açısından listelenir, yani QA, 0. satırı veya sütunu vb. kontrol eder.
Adım 3: Adım 3: Kodu Yükleme
LED matrisini kontrol etme kodu bu eğiticiye eklenmiştir. Programın nasıl çalıştığını çok net görebilmek için elimden geldiğince kodu yorumlamaya çalıştım. Programın temel temeli, hangi LED'lerin açık veya kapalı olması gerektiğini takip eden bir matris olmasıdır. İstenmeyen diyotları yanlışlıkla açmadan çeşitli LED'lerin doğru bir şekilde görüntülenmesini sağlamak için çoğullama adı verilen bir kavram kullanmaktır. Çoğullama, esasen belirli bir sıradaki tek tek LED'leri, diğer sıralardaki diğer tüm LED'leri yakıyor, ardından kalan sıralar için aynısını yapıyor. İşin püf noktası, LED'ler sıralar arasında yeterince hızlı dönerse, gözleriniz tek tek sıraların birer birer yandığını söyleyebilir. LED'lerle gözlerinizi kandırmanın daha fazla yolunu keşfetmek istiyorsanız, görme kalıcılığı kavramına bakmak isteyebilirsiniz (Google'da veya Instructables'ta kolayca aranabilir).
Anot sütunlarının ve katot satırlarının güncellenme şekli, 'UpdateShiftRegisters' adı verilen kullanıcı tanımlı bir işlev aracılığıyladır. Bu fonksiyon ilk önce çıkışa yeni bir bayt (8 bit) gönderilip gönderilmediğini kontrol eden mandal pimini düşürür, böylece çipe yeni bitler yazılırken çıkışlarda herhangi bir değişiklik yapılması mümkün olmaz. Daha sonra, özel olarak kaydırma yazmaçlarına veri göndermeyi işleyen 'ShiftOut' adlı yerleşik bir Arduino işlevini kullanarak, program hangi (katot) satırın düşük ve hangi (anot) sütunlarının yüksek olması gerektiğini yazar. Son olarak, çıkışı (LED'leri) güncellemek için mandal pimi yukarı çekilir.
4. Adım: Ek Bilgiler/Kaynaklar
Bu projeyle ilgili ek bilgi verebilecek bazı web sitelerine veya kitaplara bağlantılar:
learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code
www.arduino.cc/en/tutorial/ShiftOut
www.ti.com/lit/ds/symlink/sn74hc595.pdf
www.youtube.com/watch?v=7VYxcgqPe9A
www.youtube.com/watch?v=VxMV6wGS3NY
Arduino'ya Başlarken, Massimo Banzi'nin 2. Baskısı
Önerilen:
DIY Audio Reaktif LED Matrisi: 6 Adım
Kendin Yap Audio Reaktif LED Matrisi: Hiç sesli tepki özelliğine sahip harika bir RGB matrisine ihtiyaç duydunuz, ancak bunu yapmak çok zor veya satın almak çok pahalı buldunuz mu? Pekala, artık bekleyişiniz sona erdi. Odanızda harika bir Audio Reaktif RGB LED matrisi olabilir. Bu Enstrüman
Google Asistan Kontrollü LED Matrisi !: 7 Adım (Resimlerle)
Google Asistan Kontrollü LED Matrisi !: Bu dersimizde, akıllı telefon kullanarak her yerde formu kontrol edebileceğiniz Google Asistan Kontrollü LED Matrisini nasıl yapabileceğinizi göstereceğim, Haydi başlayalım
Mikro:bit - LED Matrisi: 14 Adım
Mikro:bit - LED Matrisi: Bu kılavuzda, LED şeritlerinden mikro:bit için bir LED matrisinin nasıl oluşturulacağını inceleyeceğim. Örneklerim olarak 4x4 matris ve 10x10 matris kullanacağım. Çok fazla bina yaptığımız bir okulda çalıştığım için, sonunda çok şey yaşardık
Arduino Mega ile 64x32 RGB LED Matrisi: 6 Adım
Arduino Mega ile 64x32 RGB LED Matrix: LED matrix ve adreslenebilir LED'lerin nasıl kullanılacağını öğrenmekten keyif aldım. Nasıl bir araya geldiğini anladığınızda çok eğlenceliler. Her adımı başkalarının öğrenmesi için basit ve tutarlı bir şekilde açıklayan bu öğreticiyi bir araya getirdim. Öyleyse tadını çıkar. Le
8x8 BÜYÜK LED Matrisi Nasıl Yapılır (MAX7219 LED 10mm): 9 Adım (Resimlerle)
8x8 BÜYÜK LED Matriks Nasıl Yapılır (MAX7219 LED 10mm): Ekran olarak hazır 8x8 LED matrix ile çalıştınız mı? Çeşitli boyutlarda gelirler ve çalışmak oldukça ilginçtir. Kolayca temin edilebilen büyük bir boyut yaklaşık 60 mm x 60 mm'dir. Ancak, çok daha büyük hazır bir LED matrisi arıyorsanız,