Birkaç IO pininden çok sayıda LED'i çalıştırmak için kullanılabilecek birkaç yöntem vardır.
En basit olanı standart satır / sütun ekran çoğullamasıdır. Bu teknik ile, sürücü ile LED'ler n IO pinleri. Matematiksel olarak, görev döngüsü:( n / 2 )2n
1m i n i m u m ( benzersiz satır düzenleri, benzersiz sütun düzenleri )
Bu, tüm LED'ler yandığında (veya tüm satırlar veya tüm sütunlar aynı olduğunda) bu tekniğin% 100'lük bir görev döngüsüne ve çapraz bir çizginin yanması gerektiğinde (veya tüm satırların farklı olması durumunda bir görev döngüsüne sahip olduğu anlamına gelir. ). Her LED'i veya bir LED'i (veya sıfır LED'i) aydınlatırken yalnızca% 100 görev döngüsü garanti edilir, ancak bu çok fazla sayılmaz).1/n
Charlieplexing biraz daha karmaşıktır . Bu teknikle LED'leri n IO pinleri ile çalıştırabilirsiniz. Bu teknikle sadece n - 1 LED aynı anda yanabilir. Matematiksel olarak, görev döngüsü:n2−nnn−1
1minimum simultaneous sets
1/n
Bahseteceğim son yöntem, bir kaydırma yazmacı veya IO genişletici kullanmaktır. İki pim (Ham veri / saat arayüzü, I2C veya tek yönlü SPI) ile isteğe bağlı olarak çok sayıda LED'i kontrol edebilirsiniz. Herhangi bir model için görev döngüsü% 100'dür, ancak güncelleme oranı LED'lerin sayısıyla ters orantılıdır. Bu en pahalı yöntemdir. 15 LED için, o kadar çok IO pinine sahip bir mikroma geçmek muhtemelen daha ucuz olacaktır.