반응형
아두이노 라이브러리에서는 CLCD 한글을 공식적으로 지원을 하지는 않습니다.
그리고 CLCD가 5X8이다 보니 한글을 만들기도 힘들구요.
CLCD 글자 만들기
위 링크는 이전에 포스팅한 블로그입니다.
그래서 한글이 지원되는 LCD를 찾았는데 가격은 조금 비쌉니다.
크기는 LC1622과 크기가 같습니다.
dot는 글자당 11X12입니다.
충분히 한글을 표시할 수 있습니다^^
다만 문제가 드라이버가 직접개발한 XD 1602AD라고 합니다.
예제를 제공합니다만 Arduino용 라이브러리는 없어서
Arduino에서 사용가능하도록 코드를 손봐야 합니다.
위 링크는 업체에서 제공하는 샘플코드인데
iar, winavr, codevision용으로 제공합니다.
그래서 Arduino로 코드를 옮기기 시작했습니다.
1 2 3 4 5 6 7 8 9 10 11 | #define CLCD_RS 13 // CLCD RS 제어 신호 #define CLCD_RW 12 // CLCD EN 제어 신호 #define CLCD_EN 11 // CLCD RS 제어 신호 #define CLCD_DB0 10 #define CLCD_DB1 9 #define CLCD_DB2 8 #define CLCD_DB3 7 #define CLCD_DB4 6 #define CLCD_DB5 5 #define CLCD_DB6 4 #define CLCD_DB7 3 | cs |
핀설정은 위와 같이 하였습니다.
필요없는 코드는 제거하고, 실행했는데 한글이 나오지 않네요 ㅠ
계속된 디버깅을 하면서 알아본 결과...
Arduino는 한글을 UTF-8로 인코딩하는데,
XLink1602는 ksc5601로 인식해서 Display 합니다.;;
그리하여 성신여대 심광섭교수님 홈페이지에서 KSC코드를 이용하였습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | void ex1(){ print_x_y_ksc(10,0,0xbec8);//안 print_ksc(0xb3e7);//녕 print_x_y_ksc(16,0,0xc7cf);// 하 print_ksc(0xbcbc); // 세 print_ksc(0xbfe4);// 요 print_x_y_ksc(10,1,0xbed8); // 앤 print_ksc(0xbde1); // 써 print_x_y_ksc(16,1,0xc0d4); // 입 print_ksc(0xb4cf);// 니 print_ksc(0xb4d9); // 다 } | cs |
위 코드의 0xXXXX이 ksc 한글코드이고 뒤의 주석이 해당되는 한글입니다.
print_x_y_ksc는 기존 lcd_printxy_str을 수정한 것입니다.
띄워보니 잘 나옵니다.
숫자도 따로 함수를 만들어서 띄워 보았습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | void ex2(){ print_x_y_ksc(14,0,0xbfc0); // 오 print_ksc(0xb4c3); // 늘 print_ksc(0xc0ba);// 은 lcd_xy(4,1); print_numbers(2018); print_ksc(0xb3e2); // 년 print_numbers(7); print_ksc(0xbff9);// 월 print_numbers(26); print_ksc(0xc0cf); // 일 print_ksc(0xc0d4); // 입 print_ksc(0xb4cf);// 니 print_ksc(0xb4d9); // 다 } | cs |
수정한 예제코드는 제일 위에 링크되어 있습니다.
ex1이나 ex2가 loop로 나오게 되어있습니다.
수정해서 사용하시면 됩니다.
반응형
'Study > Arduino' 카테고리의 다른 글
arduino에서 CT로 전류값 읽기 (2) | 2019.03.06 |
---|---|
4-20mA 센서 Arduino에서 읽기(진동센서) (12) | 2018.09.03 |
Arduino bootloader 올리기 (20) | 2018.07.20 |
SD card와 Level shifter (0) | 2018.07.17 |
CLCD 글자 만들기 (0) | 2018.07.13 |