HD44780/SC1602互換キャラクター液晶の使い方

HD44780/SC1602互換キャラクター液晶を直接Arduinoにつないで使う場合のメモ

HD44780/SC1602互換キャラクター液晶では「LiquidCrystal.h」を使うのが定番のようだ。ソースコードはテックランドを参考とした。
http://www.techand.jp/WK/Arduino/KWB-002/LCD.html

#include <LiquidCrystal.h>

//順にRS,RW,E,DB4,DB5,DB6,DB7
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
  // LCDにオープニングメッセージを表示する
  lcd.begin(2,16)           // IDE 0017のときのみ必要
  lcd.clear();              // LCD表示をクリア
  lcd.print("hello world"); // 1行目にメッセージを表示
  lcd.setCursor(3,1);       // カーソルを2行目3カラム目にセット
  lcd.print("I'm Arduino"); // 2行目にメッセージを表示
  delay(500);               // 500ミリ秒プログラムを一時停止する
                            // つまり0.5秒の間表示されている
}

void loop()
{
  // LCDが持っているすべての文字パターン(20H-FFH)を表示する
  short c=0;                // 文字コード用の変数定義
  int   i=0;                // 表示カラム位置用の変数定義
  
  for (c=0x20;c<=0xff;++c)    // 有効な文字コード(20H-FFH)を順次表示するループ 
  {
     lcd.setCursor(i%16,1); // 表示位置を2行目のiカラムにセット
     lcd.write(c);          // 1文字表示
     delay(100);            // 100ミリ秒表示する
     ++i;                   // 表示カラム位置を更新 
  }
}

TOSHIBA TLC-2491-10N
バックライトは搭載されていない。

Pin No. Pin Out Level Description
1 VSS 0V Power Supply Ground
2 VDD 5V Power Supply Voltage
3 VOPower Supply Voltage For LCD
4 RS H/L Register Select
5 R/W H/L Read / Write
6 E H,H→L Enable Signal
7 DB0 H/L Data Bit 0
8 DB1 H/L Data Bit 1
9 DB2 H/L Data Bit 2
10 DB3 H/L Data Bit 3
11 DB4 H/L Data Bit 4
12 DB5H/L Data Bit 5
13 DB6 H/L Data Bit 6
14DB7 H/L Data Bit 7

SD1602HULB-XA-G-R(SD1602H1 REV.0)
15番、16番ピンによりバックライトが点灯できる。
超小型LCDキャラクタディスプレイモジュール(16×2行 白抜き)
https://akizukidenshi.com/catalog/g/gP-02985/

Pin No. Pin Out Level Description
1 VSS 0V Power Supply Ground
2 VDD 5V Power Supply Voltage
3 VOPower Supply Voltage For LCD
4 RS H/L Register Select
5 R/W H/L Read / Write
6 E H,H→L Enable Signal
7 DB0 H/L Data Bit 0
8 DB1 H/L Data Bit 1
9 DB2 H/L Data Bit 2
10 DB3 H/L Data Bit 3
11 DB4 H/L Data Bit 4
12 DB5H/L Data Bit 5
13 DB6 H/L Data Bit 6
14DB7 H/L Data Bit 7
15 A3.2V LED Power Supply (+)
16K0V LED Power Supply (-)

DigiTron SC162A REV3.2
上記と同じくバックライト付きの製品(ピンアサインは省略する)

課題:
肝心な部分はほぼLiquidCrystal.hに頼っているため、初期化手順等、肝心なことがよくわかってない。
DB0~BD3ピンが接続されなくても動いているのも謎である(これはおそらくLiquidCrystal.hが4ビットモードで動いているためDB4~DB7の接続だけで済んでいるのだと思うが)。

参考サイト:
LCDモジュール SC162シリーズ
http://jsdiy.web.fc2.com/lcd_sc162c/
テックハンド 電子工作
http://www.techand.jp/WK/Arduino/KWB-002/LCD.html