목차
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의 밝기를 조절할 수 있습니다.


