node.jsでAdafruit 32x16 RGB LED Matrixを制御する (2):パターン表示

Last updated on

setPixel(x, y, red, green, blue)をガリガリ回して見たパターン。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var LedMatrix = require("node-rpi-rgb-led-matrix");

var matrix = new LedMatrix(16);

var pattern = [
[0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,0,0],
[0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0],
[0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0],
[0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0],
[0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,0,0],
[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1],
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1],
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1],
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1],
[1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1],
[0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,1,0,1,0,1,1,1,1,1,1,0,1,0,1,0,0,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1,1,1],
[0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1,1,1],
[0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1,1,1],
[0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1,1,1],
];

matrix.clear();

console.log('width: ' + matrix.getWidth());
console.log('height: ' + matrix.getHeight());

setInterval(function(){
var r = Math.random()*255;
var g = Math.random()*255;
var b = Math.random()*255;
for (var y=0; y < 16; y++) {
for (var x = 0; x < 32; x++) {
matrix.setPixel(x, y, pattern[y][x]*r,pattern[y][x]*g,pattern[y][x]*b);
}
}
}, 500);

で、こんな感じです。

attention

ライブラリのソース眺めて見た感じ、画像の直接表示も実装されてるのかな、、。