====== CLCD와 연결 ======
===== FA-DUINO 18TA 용 소스 =====
CLCD는 FA-DUINO와 연결할 수 있는 캐릭터 LCD 모듈입니다.
{{ :faduino:clcd와_연결:clcd.png?nolink |}}
{{ :faduino:clcd와_연결:clcd_faduino18ta.mp4?700x400 |}}
아래의 소스는 FA-DUINO-18TA용 으로 보드설정을 Arduino UNO 로 해야 동작됩니다.
void setup()
{
Serial.begin(115200); //채널0, 보레이트 115200 설정 (채널0는 업로드포트와 겸용)
clear(); //전체 화면을 지움
delay(20);
locate(1,0);
Serial.print("=== CLCD_TEST ===");delay(100);
locate(2,1);
Serial.print(" FA-DUINO-18TA "); delay(100);
}
int cnt = 0;
void loop()
{
cnt++;
delay(1000);
locate(4,3);
Serial.print("COUNTER:"); delay(100);
locate(13,3);
Serial.print(cnt, DEC); delay(100);
}
//전체 화면을 지웁니다.
void clear()
{
Serial.write(0x1b); Serial.write(0x43); }
//표시될 문자의 x축과 y축의 위치를 설정합니다
void locate(unsigned char x, unsigned char y)
{
Serial.write(0x1b);Serial.write(0x4C);Serial.write(x); Serial.write(y);
}
===== FA-DUINO-12RA, 24RA 용 소스 =====
아래의 소스는 FA-DUINO-12RA,-24RA용 으로 보드설정을 Arduino Mega 로 해야 동작됩니다.
RS232를 이용해서 CLCD와 연결합니다. 다음 결선도를 보고 연결하십시오.
이때 CLCD모듈의 딥스위치를 모두 ON 위치로 하여, 보레이트를 115200 으로 맞추어주
십시오.
{{ :faduino:clcd와_연결:clcd_back.png?nolink |}}
void setup()
{
Serial1.begin(115200); //채널1 보레이트 115200 설정
clear(); //전체 화면을 지움
delay(20);
locate(0,0);
Serial1.print("=== CLCD_TEST ===");delay(100);
locate(2,1);
Serial1.print(" FA-DUINO-12RA "); delay(100);
}
void loop()
{
}
//전체 화면을 지웁니다.
void clear()
{
Serial1.write(0x1b); Serial1.write(0x43); }
//표시될 문자의 x축과 y축의 위치를 설정합니다
void locate(unsigned char x, unsigned char y)
{
Serial1.write(0x1b);Serial1.write(0x4C);Serial1.write(x); Serial1.write(y);
}
===== FA-DUINO-32TA 용 소스 =====
FA-DUINO-32TA는 CLCD전용 연결포트인 I2C포트가 있습니다. 다음 결선도를 보고 연결하십시오.
이때 CLCD모듈의 딥스위치를 모두 OFF 위치로 하여, 슬레이브 어드레스를 0으로 맞추어주 십시오.
{{ :faduino:clcd와_연결:clcd2.png?nolink |}}
다음 소스로 CLCD에 문자를 표시할 수 있습니다.
#include
#define ADDR_CLCD 0
unsigned char locate_x;
unsigned char locate_y;
void clcd_clear ();
void clcd_cursor_visible (bool enable);
void clcd_backLight_enable (bool enable);
void clcd_print (String value);
void clcd_locate (unsigned char x, unsigned char y);
void setup() {
Wire.begin(); // 마스터모드로 동작
Wire.setClock(500000); // 500 kHz.
clcd_clear(); // 화면 전채를 지움
clcd_cursor_visible(false); // 커서 설정
clcd_backLight_enable(true); // 백라이트 설정
clcd_locate(0,4); // 문자 표시 위치
clcd_print("COMFILE_TECH"); // 문자 표시
clcd_locate(2,5);
clcd_print("0123456789");
}
void loop() {
}
void clcd_clear(){
unsigned char tmp_buf[] = {0x1b,0x43};
Wire.beginTransmission(ADDR_CLCD);
Wire.write(tmp_buf,2);
Wire.endTransmission();
delay(200);
}
void clcd_cursor_visible(bool enable){
unsigned char tmp_buf[] = {0x1b,enable == true ? 0x53 : 0x73};
Wire.beginTransmission(ADDR_CLCD);
Wire.write(tmp_buf,2);
Wire.endTransmission();
}
void clcd_backLight_enable(bool enable){
unsigned char tmp_buf[] = {0x1b,enable == true ? 0x42 : 0x62};
Wire.beginTransmission(ADDR_CLCD);
Wire.write(tmp_buf,2);
Wire.endTransmission();
}
void clcd_locate(unsigned char x, unsigned char y){
locate_x = x;
locate_y = y;
}
void clcd_print(String value){
unsigned char tmp_buf[] = {0x1b,0x4b,locate_y,locate_x,locate_y,locate_x};
Wire.beginTransmission(ADDR_CLCD);
Wire.write(tmp_buf,6);
Wire.write(value.c_str());
Wire.write(0);
Wire.endTransmission();
}
===== 기술지원 정책 ======
저희 회사에서는 유저가 작성하신 소스를 분석/수정해드리는 업무를 하고 있지 않은점 양해바랍니다. 본 제품은 저희가 제작한 하드웨어와 관련된 기술지원만 가능합니다. 감사합니다.
본 샘플 소스는 사전에 동작이 확인된 소스입니다.
[[faduino:index#예제_프로그램|상위 페이지로 이동]]