Re:50歳から始めるArduino UNO-16
Re:50歳から始めるArduino UNO
amazon kindle版を出版しました。
(8)LCD表示器
キャラクター液晶モジュールを使用してみましょう。I2C通信を行い、初期設定を行った後、文字データの送信を行います。
半田付けを行います。プルアップ抵抗が付属しているので、この抵抗も使うように半田付けします。端子の間隔が狭いので注意して半田付けします。ASCIIコードと同じところの0x20~0x7Dまでは同じですが、アイウエオなどの日本特有の文字は直接指定する必要があります。
#include <Wire.h>
#define LCD_ADRS 0x3E
char text1="Hello World";
int text2={0xB1,0xB2,0xB3,0xB4,0xB5,0xA0, 0xB6,0xB7,0xB8,0xB9,0xBA};//"アイウエオ カキクケコ";
//LCDの初期設定
void LCD_setup(){
delay(100);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x38);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x39);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x14);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x73);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x56);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x6C);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x38);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x01);
Wire.endTransmission();
delay(20);
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x0C);
Wire.endTransmission();
delay(20);
}
void setup() {
void loop() {
int i;
for(i=0;i<11;i++){
Wire.beginTransmission(0x3E);
Wire.write(0x40);
Wire.write(byte(text1[i]));
Wire.endTransmission();
delay(1);
}
Wire.beginTransmission(0x3E);
Wire.write(0x00);
Wire.write(0x40+0x80);
Wire.endTransmission();
delay(10);
for(i=0;i<11;i++){
Wire.beginTransmission(0x3E);
Wire.write(0x40);
Wire.write(byte(text2[i]));
Wire.endTransmission();
delay(1);
}
while(1){}
}