STM32と Arduino IDE で
液晶ディスプレイに文字表示(その3)
~LiquidCrystal_I2Cライブラリ使用~


液晶ディスプレイのパラレルポートを使用するとポートが6つ必要になる。使えるポート数を確保したいので I2C モジュールを使ってみた。
I2C モジュールへの配線は電源2本と STM32 のポート SCL・SDA 2本、合計4本だけで、すっきりしたものとなる。
必要なライブラリは https://github.com/marcoschwartz/LiquidCrystal_I2C から ZIP ファイルとしてダウンロードし、Arduino IDE の library ディレクトリの下に解凍して使う。
以下にライブラリ LiquidCrystal_I2C を使ったソースを示す。

#include <LiquidCrystal_I2C.h>
  
// I2Cアドレス:0x27 桁数:1 行数:2
LiquidCrystal_I2C lcd(0x27,16,2);
 
void setup()
{
}
  
void loop()
{
    lcd.init();             // 初期化
    lcd.backlight();        // バックライト
    lcd.setCursor(0,0);     // カーソル位置 桁0,行0
    lcd.print("Hello!");    // "Hello!"表示
    lcd.setCursor(13,0);    // カーソル位置 桁11,行0
    lcd.print("LCD");       // "LCD"表示
    lcd.setCursor(0,1);     // カーソル位置 桁0,行1
    lcd.print("Japan!");    // "Japan!"表示
    lcd.setCursor(9,1);     // カーソル位置 桁11,行1
    lcd.print("I2C Lib");   // "I2C Lib"表示
 
    while(1)
    {
    }
}

コンパイル後の容量は次のとおり。
>最大65536バイトのフラッシュメモリ/スケッチが16808バイト(25%)使用
>最大20480バイトのRAM/グローバル変数が3016バイト(14%)使用

ライブラリ LiquidCrystal を使用したときの容量は次のとおり。
>最大65536バイトのフラッシュメモリ/スケッチが15480バイト(23%)使用
>最大20480バイトのRAM/グローバル変数が2848バイト(13%)使用

メモリの使用量はフラッシュメモリ 1.3kバイト、RAM が 168バイトそれぞれ増えた。
配線を簡素化できるのでメモリの使用量増加は良しとする。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする