Birkaç GPIO pini ile birçok LED'i kontrol etme


12

Bu kılavuzu kullanarak donanım "merhaba dünyamı" başarıyla tamamladım:

http://www.raspberrypi-spy.co.uk/2012/06/control-led-using-gpio-output-pin/

Şimdi daha büyük ve daha parlak şeylere, daha bireysel olarak kontrol edilen LED'lere geçmek istiyorum! Açıkçası, bir sonraki adım, voltaj kaynağını Raspberry Pi'den çıkarmak ve daha fazla LED eklemek, ancak sonunda GPIO pinlerini bitireceğim, bu yüzden şimdi ihtiyacım olan şey bir şekilde bilecek bir devreyi kontrol etmek GPIO "kodlu sinyalleri" ne dayalı olarak, hangi LED'lerin açılıp kapatılacağı Ne tür devre örnekleri aramalıyım? Ve daha da önemlisi, Raspberry Pi karşısında, ya da rpi.gpio, belki de sinyal zamanlaması ile ilgili herhangi bir soruna neden olabilir mi?


Çoklu kopyalama, GPIO'yu daha da azaltmak veya minimum GPIO ile büyük diziler oluşturmak için PWM kullanarak Görme Persisitance ile birlikte kullanılması gereken GPIO sayısını radikal bir şekilde azaltacaktır. Buraya zaten cevap verildi.
Piotr Kula

Yanıtlar:


13

Bu durumda aradığınız şey bir LED matrisidir . Bu matrisi GPIO pinlerinden kontrol edebilirsiniz, ancak bu hala bağlayabileceğiniz LED miktarını (matrisin boyutu) sınırlar ve dikkatli değilseniz çok fazla akım çekmeye başlayabilir.

Daha iyi bir seçenek, bir veya daha fazla I2C G / Ç genişleticisi kullanarak I2C veriyoluna bir LED matrisi bağlamaktır. Bu şekilde çok büyük bir matris oluşturabilirsiniz (örneğin 64 LED, ONE 16 bit G / Ç genişletici ile yapılabilir). Bu G / Ç genişleticilerini kullanmanın bir başka nedeni, biraz daha sağlam olmaları, biraz daha fazla akım sağlamaları ve ana CPU'nuzu zarar verici yollardan uzak tutmalarıdır.

Bu sitede bu G / Ç genişleticileri birden çok kez ele alındığından, bunlar hakkında kolayca bilgi bulabilmeniz gerekir. Bu Bağlantı , bu genişleticiler ve bir matris hakkında bazı bilgiler sağlar (giriş için kullanılmasına rağmen, temelde aynı fikirdir, ancak matrisi taramak için değil, LED'leri yönlendirmek için kullanmazsınız)

Düzgün bir çalışma matrisi yapmak için sadece ekstra gereksinim, matrisi daha büyük yapmamanız gerektiğidir, o zaman RPi her bir bireysel LED'i saniyede en az 20 kez güncelleyebilir, aksi takdirde titremeye başlarsınız, ancak bu da açıklanır ilk bağlantıda (paragraf "Mültipleksleme ve Vizyonun Kalıcılığı").


Bu çok ilginç. Okuduğunuz için teşekkürler! Uzatıcılara geçmeye hazır olmadan önce bunu GPIO pinlerini kullanarak küçük ölçekte deneyebilirim. GPIO pinleri ile bazı testler yaptım ve şimdiye kadar tatmin edici Multiplexing elde edebildim. Akımdan endişe etmiyorum çünkü sadece Pi'yi harici bir akım değiştirmek için kullanacağım. Bu ölçek iyi olacak mı? Muhtemelen hayır, ama yine de ders için buradayım!
SkyNT

3

Ben kullandım MCP23017 bu tür bir şey yapmak I²C liman genişletmesi. Ahududu pi için bazı örnek kod bulmak için bu bağlantıyı izleyin . Herhangi bir çoğullama yapmanıza gerek kalmadan yonga başına 16 LED ve 8 yonga kullanabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.