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 | VO | Power 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 | DB5 | H/L Data Bit 5 |
13 | DB6 | H/L Data Bit 6 |
14 | DB7 | 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 | VO | Power 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 | DB5 | H/L Data Bit 5 |
13 | DB6 | H/L Data Bit 6 |
14 | DB7 | H/L Data Bit 7 |
15 | A | 3.2V LED Power Supply (+) |
16 | K | 0V 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