なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

ArduinoでキャラクタLCDに文字を表示させる

Posted by arms22 on 2013年02月27日 6  0

IMGP7702

Arduino IDE標準のLiquidCrystalライブラリを使ってLCDを制御する方法を解説します。このライブラリは日立のHD44780ドライバと互換性のあるLCDを制御することができます。電子部品屋さんでよく見かけるほとんどのLCDはHD44780ドライバ互換なので、このライブラリが使えます。


Arduinoに接続する



今回、秋月電子の超小型LCDキャラクタモジュールを使いました。このLCDはピン配置が変則的で「14,13,12…3,2,1,16,15」と並んでいます。データシートをよく確認して間違えないよう接続してください。

可変抵抗はLCDのコントラストを調整する為に使います。可変抵抗の真ん中のピンをLCDのVOピンに接続します。LCDに何も文字が表示されない場合は抵抗の値を調整してください。

Arduino-LCD

LCD vs Arduino
RS - ピン2
RW - GND
E - ピン3
DB4 - ピン4
DB5 - ピン5
DB6 - ピン6
DB7 - ピン7

RWピンは読み込みモードと書き込みモードを切り替えます。LCDからデータやレジスタ値を読み出す場合に使用しますが滅多に使いません。GNDに接続しておくと書き込みモードになります。

LCDにはRS,E,RW,D4〜D7の7ピンを使う4ビットモードとRS,E,RW,D0〜D7の11ピンを使う8ビットモードの2つのモードがあります。8ビットモードは4ビットモードに比べてデータ転送速度が倍になります。しかし低速なマイコンでは転送速度を上げてもあまりメリットがありません。4ビットモードを使った方が使用するピン数が減らせてワイヤリングの手間も省けるので良いでしょう。


LCDシールドキットを使う


ワイヤリングが面倒になったらLCDシールドキットを使うことをおススメします。ちょっとした文字の表示やデバッグ作業に便利なシールドです。

IMGP7705

スイッチサイエンス - LCDシールドキット
http://www.switch-science.com/products/detail.php?product_id=724


ライブラリのインポート


Arduino IDE標準のLiquidCrystalライブラリを使います。ファイルメニューから"スケッチ→ライブラリを使用→LiquidCrystal"を選ぶと自動的にインポートされます。

Arduino - LiquidCrystal Library
http://arduino.cc/en/Reference/LiquidCrystal


サンプルスケッチ


文字と数値を表示するサンプルです。begin()でキャラクタLCDの文字数と行数を指定します。print()で文字・数値を表示します。改行は無視されるので、2行目に文字を表示したい場合はsetCursor()でカーソル位置を設定します。

#include <LiquidCrystal.h>

// 接続ピンをして指定してライブラリを初期化
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

//LCDシールドキット
//LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // 行と列を設定
  lcd.begin(16, 2);
  // メッセージを表示
  lcd.print("Hello, Arduino!");
  // 3秒待つ
  delay(3000);
}

void loop() {
  // カーソル位置を2行目に設定
  lcd.setCursor(0, 1);
  // リセットしてからの秒数を表示
  lcd.print((float)millis() / 1000.0, 1);
  // 100ms待つ
  delay(100);
}



LCDシールドキット(青)
LCDシールドキット(青)
posted with amazlet at 13.02.22
スイッチサイエンス
売り上げランキング: 10,427


Arduinoでガジェットを作ろう!―たのしい電子工作
高橋 隆雄
秀和システム
売り上げランキング: 54,023


たのしい電子工作 Arduinoで電子工作をはじめよう!
高橋 隆雄
秀和システム
売り上げランキング: 12,603

Ads by Google

6 Comments

鹿煎餅 says..."No title"
お世話になります。Arduinoを使用して工作をされた際に回路図をのせておられますが、その際に使用されていますソフト名を教えていただけないでしょうか。よろしくお願いいたします。
2013.02.27 22:09 | URL | #xfWPEvlw [edit]
arms22 says..."Re: No title"
おもにEAGLEを使っています。

http://www.cadsoftusa.com/

イラストっぽいのはFritzingを使っています。
ブレッドボードで遊ぶかんかくで使えます。
マウスでワイヤリングは大変ですが。。

http://fritzing.org/
2013.02.27 22:42 | URL | #- [edit]
鹿煎餅 says..."No title"
ご回答ありがとうございました。
2013.02.27 23:32 | URL | #xfWPEvlw [edit]
says..."管理人のみ閲覧できます"
このコメントは管理人のみ閲覧できます
2013.09.20 05:37 | | # [edit]
arms22 says..."Re: グラフィック有機ELモジュール"
ハードウェアとしてはキャラクタLCDと互換性があるようです。
コマンド体系も同じみたいですね。
キャラクタLCDコマンドの空いている分を拡張してグラフィック制御に割り当ててますね。
グラフィック制御にあたる部分を実装するか、このモジュールに対応したライブラリを探してみてください。
2013.09.24 20:58 | URL | #- [edit]
edy says..."No title"
こんんちは、edyと申します。
記事を参考にさせていただき、無事LCDシールドが動き出しました。
ありがとうございます。
2014.12.31 15:10 | URL | #- [edit]

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。