Arduino/캐릭터 LCD
입력한 글이 캐릭터 LCD창에서 밑에서 위로 올라가는 것처럼 보이게 하기
DesignatedRoom
2020. 10. 27. 18:25
아래의 serialEvent함수는 Serial.available함수와 같은 역할을 한다.
소스 코드
// 시리얼 창으로 문자열을 입력하면, 캐릭터 LCD창에서는
// 입력한 글이 밑에서 위로 올라가는 것처럼 보이도록 작성해보자.
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop() {
}
// 각 배열의 길이가 16인 이유는
// 캐릭터 LCD는 가로로 16글자를 입력할 수 있기 때문이다.
char buf[16];
char line0[16],line1[16];
int line = 0;
void serialEvent(){
memset(buf,' ',16);
int readCount=Serial.readBytes(buf,16);
lcd.print(buf);
if(line==0){line=1;}
if(line==1){lcd.setCursor(0,1); strcpy(line0,line1);line=2;}
if(line==2){
lcd.setCursor(0,0);lcd.print(line1);
memset(line1,' ',16);
strcpy(line1,buf);
lcd.setCursor(0,1);}
}