私は、9 X 16 LED マトリックスを制御する必要がある Arduino Uno R3 を使用する小さなプロジェクトの中間にいます。
プロジェクトを開始する前に、8 X 8 LED マトリックスを計画していました (ここでのソリューションは 8X8 で機能します)。Arduino Mega (より多くの出力ピンを使用) を使用すると、同じソリューションが機能することがわかっています。
Arduino UNOで9 * 16 LEDマトリックスを制御する方法を教えてください。
もう 1 つの方法は、マルチプレクサを使用することです。それらを使用すると、少数の arduino ピンで多くの出力 (または入力) に対処できます。
左のようなセットアップでは、マルチプレクサをネストして、より多くの LED を制御できます。あなたが遭遇する唯一の問題は、対処される間にLEDが少し暗くなるかもしれないということです.
これは、トピックに関するArduinoページです(サンプルコード付き)。http://www.arduino.cc/playground/Learning/4051
/*
* codeexample for useing a 4051 * analog multiplexer / demultiplexer
* by david c. and tomek n.* for k3 / malm� h�gskola
*
* edited by Ross R.
*/
int r0 = 0; //value of select pin at the 4051 (s0)
int r1 = 0; //value of select pin at the 4051 (s1)
int r2 = 0; //value of select pin at the 4051 (s2)
int count = 0; //which y pin we are selecting
void setup(){
pinMode(2, OUTPUT); // s0
pinMode(3, OUTPUT); // s1
pinMode(4, OUTPUT); // s2
}
void loop () {
for (count=0; count<=7; count++) {
// select the bit
r0 = bitRead(count,0); // use this with arduino 0013 (and newer versions)
r1 = bitRead(count,1); // use this with arduino 0013 (and newer versions)
r2 = bitRead(count,2); // use this with arduino 0013 (and newer versions)
//r0 = count & 0x01; // old version of setting the bits
//r1 = (count>>1) & 0x01; // old version of setting the bits
//r2 = (count>>2) & 0x01; // old version of setting the bits
digitalWrite(2, r0);
digitalWrite(3, r1);
digitalWrite(4, r2);
//Either read or write the multiplexed pin here
}
}
次のようなものを見てみましょう: http://www.arduino.cc/playground/Learning/4051
一部のMAX7221 LED ドライバ チップで最大 512 個の LED を駆動できます。手順については、こちらを参照してください。