LCD(液晶ディスプレイ)の使い方 [Arduino]
今回は「16文字2行」(16列2行)の文字列を表示する事が可能な「SC1602BBWB-XA-GB-G」を使用します。このLCDにはVo入力がありますので「コントラスト調整」(文字の濃淡調整)が可能です。また、LEDのバックライト付きで白抜きですので見やすいです。

[実行例1] - 1行(英字)

[実行例2] - 2行で「半角カタカナ」と「英字」を使用

※半固定抵抗器でLCDのコントラストを調整可能です。
使用部品・材料
総額で約1,120円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
LCDキャラクタディスプレイモジュール 16x2行 バックライト付白抜き | ¥800 | 秋月電子の通販コード(P-02919) |
半固定ボリューム 10kΩ [103] | ¥50 | 秋月電子の通販コード(P-08012) |
はんだ付け
このLCDは基盤表の「ソケット(メス)」、基盤裏の「J3」と「R9(100Ω抵抗)」の3箇所を「はんだ付け」する必要があります。
基盤(表)

基盤(裏)

配線図

[LCDの配線]


スケッチ(プログラム)
3秒毎にLCDに表示させる文字列を変更します。
#include <LiquidCrystal.h> // ピン番号を指定してライブラリを初期化する LiquidCrystal lcd( 2,3,4,10,11,12,13 ); void setup() { // LCDの列と行を設定する lcd.begin(16, 2); } void loop() { lcd.clear(); // 1行目 lcd.setCursor(0,0); lcd.print("Hello, world!"); delay(3000); lcd.clear(); // 1行目(半角でプチモンテ) // ※機種によっては半角カナカナは表示されません。 lcd.setCursor(0,0); lcd.print("\314\337\301\323\335\303"); // 2行目 lcd.setCursor(0,1); lcd.print("petitmonte.com"); delay(3000); }
今回のLCDは「Hitachi HD44780互換」ですのでAraduinoの標準ライブラリである「LiquidCrystal」を使用します。(I2C接続のものはI2Cを使用)
接続には「データ信号線」と「制御信号線」(RS/RW/Enable)を使用します。データ信号線は「データ信号線4本線」(d4, d5, d6, d7)、「データ信号8本線」(d0, d1, d2, d3, d4, d5, d6, d7)の2種類があります。
今回は配線が少ない「データ信号4本線」を使用します。詳細はArduino 日本語リファレンスをご覧頂くと理解しやすいと思います。
...
「¥314¥337¥301¥323¥335¥303」は半角カタカナで「プチモンテ」となります。※¥は半角。
16進数 | 8進数 | |
---|---|---|
フ | 0xCC | ¥314 |
。 | 0xDF | ¥337 |
チ | 0xC1 | ¥301 |
モ | 0xD3 | ¥323 |
ン | 0xDD | ¥335 |
テ | 0xC3 | ¥303 |
※詳細はデータシートをご確認ください。
文字が表示されない
LCDの配線が正しいのに文字列が表示されない場合は、半固定抵抗器の「つまみ」を動かして画面のコントラスト調整をします。
それでも、次のような画面でしたら、ソケットのはんだ付けに失敗している可能性があります。

LCD(Hitachi HD44780互換)の見分け方
次は今回のLCDのデータシートです。

このように「RS」「R/W」「Enalble」「DBが4本以上」あれば、互換チップセットだと判別できます。また、コントラスト調整の「Vo」がない機種もあります。
反対に「I2C」や「SDA」「SCL」などが表記されている場合は「I2C接続」ですので、LiquidCrystalクラスは使用できませんので注意して下さい。
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。