목차
WAT- LCD1604 모듈
WAT-LCD1604 모듈은 AVR, PIC, ST 등의 MCU 또는 아두이노에 연결하여 16×4 배열의 캐릭터 LCD 를 쉽게 제어할 수 있는 모듈입니다.
WAT- LCD1604 사진
커넥터 설명
1번의 컨트롤 신호, 2번의 데이터 신호로 Character LCD 모듈을 제어하며 푸쉬 스위치 5개는 데이터 신호의 5개의 pin 을 사용합니다.
CONTROL PORT
(그림에서 1번) 검정색10핀 핀헤더소켓이며 Character LCD용 컨트롤 신호와 푸쉬스위치 신호입니다. WAT-AVR128Plus, WAT-Arduino128 과 호환됩니다.
번호 | 핀명 | 기능 |
---|---|---|
1번핀 | ||
2번핀 | RS | CLCD Data/Instruction |
3번핀 | ||
4번핀 | RW | CLCD Read/Write |
5번핀 | ||
6번핀 | EA | CLCD Enable |
7번핀 | ||
8번핀 | ||
9번핀 | VCC | 전원 ( DC 5V ) |
10번핀 | GND | 그라운드 |
DATA PORT
(그림에서 2번) 검정색10핀 핀헤더소켓이며 Character LCD 용 8비트 데이터 신호입니다. WAT-AVR128Plus, WAT-Arduino128 과 호환됩니다.
번호 | 핀명 | 기능 |
---|---|---|
1번핀 | D0 | DATA (bit 0) |
2번핀 | D1 | DATA (bit 1) |
3번핀 | D2 | DATA (bit 2) |
4번핀 | D3 | DATA (bit 3) |
5번핀 | D4 | DATA (bit 4) |
6번핀 | D5 | DATA (bit 5) |
7번핀 | D6 | DATA (bit 6) |
8번핀 | D7 | DATA (bit 7) |
9번핀 | VCC | 전원 ( DC 5V ) |
10번핀 | GND | 그라운드 |
회로
WAT-Arduino128 예제
부품 목록
부품명 | WAT-CLCD1604 |
|
---|---|---|
기능 | TEXT 출력 | |
수량 | 1 | |
판매처 | https://kit128.com/goods/view?no=168 |
부품명 | WAT-Arduino128 |
|
---|---|---|
기능 | 아두이노 | |
수량 | 1 | |
판매처 | https://kit128.com/goods/view?no=64 |
핀 연결
아래와 같이 WAT-LCD1604와 WAT-Arduino128 핀을 연결합니다.
WAT-CLCD1604핀 | WAT-Arduino128 핀 |
---|---|
Control Port | PORTA |
Data Port | PORTC |
VCC | 5V |
GND | GND |
소스코드
소스코드는 [파일]=>[예제]=>[WhiteAT] =>[WAT_CLCD1604] 에 있습니다. (라이브러리는 https://docs.whiteat.com/?page_id=5449 참조)
/* Character LCD1604 예제 출처: http://whiteat.com/Arduino 보드 . WAT-Arduino128: https://kit128.com/goods/view?no=64 . WAT-CLCD1604:https://kit128.com/goods/view?no=168 연결: . PA ===== CLCD Control . PC ===== CLCD Data 화면에 아래처럼 문자를 출력합니다. "WAT-Arduino CLCD" "0123456789ABCDEF" "HELLO ^_______^ " "KIT128.com " */ #include <WAT_Multi.h> #include <WAT_CLCD.h> WATCLCD clcd = WATCLCD( ); // WAT-CLCD 용 // WATCLCD clcd = WATCLCD( &PORTC,&DDRC ); // 또는 직접 포트 지정 WMulti tLCD = WMulti(1000);// 멀티태스트용 // 프로그램 초기화 void setup() { Serial.begin(115200); // 시리얼 통신 초기화 clcd.Init(); clcd.PutString(0,0, "WAT-Arduino CLCD"); clcd.PutString(0,1, "0123456789ABCDEF"); clcd.PutString(0,2, "HELLO ^_______^ "); clcd.PutString(0,3, "KIT128.com "); } // 계속 실행할 무한 루프 void loop() { TaskLCD(&tLCD); } void TaskLCD(WMulti * _task) { // 1초마다 'A'를 전송 if(!_task->IsMyTurn()) return; Serial.print('A'); }
Troubleshooting
Text 밝기 확인
Text 가 흐리거나 어둡게 나올 경우 가변저항(뒷면 파란색 부품)을 작은 십자 드라이버로 약간 돌려 가면서 Text의 밝기를 조절할 수 있습니다.