본문 바로가기
Study/Arduino

한글 LCD XLINK1602 아두이노에서 사용하기

by Answer Choi 2018. 7. 26.
반응형

Xlink1602 아두이노용 코드



아두이노 라이브러리에서는 CLCD 한글을 공식적으로 지원을 하지는 않습니다.


그리고 CLCD가 5X8이다 보니 한글을 만들기도 힘들구요.


CLCD 글자 만들기


위 링크는 이전에 포스팅한 블로그입니다.


그래서 한글이 지원되는 LCD를 찾았는데 가격은 조금 비쌉니다.



크기는 LC1622과 크기가 같습니다.



dot는 글자당 11X12입니다. 


충분히 한글을 표시할 수 있습니다^^


다만 문제가 드라이버가 직접개발한 XD 1602AD라고 합니다. 


예제를 제공합니다만 Arduino용 라이브러리는 없어서


Arduino에서 사용가능하도록 코드를 손봐야 합니다.


xlink sample code


위 링크는 업체에서 제공하는 샘플코드인데 


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

인기글