Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| faduino:faduino:clcdwithfaduino:index [2026/02/09 16:47] – admin | faduino:faduino:clcdwithfaduino:index [2026/02/20 15:34] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== CLCD와 연결 ====== | ====== CLCD와 연결 ====== | ||
| - | ===== FADUINO | + | CLCD(Character LCD)는 문자 기반 정보를 표시할 수 있는 LCD 모듈로, |
| + | FADUINO와 연결하여 **상태 표시, 카운터 출력, 간단한 메시지 표시** 등에 사용됩니다. | ||
| - | CLCD는 FADUINO와 연결할 수 있는 캐릭터 LCD 모듈입니다. | + | CLCD는 |
| + | FADUINO가 전송하는 **시리얼 또는 I2C 명령에 따라 화면을 표시**하는 구조입니다. | ||
| + | |||
| + | FADUINO 모델에 따라 CLCD와의 **연결 | ||
| + | 아래에서 해당 모델에 맞는 방법을 선택하여 사용하시기 바랍니다. | ||
| + | |||
| + | ===== FADUINO-18TA 용 ===== | ||
| + | |||
| + | FADUINO-18TA는 Arduino UNO 기반 | ||
| + | CLCD를 **시리얼 포트(채널 0)** 를 통해 제어합니다. | ||
| + | |||
| + | 이 시리얼 포트는 업로드 포트와 겸용이므로, | ||
| + | 프로그램 업로드가 완료된 후 CLCD와 통신이 가능합니다. | ||
| {{ : | {{ : | ||
| Line 9: | Line 22: | ||
| {{ : | {{ : | ||
| - | 아래의 소스는 FADUINO-18TA용 으로 보드설정을 Arduino UNO 로 해야 | + | 아래 |
| + | 본 예제를 통해 다음 사항을 확인할 수 있습니다. | ||
| + | |||
| + | * CLCD 결선 상태가 정상인지 | ||
| + | * 시리얼 통신이 정상적으로 | ||
| + | * 문자 위치 지정(locate)이 정상 동작하는지 | ||
| + | |||
| + | 보드 설정은 반드시 **Arduino UNO** 로 선택해야 | ||
| + | |||
| + | ++++ [소스코드 보기]| | ||
| <code c> | <code c> | ||
| void setup() | void setup() | ||
| { | { | ||
| - | | + | |
| | | ||
| | | ||
| Line 21: | Line 43: | ||
| | | ||
| } | } | ||
| + | |||
| int cnt = 0; | int cnt = 0; | ||
| + | |||
| void loop() | void loop() | ||
| { | { | ||
| Line 30: | Line 54: | ||
| locate(13, | locate(13, | ||
| Serial.print(cnt, | Serial.print(cnt, | ||
| - | | ||
| } | } | ||
| - | + | ||
| //전체 화면을 지웁니다. | //전체 화면을 지웁니다. | ||
| - | |||
| void clear() | void clear() | ||
| { | { | ||
| - | | + | |
| - | + | } | |
| //표시될 문자의 x축과 y축의 위치를 설정합니다 | //표시될 문자의 x축과 y축의 위치를 설정합니다 | ||
| - | |||
| void locate(unsigned char x, unsigned char y) | void locate(unsigned char x, unsigned char y) | ||
| { | { | ||
| - | | + | |
| + | Serial.write(0x4C); | ||
| + | Serial.write(x); | ||
| + | Serial.write(y); | ||
| } | } | ||
| </ | </ | ||
| + | ++++ | ||
| - | ===== FADUINO-12RA, 24RA 용 소스 | + | ===== FADUINO-12RA |
| - | 아래의 소스는 | + | FADUINO-12RA |
| + | CLCD를 **RS232C(채널 1)** 를 통해 연결합니다. | ||
| - | RS232를 이용해서 CLCD와 연결합니다. 다음 결선도를 보고 연결하십시오. | + | 이 경우 |
| - | 이때 CLCD모듈의 | + | 보레이트를 |
| - | 십시오. | + | |
| {{ : | {{ : | ||
| + | 아래 예제는 CLCD 기본 출력 동작을 확인하기 위한 샘플입니다. | ||
| + | ++++ [소스코드 보기]| | ||
| <code c> | <code c> | ||
| void setup() | void setup() | ||
| Line 75: | Line 103: | ||
| //전체 화면을 지웁니다. | //전체 화면을 지웁니다. | ||
| - | |||
| void clear() | void clear() | ||
| { | { | ||
| - | | + | |
| - | + | Serial1.write(0x43); | |
| - | //표시될 문자의 x축과 y축의 위치를 설정합니다 | + | } |
| + | //표시될 문자의 x축과 y축의 위치를 설정합니다 | ||
| void locate(unsigned char x, unsigned char y) | void locate(unsigned char x, unsigned char y) | ||
| { | { | ||
| - | | + | |
| + | Serial1.write(0x4C); | ||
| + | Serial1.write(x); | ||
| + | Serial1.write(y); | ||
| } | } | ||
| </ | </ | ||
| + | ++++ | ||
| + | ===== FADUINO-32TA 용 ===== | ||
| - | ===== FADUINO-32TA 용 소스 ===== | + | FADUINO-32TA는 CLCD 전용 **I2C 연결 포트**를 제공합니다. |
| + | 이 방식은 시리얼 방식보다 배선이 간단하며, | ||
| - | FADUINO-32TA는 CLCD전용 연결포트인 I2C포트가 있습니다. 다음 결선도를 보고 연결하십시오. | + | CLCD 모듈의 |
| - | 이때 | + | I2C 슬레이브 |
| {{ : | {{ : | ||
| - | 다음 소스로 | + | 아래 예제는 I2C를 이용하여 |
| + | ++++ [소스코드 보기]| | ||
| <code c> | <code c> | ||
| # | # | ||
| # | # | ||
| + | |||
| unsigned char | unsigned char | ||
| unsigned char | unsigned char | ||
| + | |||
| void clcd_clear | void clcd_clear | ||
| void clcd_cursor_visible | void clcd_cursor_visible | ||
| Line 110: | Line 145: | ||
| void clcd_print | void clcd_print | ||
| void clcd_locate | void clcd_locate | ||
| + | |||
| void setup() { | void setup() { | ||
| Wire.begin(); | Wire.begin(); | ||
| Line 122: | Line 157: | ||
| clcd_print(" | clcd_print(" | ||
| } | } | ||
| + | |||
| void loop() { | void loop() { | ||
| } | } | ||
| + | |||
| void clcd_clear(){ | void clcd_clear(){ | ||
| unsigned char tmp_buf[] = {0x1b, | unsigned char tmp_buf[] = {0x1b, | ||
| Line 133: | Line 168: | ||
| delay(200); | delay(200); | ||
| } | } | ||
| + | |||
| void clcd_cursor_visible(bool enable){ | void clcd_cursor_visible(bool enable){ | ||
| unsigned char tmp_buf[] = {0x1b, | unsigned char tmp_buf[] = {0x1b, | ||
| Line 146: | Line 181: | ||
| Wire.endTransmission(); | Wire.endTransmission(); | ||
| } | } | ||
| + | |||
| void clcd_locate(unsigned char x, unsigned char y){ | void clcd_locate(unsigned char x, unsigned char y){ | ||
| locate_x = x; | locate_x = x; | ||
| locate_y = y; | locate_y = y; | ||
| } | } | ||
| + | |||
| void clcd_print(String value){ | void clcd_print(String value){ | ||
| unsigned char tmp_buf[] = {0x1b, | unsigned char tmp_buf[] = {0x1b, | ||
| Line 160: | Line 195: | ||
| Wire.endTransmission(); | Wire.endTransmission(); | ||
| } | } | ||
| - | |||
| </ | </ | ||
| + | ++++ | ||
| + | |||
| + | 이 예제는 다음 사항을 확인하기 위한 용도로 사용됩니다. | ||
| + | |||
| + | * I2C 통신이 정상적으로 이루어지는지 | ||
| + | * CLCD 백라이트 및 커서 제어가 가능한지 | ||
| + | * 문자 위치 지정 및 출력이 정상인지 | ||
| ===== 기술지원 정책 ====== | ===== 기술지원 정책 ====== | ||
| - | 당사에서는 고객께서 작성하신 사용자 소스에 대한 분석 및 수정 서비스는 제공하지 않고 있음을 양해 부탁드립니다. | + | |
| - | 기술지원은 당사에서 제공한 하드웨어와 관련된 | + | 당사에서는 고객께서 작성하신 사용자 소스에 대한 분석 및 수정 서비스는 제공하지 않고 있음을 양해 부탁드립니다. |
| + | 기술지원은 당사에서 제공한 하드웨어 사양, 결선 방법, 정상 동작 여부에 한하여 지원이 가능합니다. 감사합니다. | ||
| 본 샘플 소스는 사전에 정상 동작이 확인된 예제입니다. | 본 샘플 소스는 사전에 정상 동작이 확인된 예제입니다. | ||
| [[..: | [[..: | ||
