Arduinoで75個のLEDを制御する最良の方法


9

3つのLEDまたは25のRGB LEDの25グループを制御する必要があります。各グループは、最大20 cm(約8インチ)離れてuCから解任されます。20cmは非常に安全な仮定ですが、10cm以下になると思います。

ただし、5cmでもマトリックス状に作成するのは難しいと思いますので、MAX7219 likie IC(http://www.arduino.cc/playground/Main/MAX72XXHardware)を使用するのはベストなアイデアではないと思います。

おそらくシフトレジスタを使用します(http://www.arduino.cc/en/Tutorial/ShiftOut)。74HC595を複数接続したり、STP16C596などを使用したりできます。

私はSTP16C596を好みますが、それらは時代遅れです。SCT2026(http://zefiryn.tme.pl/dok/a04/sct2026.pdf)を見つけましたが、それが正しい選択かどうかはわかりません。

もう1つ注意してください。私の現在のプロジェクトでは、各グループの「2ビット制御」のみが必要です(3つのLEDをオフにするか、そのうちの1つだけを選択してオンにする)が、プロジェクトが簡単または安価になるとは思いません。また、各LEDを個別に制御すると、変更があった場合の柔軟性が大幅に向上します。

どのソリューションが私の要件に最も適していますか。

このショップでパーツを入手できると便利です-http://www.tme.eu/en/katalog/ ? &page = 1,20#mainまたはhttp://eu.mouser.com/(ただし、最初の1つ)。

回答:


8

あなたが言及したMAX7219のようなドライバーでマトリックスルートを使用することをお勧めします。さらに多くの制御が必要な場合は、12ビットの解像度で24チャネル(4096各チャネルの明るさの異なるステップ)。これにより、R、G、Bの各LEDをさまざまな明るさでオンにして、必要な色を混ぜることができます。

各LEDへの配線にリボンケーブルを使用して(マトリックスの概念が気に入らないのは配線が原因だと思います)、すべてのケーブルをコントローラーボードに接続します。このようなものについては、手作業で行う接続が多いため、コントローラー用にPCBを作成することをお勧めします。それは私がやろうとしていることです。

STC2026はSTP16C596と直接互換性があるように見えるので、それを使用したい場合、それは完全に良い代替品です。各LEDを個別に制御する方が、ある種のMUXを使用して2ビットでどのLEDをオンにするかを制御するよりも、おそらく安く簡単です。

お役に立てば幸いです。


1
完全な回答をありがとう。ここでも、LEDマトリックスドライバーの使用を検討します。あなたは正しい、私は配線について心配していますが、私はこれのためにPCBをクレートすることについてのあなたの考えは素晴らしいと思います。しかし、リボンケーブルについてのあなたの提案を正しく理解しているかどうかはわかりません。3つのLEDのグループごとに4本のワイヤが必要だと思うので、ダブルペアのテレフォニーケーブルの方が良いと思います。また、LEDグループをPCBに接続するためにテレフォニーソケット(RJ11)を使用することも考えています。
Maciek Sawicki

1
ドライバーに関するもう1つの質問。マウサーでのTLC5951の待機時間は長く静かです。TLC5951の代替品はありますか?TIのWebサイトでtlc5952(focus.ti.com/docs/prod/folders/print/tlc5952.html)を見つけましたが、LEDごとに輝度を制御できないようです。
Maciek Sawicki

1
電話ケーブルが機能する可能性があります。リボンケーブル(フラットケーブル)を提案したのは、電子機器ではかなり一般的なためです。仕事を成し遂げるものは何でも機能します(明らかに:) それはマウサーからのかなり長いリードタイムです。Digikey.comまたはMouserの同等のLEDドライバー(mouser.com/Optoelectronics/Drivers/LED-Drivers/_/N-6hpc2)を試してみてください。あなたが言ったように、tlc5952は個別のLED輝度制御を提供しません。しかし、他にもたくさんのオプションがあります。TMEのWebサイトで機能するものを探してみましたが、そのWebサイトはユーザーにとって使いやすいものではないため、あきらめました。
David Brenner、

ありがとうございました。大きなリボンケーブルしか見つかりませんでした。たぶん、もっと細かい部分に分割できますが、配線の考え方が正しいかどうかはわかりませんでした。この状況では、おそらくツイストペアケーブルを使用します。Digikey.comについての情報をありがとう、それは素晴らしい店のように見え、TLC5951DAPの在庫があります。ただし、送料は60米ドルです。だからMAX7219を使うと思います。私はmouser.comでTLC5951DAPのようなものを見つけようとしましたが、個別のLED輝度制御で何かに資金を供給するのは難しいです。
Maciek Sawicki

はい、TME Webサイトはユーザーフレンドリーではありません。これは、LEDドライバーへの直接リンクです(選択肢は大きすぎません):tme.eu/en/katalog/… 時間がある場合は、それを見ていただければ幸いです。TIにサンプルを注文することも考えています。これについて何か経験はありますか?
Maciek Sawicki

2

私は頭の上のチップを知りませんが、おそらくそれらのI2C GPIO /出力エキスパンダーチップのいくつかは行く方法かもしれません。久しぶりですが、4bitのものを見たと思います。もちろん、この道を行くことは他のいくつかのソリューションほど安くはないかもしれませんが、将来的にそれを拡張して最小限のarduinoピンを使用するのは簡単でしょう。

詳細がわからないことをお詫びします。携帯電話から投稿しています。


チップの例:Microchip MCP23017(I2C)、MCP23S17(SPI)。
Wouter van Ooijen、2011


0

3つのTLC5490チップのバンクを使用して、16個のRGB LEDを個別に制御しました。RGB LEDシールドプロジェクトで使用されています。今それを再実装する場合は、5490の16チャネルではなく、プログラムが容易なTLC5497チップを24出力チャネルで使用します。 MaceTechは、それらをすぐに入手可能な状態で少量販売しています。チャンビー用のLED USBドングルを作成するために、FT232Rと一緒に使用することを計画しています。


0

Arduinoがシフトレジスタでこれを行うためのライブラリを作成しました。これはShiftPWMと呼ばれています。

詳細なドキュメントは次の場所にあります:http : //www.elcojacobs.com/shiftpwm

そして通常のLEDの回路図はここにあります:http : //www.elcojacobs.com/using-shiftpwm-to-control-20ma-rgb-leds/

74HC595ではなくTLC5916を使用することをお勧めします。これは、定電流シンク出力を備えたシフトレジスタです。このドライバーでは抵抗は必要ありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.