LCD搭載Arduino互換機作成 ― 2012/12/11 21:54
小型LCD搭載のArduino互換機を、ユニバーサル基盤で作った。
LCDは、8×2行キャラクタ表示液晶モジュール ACM0802C-NLW-BBH。
HD44780コンパチブルタイプなので、LiquidCrystalライブラリ使って簡単に表示できる。
ピン配置は下記のようになっている。
1ピン - GND
2ピン - VCC
3ピン - V0
4ピン - RS
5ピン - R/W
6ピン - E
7ピン - DB0
8ピン - DB1
9ピン - DB2
10ピン - DB3
11ピン - DB4
12ピン - DB5
13ピン - DB6
14ピン - DB7
今持ってる他のLCDと、1ピン、2ピンが逆なので注意が必要だ。
Arduinoとの接続は、4ピンモードで行う。
(自作機) (LCD)
GND - 1ピン(GND)
VCC - 2ピン(VCC)
D5 - 4ピン(RS)
D6 - 6ピン(E)
D9 - 11ピン(DB4)
D10 - 12ピン(DB5)
D11 - 13ピン(DB6)
D12 - 14ピン(DB7)
LCDの3ピン(V0)には、可変抵抗を接続してコントラストの調整を行えるようにする。
そして互換機の制作。
マイコンはATmega328Pを使い、16MHzのクリスタルで駆動させる。
ブートローダはOptibootにしたので、Uno互換機になった。
下記のようなスケッチをコンパイルして書込み。
#include <Arduino.h>
#include <LiquidCrystal.h>
// instanciate the library and pass pins for (RS, Enable, D4, D5, D6, D7)
LiquidCrystal lcd(5,6,9,10,11,12);
void setup(){
lcd.begin(8,2);
lcd.clear();
}
void loop(){
int i,t;
for(i=16;i>0;i--){
lcd.setCursor(0,0);
for(t=0;t<i;t++) lcd.print(" ");
lcd.print("Arduino");
delay(200);
}
for(i=5;i>0;i--){
lcd.setCursor(0,1);
lcd.print(" by T.S");
#include <LiquidCrystal.h>
// instanciate the library and pass pins for (RS, Enable, D4, D5, D6, D7)
LiquidCrystal lcd(5,6,9,10,11,12);
void setup(){
lcd.begin(8,2);
lcd.clear();
}
void loop(){
int i,t;
for(i=16;i>0;i--){
lcd.setCursor(0,0);
for(t=0;t<i;t++) lcd.print(" ");
lcd.print("Arduino");
delay(200);
}
for(i=5;i>0;i--){
lcd.setCursor(0,1);
lcd.print(" by T.S");
delay(1000);
lcd.setCursor(0,1);
lcd.print(" ");
delay(300);
}
}
lcd.setCursor(0,1);
lcd.print(" ");
delay(300);
}
}
LCDを接続して電源を入れたが・・・■■■■■■■■って表示されるだけ。
配線ミスを疑ってテスター当ててみたけど正常。
実は当初外付けクリスタル付けてなかったから、それを疑ってクリスタル点けたけど変化なし・・・
途方にくれながらネットで情報探してみたら、このLCDはR/W端子に信号を入れてやらないと駄目と書いてある。
そこでR/W端子をGNDに繋いでやったら、あっさり表示してくれた。
最終的なLCDとの接続はこんな感じ。
(自作機) (LCD)
GND - 1ピン(GND)
VCC - 2ピン(VCC)
D5 - 4ピン(RS)
GND - 5ピン(R/W)
D6 - 6ピン(E)
D9 - 11ピン(DB4)
D10 - 12ピン(DB5)
D11 - 13ピン(DB6)
D12 - 14ピン(DB7)
(LCDの3ピン(V0)に、可変抵抗を接続)
これを作った後で知ったけど、ストロベリーリナックスでもっと小さいLCDが買えるようだ。
I2C液晶だし、端子ピッチが狭いから苦労しそうだけど、これも試してみたいな。
コメント
トラックバック
このエントリのトラックバックURL: http://roadster.asablo.jp/blog/2012/12/11/6657661/tb
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。