Bu oturumda harfleri veya isimleri gösterebilen 8x8 LED matrisli ve ATmega8 mikrodenetleyicili 8x8 LED ekran tasarlayacağız. Tipik bir 8x8 led matrisi aşağıda gösterilmiştir:
Bir 8x8 LED matrisi, bir matris biçiminde düzenlenmiş 64 LED (Işık Yayan Diyotlar) içerir, dolayısıyla LED matrisi adı verilir. Bu matrisler 64 LED'in çevrilmesi ile yapılabilir; ancak bu süreç zaman alıcıdır. Şimdi bir gün, şekilde gösterildiği gibi kompakt formlarda mevcutturlar. Bu kompakt modüller farklı boyutlarda ve birçok renkte mevcuttur. Bunları rahatlıkla seçebilirsiniz.
Modülün maliyeti 64 LED'in maliyeti ile aynıdır, bu nedenle bir hobi için çalışmak en kolay yoldur. Modülün PIN yapılandırması şekilde gösterildiği gibidir. Hatalardan kaçınmak için PIN'ler tam olarak resimde gösterildiği gibi numaralandırılmalıdır. Modülün iç devre konfigürasyonunu ayrıntılı olarak açıklamada tartışacağız.
Bileşenler
Donanım: ATMEGA8, Güç kaynağı (5v), AVR-ISP PROGRAMMER, 100 uF kapasitör (güç kaynağına bağlı), 1KΩ direnç (8 adet).
Yazılım: Atmel studio 6.1, progisp veya flash magic.
Devre Şeması ve Çalışma
ATMEGA8 ile LED matrix modülü arasında yapılan bağlantılar aşağıdaki şekilde gösterilmiştir.
PORTD, PIN0 ------------------ LED modülünün PIN13
PORTD, PIN1 ------------------ LED modülünün PIN03
PORTD, PIN2 ------------------ LED modülünün PIN04
PORTD, PIN3 ------------------ LED modülünün PIN10
PORTD, PIN4 ------------------ LED modülünün PIN06
PORTD, PIN5 ------------------ LED modülünün PIN11
PORTD, PIN6 ------------------ LED modülünün PIN15
PORTD, PIN7 ------------------ LED modülünün PIN16
PORTB, PIN0 ------------------ LED modülünün PIN09
PORTB, PIN1 ------------------ LED modülünün PIN14
PORTB, PIN2 ------------------ LED modülünün PIN08
PORTB, PIN3 ------------------ LED modülünün PIN12'si
PORTC, PIN0 ------------------ PIN01 LED modülünün
PORTC, PIN1 ------------------ PIN07 LED modülünün
PORTC, PIN2 ------------------ LED modülünün PIN02
PORTC, PIN3 ------------------ PIN05of LED modülü
8x8 LED matris ekranın devre şemasıdır, Şekil altında gösterilmiştir.
Matris şeklinde düzenlenmiş 64 LED vardır. Dolayısıyla, şekilde gösterildiği gibi 8 sütun ve 8 satırımız var. Bu satırlar ve sütunların üzerinde, bir sıradaki tüm pozitif terminaller bir araya getirilir. Her sıra için, o sıradaki 8 LED'in tümü için bir ortak pozitif terminal vardır. Aşağıdaki şekilde gösterilmiştir,
Yani 8 satır için 8 ortak pozitif terminalimiz var, ilk satırı düşünün. Resimde görüldüğü gibi, D1'den D8'e kadar olan LED'ler ortak bir pozitif terminale sahiptir ve LED MODÜLÜ'nden PIN9 olarak çıkarılır.
Sıraların tüm ortak pozitiflerinin düzenli bir şekilde LED MODÜLÜ dışına çıkarılmadığı görülmelidir. Her durumda ortak terminallerde çok düzensizlik vardır. Terminali bağlarken bunu akılda tutmak gerekir.
Diyelim ki matrisin ilk satırındaki LED'lerin herhangi birinin veya tümünün AÇIK olmasını istiyorsak, o zaman PIN0 değil LED MATRIX MODÜLÜNÜN PIN9'una güç vermeliyiz.
Diyelim ki matrisin üçüncü SIRASINDAKİ LED'lerden herhangi birinin veya tümünün AÇIK olmasını istiyorsak, o zaman PIN2 değil LED MATRIX MODÜLÜNÜN PIN8'ine güç vermeliyiz.
Bu nedenle, bir SATIR'daki bir veya tüm LED'lerin AÇIK olmasını istediğimizde, LED MODÜLÜNÜN karşılık gelen pinine güç sağlanacaktır.
Bu henüz bitmedi, sadece ROWS'un hiçbir şey vermediği gücü bırakarak. Diğer ucunu topraklamamız gerekiyor. Aşağıda tartışacağız.
Şimdi bu örnek için ortak pozitif satırları görmezden geliyor ve ortak negatif sütunlara odaklanıyoruz.
Böylece bu modülde ilk sütunun tüm negatif terminalleri PIN13'e bir araya getirilir. Bu, aşağıdaki şekilde gösterilmiştir.
Burada da modülün PIN OUTAGE'sinde düzensizlik var. İlk sütun LED'leri ortak negatif PIN13'te ortaya çıkar. İkinci sütun LED'leri ortak negatif PIN3'te ortaya çıkar.
Bağlanırken pimlere dikkat edilmelidir. Şimdi, ilk sütundaki LED'lerden herhangi biri veya tümü topraklanacaksa, MATRIX MODÜLÜNÜN PIN13'ü topraklanacaktır. Bu yol, diğer yedi ortak negatif sütuna gider. Her iki durum bir araya getirildiğinde aşağıda gösterildiği gibi bir devreye rastlıyoruz,
Yukarıdaki devre , LED MODÜLÜ'nün eksiksiz dahili şemasıdır. Diyelim ki matristeki LED D10'u açmak istiyorsak, modülün PIN14'üne güç vermemiz ve modül üzerindeki PIN3'ü topraklamamız gerekir. Bununla D10 AÇILACAKTIR. Bu, aşağıdaki şekilde gösterilmektedir. Bu, önce MATRIX'in her şeyi sırayla bilmesi için kontrol edilmelidir.
D1'i açmak istiyorsak, matrisin PIN9'una güç vermemiz ve PIN13'ü topraklamamız gerektiğini varsayalım. Bununla LED D1 parlayacak. Bu durum için geçerli yön aşağıdaki şekilde gösterilmiştir.
Şimdi zor kısım için, bir seferde hem D1 hem de D10'u açmak istediğimizi düşünün. Bu yüzden hem PIN9 hem de PIN14'e güç veriyoruz ve hem PIN13, hem de PIN3'ü topraklıyoruz. Bununla birlikte D2 ve D9 ON ile D1 ve D10'a sahip olacağız. Çünkü ortak terminalleri paylaşıyorlar. Bu nedenle, LED'leri köşegen boyunca çevirmek istersek, yol boyunca tüm LED'leri AÇIK duruma getirmek zorunda kalacağız. Bu, aşağıdaki şekilde gösterilmiştir.
Yani bu sorunu ortadan kaldırmak için bir seferde sadece bir led yakacağız. T = 0m SEC'de, LED D1'in AÇIK olduğunu söyleyin. T = 1m SEC'de LED D1 KAPALI ve LED D2 AÇIK hale gelir. Yine t = 2 m SEC'de LED D2 KAPALI ve LED D1 yanar. Bu devam ediyor.
Şimdi işin püf noktası, insan gözünün 30 HZ'den fazla bir frekansı yakalayamamasıdır. Bu, bir LED'in 30HZ veya daha yüksek bir hızda sürekli olarak YANIP SÖNMESİ durumudur. Göz, LED'i sürekli AÇIK olarak görür. Ancak durum bu değil. LED sürekli olarak YANIP SÖNECEKTİR. Bu tekniğe çoklama denir.
Çoğullamayı kullanarak, bir seferde yalnızca bir satır çevireceğiz ve 8 sıra etrafında sürekli olarak döneceğiz. Bu, çıplak göz için tamamen AÇIK hale getirilmiş bir matris olarak görselleştirildi.
Şimdi matriste “A” göstermek istediğimizi söyleyin.
Anında bir satır AÇIK duruma getireceğimizi söyledi
T = 0m SEC'de, PIN09 YÜKSEK olarak ayarlanmıştır (şu anda diğer ROW pinleri DÜŞÜK), PIN3, PIN4, PIN10, PIN6, PIN11, PIN15 topraklanmıştır (diğer COLUMN pinleri şu anda YÜKSEK)
T = 1m SEC'de, PIN14 YÜKSEK olarak ayarlanmıştır (şu anda diğer SATIR pinleri DÜŞÜK), PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 topraklanmıştır (diğer COLUMN pimleri şu anda YÜKSEKTİR)
T = 2m SEC'de, PIN08 YÜKSEK olarak ayarlanmıştır (şu anda diğer SATIR pinleri DÜŞÜK), PIN13, PIN3, PIN15, PIN16 topraklanmıştır (diğer COLUMN pinleri şu anda YÜKSEK)
T = 3m SEC'de, PIN12 YÜKSEK olarak ayarlanmıştır (şu anda diğer SATIR pinleri DÜŞÜKtür), PIN13, PIN3, PIN15, PIN16 topraklanmıştır (diğer COLUMN pinleri şu anda YÜKSEK)
T = 4m SEC'de, PIN01 YÜKSEK olarak ayarlanmıştır (şu anda diğer SATIR pinleri DÜŞÜK), PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 topraklanmıştır (diğer COLUMN pimleri şu anda YÜKSEKTİR)
T = 5m SEC'de, PIN07 YÜKSEK olarak ayarlanmıştır (şu anda diğer SATIR pinleri DÜŞÜKtür), PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 topraklanmıştır (diğer COLUMN pinleri şu anda YÜKSEKTİR)
T = 6m SEC'de, PIN02 YÜKSEK olarak ayarlanmıştır (şu anda diğer SATIR pinleri DÜŞÜK), PIN13, PIN3, PIN15, PIN16 topraklanmıştır (diğer COLUMN pinleri şu anda YÜKSEK)
T = 7m SEC'de, PIN05 YÜKSEK olarak ayarlanmıştır (şu anda diğer SATIR pinleri DÜŞÜK), PIN13, PIN3, PIN15, PIN16 topraklanmıştır (diğer COLUMN pimleri şu anda YÜKSEK)
Bu hızda, ekran sürekli olarak “A” karakterini gösteriyor olarak görülecektir. Şekilde gösterilmiştir.
Ekranda tüm karakterler bu şekilde gösterilir. Devre şemasında gösterildiği gibi devreyi uygun şekilde bağladıktan sonra. Doğrudan denetleyiciye, adın gösterilmesi için düzgün bir şekilde çoğullamayı gerçekleştirmesi için talimatlar verebiliriz.