İçindekiler:

Birkaç Mikrodenetleyici Pininden Çok Sayıda LED Nasıl Sürülür.: 6 Adım (Resimlerle)
Birkaç Mikrodenetleyici Pininden Çok Sayıda LED Nasıl Sürülür.: 6 Adım (Resimlerle)

Video: Birkaç Mikrodenetleyici Pininden Çok Sayıda LED Nasıl Sürülür.: 6 Adım (Resimlerle)

Video: Birkaç Mikrodenetleyici Pininden Çok Sayıda LED Nasıl Sürülür.: 6 Adım (Resimlerle)
Video: Profesyonel Devre Şeması Çizmek İçin 13 Basit Kural 2024, Kasım
Anonim
Birkaç Mikrodenetleyici Pininden Çok Sayıda LED Nasıl Sürülür?
Birkaç Mikrodenetleyici Pininden Çok Sayıda LED Nasıl Sürülür?

Birçok mikrodenetleyici pininin üç durumu (+V, GND veya "yüksek empedans") olduğu gerçeğini kullanarak, N*(N-1) LED'lerini N pinlerinden çalıştırabilirsiniz. Beş kullanılabilir çıkış pininde 20 LED ve bir tür giriş için hala bir pin kaldı. Ayrıca bkz.

Adım 1: 5 Pin üzerinde 20 LED

5 Pin üzerinde 20 LED
5 Pin üzerinde 20 LED

Düşük pinli mikrodenetleyicilerin mevcut mahsulü (6 pinden 20 pin'e kadar)

paketin tamamı) cazip fiyatlı ve 'sevimli', ancak soru, sürüş LED'leri gibi yaygın uygulamalar için bu pimlerden en iyi şekilde nasıl yararlanabileceğiniz konusunda ortaya çıkıyor. LED'leri sürmek için doğrudan bağlantı yaklaşımı, her LED için bir pin tüketir. LED anot sıralarının bir N pim seti tarafından çalıştırıldığı ve her bir sıranın ortak katodunun başka bir M pim seti tarafından çalıştırıldığı geleneksel bir çoğullama şeması, N+M pimleri ile N*M LED'leri yakmayı başarır. Ancak, yalnızca 5 veya daha az çıkışa sahip bir işlemcide (çoğu 8 pinli mikro denetleyicide olduğu gibi), bu size doğrudan sürücüden çok daha fazla çıkış sağlar.

Adım 2: Charlieplexing

Charlieplexing
Charlieplexing

Çıkış pinlerinin aslında üç durumlu (aktif yüksek, aktif düşük ve yüksek empedans (giriş)) olduğunu varsayarsak, satır ve sütun sürücülerini paylaşmak ve N*(N-1) LED'lerini sadece N pin ile kontrol etmek de mümkündür. Bir pim, bir sıra LED'lerin ortak katotlarına bağlanır ve düşük sürülür ve kalan N-1 pimleri anotlara bağlanır ve ya o sütunu aydınlatmak için yükseğe sürülür ya da LED'i kapatmak için girişler olarak bırakılır. Maxim bu tekniğe "Charlieplexing" adını verir ve bunu (1); Microchip ayrıca belgelerinde (2) (ve PICKit 1 kartındaki uygulamalarda da) bundan bahseder.(1) "Charlieplexing - Azaltılmış Pin Sayısı LED Ekran Çoklama"https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880(2) "İpuçları 'n Püf Noktaları 8-pin FLASH PIC Mikrodenetleyiciler" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) Charlieplexing LED'leri - The Theory An Instructable by by rgbfil

Adım 3: Çalıştırmak

Çalıştırmak
Çalıştırmak
Çalıştırmak
Çalıştırmak

Bu, bir ATtiny11'den 20 LED'i çalıştırır. Bu panonun önceki bir sürümü

aslında oluşturulmuş ve ana sayfa fotoğrafı olarak görünür. Korkarım şematik resim oldukça umutsuz; hangi sinyallerin nereye bağlı olduğunu söylemesi için Eagle'a ihtiyacınız var.

Adım 4: Daha Küçük ve Daha Çok Yönlü…

Daha Küçük ve Daha Çok Yönlü…
Daha Küçük ve Daha Çok Yönlü…

Kartın çoğu LED dizisi tarafından alındığından, yer açabiliriz.

Bir Attiny çipi VEYA bir mikroçip PIC12F çipi için. LED'leri 3 mm'ye kadar küçültün ve çift taraflı bir tahtaya gidin ve 27x44mm'lik bir şey elde ediyoruz Ne yazık ki, bu kart henüz test edilmedi…

Adım 5: Küçük Küçük

itty ufacık
itty ufacık

Mikroçip elbette 6 pinli PIC10F çiplerine sahiptir, 3 çıkış pininden sadece 6 LED. Bu çap yaklaşık 16 mm'dir. 603 LED'e geçmek biraz daha küçülmenizi sağlar, ancak ne anlama geldiğinden emin değilim.

6. Adım: Yazılım

Yazılım, çeşitli nedenlerden dolayı biraz dağınık hale geliyor:

1) Gösterilen PCB'ler için LED'ler, "doğru" bit sırası yerine PCB düzenine uygun bir şekilde düzenlenmiştir. IMO, işleri yapmanın yolu budur, ancak bu, Satır 1'in zorunlu olarak bit 1 anlamına gelmediği veya sütun 3'ün bit 3 anlamına gelmediği anlamına gelir. Bu, olağan satır/sütun adresleme ve ayarlanması gereken bitler. 2) Anotlar ve katotlar için aynı bitler kullanıldığından, bazı bitler için ortak (sıra) bağlantı, sürülen (sütun) bitlerin ortasında olabilir. Bu, o sütun kümesi için satır bitinden önce mi sonra mı olduklarına bağlı olarak sütun bitlerini kaydırmanız gerektiği anlamına gelir. 3) Hem ioport hem de port yön kaydı için çıktı sözcükleri türetmeniz gerekir. ATtiny11 için ekli ASM kodu bir "kavram kanıtı" dır. Utanç verici bir şekilde optimize edilmemiş ve kötü yorumlanmış, ancak şu ana kadar yazdıklarımın hepsi bu.

Önerilen: