GO-AHEADの日記

GO-AHEADで出版した書籍の紹介をします

Re:50歳から始めるArduino UNO-16

Re:50歳から始めるArduino UNO

amazon kindleを出版しました。


 (8)LCD表示器
 キャラクター液晶モジュールを使用してみましょう。I2C通信を行い、初期設定を行った後、文字データの送信を行います。

f:id:GO-AHEAD:20201222103852p:plain

半田付けを行います。プルアップ抵抗が付属しているので、この抵抗も使うように半田付けします。端子の間隔が狭いので注意して半田付けします。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() {

Wire.begin();
LCD_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){}

}

f:id:GO-AHEAD:20201222103921p:plain