LED'leri kontrol etmek için normal bir Arduino kartı kullanmak istiyorum - tahtadan ayrı ayrı kontrol edebileceğim en fazla ışık nedir?
Nasıl bağlanılacağına dair bir eğitim var mı?
LED'leri kontrol etmek için normal bir Arduino kartı kullanmak istiyorum - tahtadan ayrı ayrı kontrol edebileceğim en fazla ışık nedir?
Nasıl bağlanılacağına dair bir eğitim var mı?
Yanıtlar:
Charlie-plexing N hatlarının N * (N-1) LED'lerini kontrol ettiğine inanıyorum. Wikipedia hakkında iyi bir makale var.
Bir arkadaşım Jimmie P. Rodgers, Arduino Shield'e 126 LED yerleştirdi. LED'leri kontrol etmek için charlie-plexing kullanıyor. Tahtasındaki bazı bilgiler - jimmieprodgers.com/2009/12/my-development-process/ (archive.org kopyası)
Son Boston Arduino Kullanıcı Grubu toplantısında Jimmie P. Rodgers etiketli ağları olan bir matris olarak Charlie-pleksleme diyagramı çizdi. Bu şekilde çizilen şemalar, kavramı iletmek için iyi bir iş yapmış gibi görünüyordu. Birkaç benzer şema oluşturdum - Bkz. Http://wiblocks.luciani.org/FAQ/faq-charlie-plex.html
jimmieprodgers.com
yanıttaki bağlantı virüslerle dolu.
Tek bir seri akıştan istediğiniz sayıda paralel çıktı almak için Shift Registers ( http://en.wikipedia.org/wiki/Shift_register ) kullanabilirsiniz.
Güç kısıtlarınızla ilgilenmeniz gerekecek. Aslında hiçbir zaman bir Arduino kullanmadım ama bunun PIC'lerin yaptığı gibi mevcut bir sınırı olduğunu varsayıyorum. Ayrıca, vardiya kayıtları kendileri için bir akım sınırına sahip olacaktır. Bunun içine girerseniz, doğrudan mikro denetleyicinizden çok fazla güç çekmeden LED'leri kontrol etmenizi sağlamak için MOSFET gibi bir şey kullanmaya bakmanız gerekir.
Herhangi bir AVR mikrodenetleyici piminin 40 mA'ya kadar kaynak yapmasına izin verilir ve çip tarafından kaynaklanan veya batırılan toplam güç kaynağının (yani, yer ve Vcc pimlerinde) 200 mA'nın altında olması gerekir.
Charlieplexing, çok sayıda LED'e ihtiyaç duyduğunuz, ancak aynı anda yalnızca bir LED yanarak geçebileceğiniz durumlar için mükemmel bir çözümdür . Standart bir Arduino kartı (Duemilanove gibi), TX, RX, Reset veya pim 13'ü saymayan 17 "ücretsiz" G / Ç pini sağlar. Böylece 17 * 16 = 272 LED'i bağlayabilirsiniz. Bu, özellikle bir LED'i yanıyor veya birkaç tanesini hızlı bir şekilde tarıyorsanız iyi çalışabilir. Ancak tüm matrisi bir desenle aydınlatmaya çalışıyorsanız, her birinin 1/272 oranında açık (biraz daha az) olduğunu görürsünüz, bu nedenle sürücü akımınız herhangi bir anda 30 mA ise, her LED ortalama akım yaklaşık 0.1 mA - oldukça loş olacaktır.
Bu kadar LED'e ihtiyacınız yoksa daha fazla parlaklığa ihtiyacınız varsa, geleneksel çoklama daha iyi bir seçenek olabilir. Bu durumda, bazı satırlarınızı satır olarak, bazıları da matristeki sütun olarak kullanırsınız. 10 mA LED akımı kullanırsanız, bir satırdaki 4 LED'in hepsinin aynı anda açık olabileceği ve satırları tarayabileceğiniz 4 sütun ve 13 satırlık bir matris tanımlayabilirsiniz. Daha sonra her sıra 10 mA akımda zamanın 1 / 13'ünde, bu nedenle ortalama LED akımı 0,76 mA kadar yüksek olabilir, ancak sadece 4 * 13 = 104 LED alırsınız. (LED başına kesinlikle charlieplexing'e göre daha parlaktır.)
Son örnekteki sınır AVR üzerindeki pim başına 40 mA'dır - çünkü her sıra tahrik pimi 4x10 = 40 mA kaynaktır. Harici transistörlerin (ucuz ve küçük olabilen) sıra çıkışlarına eklenmesine izin verirseniz, bu sınırdan kaçınabilir ve daha parlak olabilirsiniz. Örneğin, 8 satır ve 9 sütun, 72 LED ile 8x9 bir dizi oluşturabilirsiniz. 8 sıradan biri, transistör aracılığıyla seçilen bir seferde açıktır. Belirli bir sıradaki 9 LED'in tümü aynı anda açık olabilir, 20 mA ile çalıştırılabilir, böylece transistörden 180 mA gelir ve AVR'nin akım sınırlarının altında kalırsınız. LED başına ortalama akım şimdi 20 mA / 8 = 2.5 mA - genellikle makul derecede parlak.
Burada, 8x8x8 LED küp çalıştırmak için Arduino kullanma hakkında bir bölüm içeren çok güzel, ayrıntılı bir öğretici var . (Sahip oldukları YouTube filmini kaçırmayın)
17 I / O pimi, on yedi NPN transistör (akımı artırmak için emitör takipçileri), 1/17 görev döngüsünde keyfi kombinasyonlarda 272 LED'i gösteren, ortalama akım veya 0,7 mA (200mA / 272) ile sınırlandırılmış özel bir sorun olmamalıdır. çipin bir seferde 200mA'yı çekme yeteneği. 0.7 voltluk bir düşüş elde etmek için bir diyot eklemek, diğer 17 LED'in eklenmesine izin verecektir (görev döngüsünü 1/18'e düşürür), ancak parlaklık diğerleriyle tam olarak eşleşmeyecektir.
Windell Oskay, daha fazla transistör eklemeden 104 LED'in maksimum olduğu konusunda iyi bir argüman yaparken, Tom Igoe doğrudan tek bir Arduino Mega tarafından kontrol edilen 128 LED'lik bir matrisin fotoğraflarını yayınladı - ayrı veya entegre ekstra transistör yok.
Tom Igoe, veri sayfasında listelenen "pim başına mutlak maksimum akımı" kısaca aşarak "aldatıyor" mu?