○Led.Digitsオブジェクトを作成する
7セグメントLED表示器(以下、LED表示器)を制御するには、Led.Digitsオブジェクトを使います。Led.Digitsオブジェクトは、物理的なボードに接続された単一のLED表示器を表すオブジェクトです。Led.Digitsオブジェクトを作成するには、Led.Digitsクラスのコンストラクタを使います。
Johnny-Fiveでは、シフトレジスタ・デバイスの「MAX7219」と「MAX7221」、I2Cインターフェイス・デバイスの「HT16K33」を使用したLED表示器をサポートしています。
シフトレジスタ・デバイスのLED表示器を制御するLed.Digitsオブジェクトを作成するには、コンストラクタの引数にLED表示器の「DATA(DIN)」「CLOCK」「CS」用のピン番号を含むオブジェクトを指定します。
たとえば、2ピンに「DATA(DIN)」、3ピンに「CLOCK」、4ピンに「CS」を使用するLed.Digitsオブジェクトを作成するには、次のように書きます。
new five.Led.Digits({
pins:
{
data: 2,
clock: 3,
cs: 4
}
});
|
・配線図
new five.Led.Digits({
controller: "HT16K33"
});
|
・配線図
○LED表示器に文字を表示する
○LED表示器の特定の桁に文字を表示する
○LED表示器の表示をオフ/オン/クリアする
LED表示器に文字を表示するには、「string」メソッドを使います。引数には、表示する文字列を指定します。
print(文字列)
|
たとえば、「HELLO」と表示するには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();
board.on("ready", function()
{
// Led.Digitsオブジェクトを作成
var
digits = new five.Led.Digits({
pins: {
data: 2,
clock: 3,
cs: 4
}
});
// 文字列を表示
digits.print("HELLO");
});
|
指定可能な文字は、次のとおりです。
0 1 2 3 4 5 6 7
8 9
! . :
A B C D E F G H
I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h
i j k l m n o p q r s t u v w x y z
|
LED表示器の特定の桁(この場合の桁は、左から右に0~7と数える)に文字を表示するには、「draw」メソッドを使います。引数には、桁位置(0~7)と表示する文字を指定します。
draw(桁, 文字)
|
たとえば、0桁目に「1」を表示するには、次のように書きます。
// 0桁目に「1」を表示
digits.draw(0, "1");
|
複数のLED表示器がカスケード(多段)接続されている場合、すべてのLED表示器で、指定した桁位置に文字が表示されます。特定のLED表示器に文字を表示するには、引数にデバイスインデックスを指定します。
draw(デバイスインデックス, 桁, 文字)
|
デバイスインデックスは、カスケード接続されたLED表示器(最大8デバイス)の中から、特定のLED表示器を識別するための番号で、連結順に「0」から始まる連番になります。
たとえば、デバイス0(デバイスインデックス「0」)のLED表示器の0桁目に「1」を表示するには、次のように書きます。
// デバイス0の0桁目に「1」を表示
digits.draw(0, 0, "1");
|
○LED表示器の明るさを調整する
LED表示器の明るさ(輝度)を調整するには、「brightness」メソッドを使います。「brightness」メソッドを使います。引数には輝度を0~100(%)で指定します。
brightness(輝度)
|
たとえば、輝度を50%に設定するには、次のように書きます。
// 輝度を50%設定
digits.brightness(50);
|
複数のLED表示器がカスケード(多段)接続されている場合、すべてのLED表示器の輝度が設定されます。特定にLED表示器の輝度を設定するには、引数にデバイスインデックスを指定します。
brightness(デバイスインデックス, 輝度)
|
デバイスインデックスは、カスケード接続されたLED表示器(最大8デバイス)の中から、特定のLED表示器を識別するための番号で、連結順に「0」から始まる連番になります。
たとえば、デバイス0(デバイスインデックス「0」)の輝度を50%に設定するには、次のように書きます。
// デバイス0の輝度を50%に設定
digits.brightness(0, 50);
|
○LED表示器の表示をオフ/オン/クリアする
LED表示器の表示をオフにするには「off」メソッドを、オンにするには「on」メソッドを使います。たとえば、5秒後にオフにし、10秒後にオンにするには、次のように書きます。
// 5秒後
this.wait(5000,
function(){
// 表示オフ
digits.off();
});
// 10秒後
this.wait(10000,
function(){
// 表示
digits.on();
});
|
複数のLED表示器がカスケード(多段)接続されている場合、すべてのLED表示器がオフ/オンされます。特定のLED表示器をオン/オフするには、引数にデバイスインデックスを指定します。デバイスインデックスは、カスケード接続されたLED表示器(最大8デバイス)の中から、特定のLED表示器を識別するための番号で、連結順に「0」から始まる連番になります。
たとえば、デバイス0(デバイスインデックス「0」)の表示をオフ/オンするには、次のように書きます。
this.wait(5000,
function(){
// デバイス0の表示をオフ
digits.off(1);
});
// 10秒後
this.wait(10000,
function(){
// デバイス0の表示をオン
digits.on(1);
});
|
なお、オフにしてもデータは保持され、オンにすると元の状態で表示されます。LED表示器の表示をクリアするには、「clear」メソッドを使います。
// すべてのLED表示器の表示をクリア
digits.clear();
|
複数のLED表示器がカスケード(多段)接続されている場合、すべてのLED表示器がクリアされます。特定のLED表示器をクリアするには、引数にデバイスインデックスを指定します。
// デバイス0をクリア
digits.clear(0);
|
0 件のコメント:
コメントを投稿