목차
특징
WAT-CLCD 모듈은 16 x 2 배열 캐릭터 LCD 를 장착한 모듈로 AVR, ARM7, PIC, 8051 등의 MCU 와 10P Flat 케이블을 연결하여 영문, 한글, 도형, 그림 등을 출력할 수 있는 제품입니다.
- 16×2 Character LCD
- 출력 문자수: 16 x 2
- 전원: 5V
- 크기: 85 mm x 85 mm
- 백라이트 밝기: 가변저항으로 조절 가능
- 백라이트 색상: BLUE, YELLOW 2가지 종류
- 인터페이스: Digital Input/Output
- 푸쉬스위치: 5EA 제공
- ATMEGA128, PIC, ST, Arduino 등 모든 MCU에서 사용 가능
회로
외형
색상
Yellow green | Blue |
---|---|
|
|
커넥터 설명
1번의 컨트롤 신호, 2번의 데이터 신호로 Character LCD 모듈을 제어하며 푸쉬 스위치 5개는 데이터 신호의 5개의 pin 을 사용합니다.
CONTROL PORT
(그림에서 1번) 검정색10핀 핀헤더소켓이며 Character LCD용 컨트롤 신호와 푸쉬스위치 신호입니다. WAT-AVR128Plus, WAT-Arduino128 과 호환됩니다.
번호 | 핀명 | 기능 |
---|---|---|
1번핀 | SW1 | SWITCH 1 |
2번핀 | RS | CLCD Data/Instruction |
3번핀 | SW2 | SWITCH 2 |
4번핀 | RW | CLCD Read/Write |
5번핀 | SW3 | SWITCH 3 |
6번핀 | EA | CLCD Enable |
7번핀 | SW4 | SWITCH 4 |
8번핀 | SW5 | SWITCH 5 |
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 | 그라운드 |
PUSH SWITCH
(그림에서 하단부) 총 5개의 푸쉬 스위치를 제공하며 좌측부터 SW1 입니다.
스위치 번호 | CONTROL PORT의 핀 번호 |
---|---|
SW1 | 1번 핀 |
SW2 | 3번 핀 |
SW3 | 5번 핀 |
SW4 | 7번 핀 |
SW5 | 8번 핀 |
WAT-AVR128 에 연결(ATMEGA128A)
- http://whiteat.com/bPDS_AVR 에 더 많은 예제가 있습니다.
#include <avr/io.h>
#include “WAT128.h”
int main()
{
CLCD_Init(); // LCD 초기화
CLCD_PutChar(‘a’);
CLCD_PutString(1,0,“bcdefghijklmnop”);
CLCD_PutString(0,1,“0123456789ABCDEF”);
while(1){}
}
WAT-Arduino128 에 연결(Arduino)
부품 목록
번호 | 부품명 | 수량 | 기능 | 판매처 |
---|---|---|---|---|
1 | WAT-Arduino128 | 1 | 아두이노 | https://kit128.com/goods/view?no=64 |
2 | WAT-CLCD | 1 | LCD1608 | https://kit128.com/goods/view?no=73 |
WAT-Arduino128 | WAT-CLCD |
---|---|
|
|
소스코드
최신 소스코드는 [파일]=>[예제]=>[WhiteAT] =>[CLCD] 에 있습니다.
/*
Character LCD 예제
출처: http://whiteat.com/Arduino
보드
. WAT-Arduino128: https://kit128.com/goods/view?no=64
. WAT-CLCD:https://kit128.com/goods/view?no=73
연결:
. PA ===== CLCD Control
. PC ===== CLCD Data
화면에 아래처럼 문자를 출력하고,
SW1, SW2, SW3, SW4, SW5 눌림을 출력하는 예
“WAT-Arduino CLCD”
“0123456789ABCDEF”
*/
#include <WAT_Multi.h>
#include <WAT_CLCD.h>
WATCLCD clcd = WATCLCD( ); // WAT-CLCD 용
// WATCLCD clcd = WATCLCD( &PORTC,&DDRC ); // 또는 직접 포트 지정
WMulti tLCD = WMulti(1000);// 멀티태스트용
#define SW1 PA0
#define SW2 PA2
#define SW3 PA4
#define SW4 PA6
#define SW5 PA7
// 프로그램 초기화
void setup()
{
pinMode(SW1,INPUT); digitalWrite(SW1,HIGH);
pinMode(SW2,INPUT);digitalWrite(SW2,HIGH);
pinMode(SW3,INPUT);digitalWrite(SW3,HIGH);
pinMode(SW4,INPUT);digitalWrite(SW4,HIGH);
pinMode(SW5,INPUT);digitalWrite(SW5,HIGH);
Serial.begin(115200); // 시리얼 통신 초기화
clcd.Init();
clcd.PutString(0,0, “WAT-Arduino CLCD”);
}
// 계속 실행할 무한 루프
void loop()
{
TaskLCD(&tLCD);
}
void TaskLCD(WMulti * _task)
{
// 화면 갱신은 실시간
if(digitalRead(SW1) == LOW)
clcd.PutString(0,1,”1111111111111111″);
else if(digitalRead(SW2) == LOW)
clcd.PutString(0,1, “2222222222222222”);
else if(digitalRead(SW3) == LOW)
clcd.PutString(0,1, “3333333333333333”);
else if(digitalRead(SW4) == LOW)
clcd.PutString(0,1, “4444444444444444”);
else if(digitalRead(SW5) == LOW)
clcd.PutString(0,1, “5555555555555555”);
else
clcd.PutString(0,1, “0123456789ABCDEF”);
// 1초마다 ‘A’를 전송
if(!_task->IsMyTurn()) return;
Serial.print(‘A’);
}
제품 구매
WAT-CLCD Yellowgreen1602 는 https://kit128.com/goods/view?no=17 에서
WAT-CLCD Blue1602 는 https://kit128.com/goods/view?no=73 에서
WAT-CLCD1602 + ATMEGA128 set는 https://kit128.com/goods/view?no=47 에서 구매하실 수 있습니다.