안녕하세요 디바이스마트 입니다.
이번 시간엔 WKEIT 아두이노 LCD 키패드 쉴드 사용법에 대해
알아보도록 하겠습니다 !!
"
LCD 란?
"
LCD(Liquid Crystal Display)는 ‘액정’을 핵심 소재로
한 평판 디스플레이입니다.
LCD 키패드 쉴드를 사용하면 아두이노를 통해
자신이 원하는 텍스트나, 센서 값을 LCD로 출력할 수 가 있습니다.
더해서 + 쉴드 형식이라 복잡한 회로를 구성 할 필요 없이
작동이 가능한데요 !!
그럼 이 편리한 WKEIT 아두이노 LCD 키패드 쉴드를 통해
LCD 키패드 사용법에 대해 알아보는 시간 갖도록 하겠습니다 ~~~!!
△ WEKIT 아두이노 LCD 1602 키패드 실드 △
[WK-ADB-M007]
< 아두이노와 LCD 키패드 결합 방법 >
위 사진과 같이 LCD 패드를 핀에 맟 춰서 결합하면 끝!! 입니다.
또한 WEKIT LCD 키패드 쉴드는 후면에 핀 배치도가 상세히
작성되어 있어 정말 편합니다 .. 또한 버튼에 대한 정보도 A0 을 통해 확인할 수 있습니다 !
그래도 다시 한번 보기 쉽게 핀 배치도와 버튼에 따른 A0 값을
표로 정리해보았습니다 !!
↓
<아두이노와 LCD 키패드 핀 배치도>
<LCD 키패드 버튼 AO 값>
그럼 지금부터 위 정보를 통해 LCD 키패드에 기본적인 동작 방법과
버튼 사용법에 대해 알아보겠습니다. . !
아두이노 우노와 쉴드 사용법을 모를 경우 !
[아두이노 우노와 센서 쉴드 사용법]
🔼클릭🔼
1. 회로도 & 배선도
회로 구성은 따로 하실 필요 없이 아두이노 우노와 LCD 키패드를 결합
시킨 뒤 USB 케이블을 통해 PC/노트북에 연결해 주시면 됩니다.
2. 코드 예제
(LCD 키패드 예제 코드)
// LCD 키패드 버튼 예제 (https://www.devicemart.co.k)
#include <LiquidCrystal.h>
#define RS_PIN 8
#define EN_PIN 9
LiquidCrystal lcd(RS_PIN, EN_PIN, 4, 5, 6, 7);
int lcd_key = 0; // 버튼 판단 텍스트
int adc_key_in = 0; // A0 변수
int counter = 0; // 숫자 증감을 위한 변수
int cur = 0; // cursor 위치값 변수
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnNONE 5
int read_LCD_buttons() {
adc_key_in = analogRead(0);
if (adc_key_in > 1000 ) return btnNONE; // 모니터링 값 : 1023
if (adc_key_in > 774 ) return btnRIGHT; // 모니터링 값 : 775~776
if (adc_key_in < 10) return btnUP; // 모니터링 값 : 0
if (adc_key_in > 500) return btnLEFT; // 모니터링 값 : 503~504
if (adc_key_in > 200) return btnDOWN; // 모니터링 값 : 218~219
return btnNONE;
}
void setup()
{
lcd.begin(16, 2); // LCD 초기화
lcd.setCursor(0,0); // LCD 첫 줄에 출력
lcd.print("Devicemart"); // LCD 텍스트 출력하기
delay(1000);
lcd.print(".");
delay(1000);
lcd.print(".");
delay(1000);
lcd.print(".");
lcd.clear(); // LCD 모두 지우기
delay(1000);
lcd.setCursor(0,0);
lcd.print("WEKIT LCD Shield");
}
void loop()
{
lcd.cursor(); // LCD에 커서를 표시
lcd.setCursor(9,1); // (9,1) 위치로 커서를 옮김
lcd.print(counter); // (9,1) 위치에 숫자를 표시
lcd.setCursor(0,1); // 2번째 줄(1) 1번째(0) 패널에 위치하고
lcd_key = read_LCD_buttons(); // 버튼이 눌려진 이름 출력하는 함수 호출
switch (lcd_key) // 버튼 판단
{
case btnRIGHT: // RIGHT 버튼을 눌렀을 때
{
lcd.print("RIGHT ");
lcd.setCursor(cur++,1);
delay(500);
break;
}
case btnLEFT: // LEFT 버튼을 눌렀을 때
{
lcd.print("LEFT ");
lcd.setCursor(cur--,1);
delay(500);
break;
}
case btnUP: // UP 버튼을 눌렀을 때
{
lcd.print("UP "); // 공백을(6칸) 주어 잔상제거
lcd.setCursor(9,1);
lcd.print(counter++);
// Serial.println(counter);
delay(500);
break;
}
case btnDOWN: // DOWN 버튼을 눌렀을 때
{
lcd.print("DOWN ");
lcd.setCursor(9,1);
lcd.print(counter--);
// Serial.println(counter);
delay(500);
break;
}
case btnNONE: // 아무 버튼도 눌리지 않았을 때
{
lcd.print("NONE ");
// Serial.println(adc_key_in);
break;
}
}
}
▲
위 예제는 LCD 키패드 버튼 제어 예제로 버튼을 눌렀을 때
UP : 숫자 1씩 증가
DOWN : 숫자 1씩 감소
LEFT : 커서 왼쪽 이동
RIGHT : 커서 오른쪽 이동
으로 동작하는 예제 입니다.
지금까지 LCD 키패드 쉴드 사용법에 대해 알아보았습니다.
위 예제를 참고해서 여러가지 방식으로
작동해보시길 바랍니다
그럼 저는 다음 모듈/센서 포스팅으로 돌아오겠습니다~
🔽상품정보🔽
WK 아두이노 LCD 1602 키패드 실드 [바로가기]
WK 아두이노 우노 호환보드 (USB-C타입) [바로가기]
[아두이노 우노 스페셜 센서 종합키트]
0 댓글