본 절은 [아두이노 LCD keypad 쉴드] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노와 Keypad를 연결하고, 간단한 코딩으로 LCD를 쉽게 제어할 수 있다.
목차
아두이노 LCD keypad 쉴드

아두이노 LCD keypad 쉴드 센서란?
아두이노 keypad 쉴드 센서는 다음과 같다. LCD 키패드 쉴드는 아두이노 우노, 메가 보드와 호환(보드 적층) 이 이뤄지도록 디자인되었다. select, up, right, down, and left 키로 구성되었다. lcd 백라이트는 블루색이다.

아두이노 keypad 쉴드 구입하기
[아두이노 keypad 쉴드 ]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다
3043.0₩ |LCD 키패드 쉴드 LCD1602 LCD 1602 모듈 디스플레이 블루 스크린 Arduino 용|robot control|pro microrobo
Smarter Shopping, Better Living! Aliexpress.com
ko.aliexpress.com
아두이노 keypad 쉴드 하드웨어 연결
다음과 같이 아두이노 keypad 쉴드 아두이노 센서를 연결할 수 있다.

아두이노 keypad 쉴드 소프트웨어 코딩(글자 출력)
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); 
void setup()
{
  lcd.begin(16, 2);
}
void loop()
{
  lcd.setCursor(0, 0);
  lcd.print("LCDkeyShield");
  lcd.setCursor(0, 1);
  lcd.print("Hello,World!");
}
아두이노 keypad 쉴드 소프트웨어 코딩 (키패드 제어)
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 LCD 키패드 소스코드를 코딩할 수 있다.
KEYPAD 제어 코드는 다음과 같다.
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
#define BTN_RIGHT  0
#define BTN_UP     1
#define BTN_DOWN   2
#define BTN_LEFT   3
#define BTN_SELECT 4
#define BTN_NONE   5
int adc_key_in = 0;
void setup()
{
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("LCD key Shield");
}
void loop()
{
  int lcd_key = read_LCD_buttons();
  display_LCD(lcd_key);
  delay(200);
}
int read_LCD_buttons()
{
  adc_key_in  = analogRead(0);
  if (adc_key_in > 1000) return BTN_NONE;
  if (adc_key_in < 50)   return BTN_RIGHT;   // 0
  if (adc_key_in < 195)  return BTN_UP;      // 99
  if (adc_key_in < 380)  return BTN_DOWN;    // 256
  if (adc_key_in < 555)  return BTN_LEFT;    // 409
  if (adc_key_in < 790)  return BTN_SELECT;  // 639
  return BTN_NONE;
}
void display_LCD(int lcd_key) {
  lcd.setCursor(0, 1);
  if (lcd_key == BTN_RIGHT) lcd.print("RIGHT ");
  else if (lcd_key == BTN_LEFT) lcd.print("LEFT   ");
  else if (lcd_key == BTN_UP) lcd.print("UP    ");
  else if (lcd_key == BTN_DOWN) lcd.print("DOWN  ");
  else if (lcd_key == BTN_SELECT) lcd.print("SELECT");
  else if (lcd_key == BTN_NONE) lcd.print("NONE  ");
  lcd.setCursor(10, 1);
  clearLCD();
  lcd.print(adc_key_in);
}
void clearLCD() {
  int i = 0;
  int digit = 0;
  if (adc_key_in > 999) digit = 4;
  else if (adc_key_in > 99) digit = 3;
  else if (adc_key_in > 9)  digit = 2;
  else digit = 1;
  for (i = 4; i > digit; i--) lcd.print(" ");
}
아두이노 keypad 쉴드 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------ 
개발환경 : WINDOWS 10 
아두이노 IDE : 1.8.13 
------------------------------------------------------ 
01 연결
 - 아두이노와 PC 연결 
 - 아두이노 IDE 실행 
 - 메뉴 → 툴 → 보드:아두이노 UNO 확인 
  - 메뉴 → 스케치 → 확인/컴파일 
02 컴파일 확인 
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드 
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
동작을 확인할 수 있다.
마무리
아두이노와 아두이노 LCD keypad 쉴드 를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
모두의 아두이노 환경 센서
아두이노와 센서로 내 건강을 지킬 수 있다!다양한 환경 센서를 실생활 프로젝트에 응용해보자!시중에 판매되고 있는 간이측정기도 센서로 값을 측정합니다. 똑같은 센서를 아두이노에 연결하
book.naver.com
'모두의 아두이노' 카테고리의 다른 글
| [아두이노][LCD] ST7735S IPS (SPI 인터페이스) TFT LCD 1.8인치 사용하기 (0) | 2021.12.15 | 
|---|---|
| [아두이노] MP3 모듈 제어하기(DFPlayer Mini) (0) | 2021.12.14 | 
| [아두이노] Arduino Nano 33 BLE Sense 에서 블루투스 사용하기 (0) | 2021.12.13 | 
| [아두이노] Arduino Nano 33 BLE Sense 에서 센서 사용하기 (0) | 2021.12.12 | 
| [아두이노] Arduino NANO 33 BLE Sense 사용 하기 (0) | 2021.12.12 | 
														
													
														
													
														
													
														
													
댓글