記事一覧

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Johnny-Fiveでマイコン制御30 - LCD その2

○LCDオブジェクトを作成する

 LCDを制御するには、LCDオブジェクトを使います。LCDオブジェクトは、物理的なボードに接続された単一のLCDを表すオブジェクトです。LCDオブジェクトを作成するには、LCDクラスのコンストラクタを使います。

 

・パラレル接続

 LCDをパラレル接続で制御するためのLCDオブジェクトを作成するには、LCDの「RS

EN」「D4」「D5」「D6」「D7(D4~D7DB4~DB7と表記される場合もある)を接続するピン番号を指定します。たとえば、7から12ピンをLCDの制御ピンに使うLCDオブジェクトを作成するには、次のように書きます。

new five.LCD({

  // LCDピン名   RS EN D4 D5 D6 D7

  // Arduinoピン  7  8  9 10 11 12

  pins: [7, 8, 9, 10, 11, 12]

});

 

・配線図

2016080813.png 

 16文字×2行LCDモジュール

 

I2C接続

 I2CインターフェイスのLCDを使用する場合は、「controller」プロパティにLCDコントローラの名前を指定します。たとえば、LCDコントローラにPCF8574Aを使用したLCDを制御するLCDオブジェクトを作成するには、次のように書きます。

new five.LCD({

  controller: "PCF8574A"

});

 

・配線図

2016080814.png 

 I2C LCD液晶 モジュール

 

○LCDの行数・列数を指定する

 LCDの行数は「rows」プロパティで指定します。規定値は「2」です。行数は「cols」プロパティで指定します。規定値は「16」です。たとえば、4×20(420)LCDを制御するためのLCDオブジェクトを作成するには、次のように書きます。

  // 4×20LCDオブジェクトを作成

  var lcd = new five.LCD({

              pins: [7, 8, 9, 10, 11, 12],

              rows: 4,

              cols: 20

           });

 

○LCDのバックライトの制御ピンを設定する

 LCDのバックライトの制御ピン(LCDの「A」ピンに接続)を設定するには、「backlight」プロパティを使います。この設定を行うと、コード実行時にバックライトが点灯し、コード終了時(Node.jsのプロセス終了時)にバックライトが消灯します

たとえば、13ピンをバックライトの制御ピンを設定するには、次のように書きます。

  var lcd = new five.LCD({

               pins: [7, 8, 9, 10, 11, 12],

               backlight: 13

             });

 

・配線図

 2016080815.png

 なお、I2CインターフェイスのLCDで「backlight」プロパティを指定すると、コード実行にバックライトが消灯するようです(PCF8574ALCDで確認)

 

○LCDに文字列を表示する

LCDに文字列を表示するには、「print」メソッドを使います。引数には、表示する文字列を指定します。オプションは省略可能です。オプションの詳細については、「useChar」メソッドの項目で解説します。

print(文字列, オプション)

 文字列は、カーソルの位置から表示されます。カーソルの位置を設定するには、「cursor」メソッドを使います。引数には行インデックと列インデックスを指定します。

cursor(行インデックス, 列インデックス)

 行インデックと列インデックスは「0」から始まるため、一般的な行数、列数から1を引いた値になることに注意してください。

たとえば、LCD1行目の5列目から「Hello!」と表示するには、次のように書きます。

  // 15列目にカーソルを移動

  lcd.cursor(0, 4);

  // Hello!」と表示

  lcd.print("Hello!");

 なお、「home」メソッドでカーソルの位置を11列目(0, 0)に移動することができます。

  // 11列目にカーソルを移動

  lcd.home();

  // Hello!」と表示

  lcd.print("Hello!");

 

特殊文字を表示する

 特殊文字を表示するには、まず「useChar」メソッドでLCDキャラクタマップに特殊文字を登録します。「useChar」メソッドの引数には特殊文字の名前を指定します。

useChar(名前)

  登録できる特殊文字は8文字までです。指定できる特殊文字の名前と文字パターンについては、次のWebページの項目を参照してください。

Predefined Characters

 

 次に「print」メソッドの引数に表示する特殊文字の名前を「:」で囲んで指定します。たとえば、ハートマークを表示するには、次のように書きます。

  // 特殊文字のハートマークをLCDキャラクタマップに登録

  lcd.useChar("heart");

  // 11列目にカーソルを移動

  lcd.cursor(0, 0)

  // ハートマークを表示

  lcd.print(":heart:");

 

  lcd.cursor(1, 0)

  // 通常の文字列と組み合わせる場合

  lcd.print("I :heart: Johnny-Five");

});

 

 なお、「print」メソッドのオプションの「dontProcessSpecials」プロパティで特殊文字の処理方法を設定できます。「true」に設定すると、特殊文字が処理されず、文字列がそのまま表示されます。

  // 特殊文字のハートマークをLCDキャラクタマップに登録

  lcd.useChar("heart");

  // 11列目にカーソルを移動

  lcd.cursor(0, 0)

  // ハートマークは表示されず「:heart:」と表示される

  lcd.print(":heart:", { dontProcessSpecials: true });

 

 

○LCDの表示をオン/オフ/クリアする

 LCDの表示をオン(規定)にするには「on」メソッドを、オフにするには「off」メソッドを使います。またLCDの表示をクリアするには、「clear」メソッドを使います。

  // ホーム(11列目)から「Hello!」と表示

  lcd.home().print("Hello!")

  // 5秒後

  this.wait(5000, function(){

    // 表示オフ

    lcd.off();

  });

  // 10秒後

  this.wait(10000, function(){

    // 表示オン

    lcd.on();

  });

  // 15秒後

  this.wait(14000, function(){

    // 表示クリア

    lcd.clear();

  });

 

 

カーソルの点滅を制御する

 カーソルを点滅するには「blink」メソッドを、点滅を停止するには「noBlink」メソッドを使います。

  // ホーム(11列目)にカーソルを移動

  lcd.home();

  // カーソルを点滅

  lcd.blink();

  // Hello!」と表示

  lcd.print("Hello!");

  // 5秒後

  this.wait(5000,function(){

    // カーソルの点滅を停止

    lcd.noBlink();

  });

 

スポンサーサイト

コメント

コメントの投稿

非公開コメント

ads

プロフィール

Author:部員3号
FC2ブログへようこそ!

kindle本

最新コメント

温度計

ads

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。