본문 바로가기
모두의 아두이노

[아두이노][LCD] Keypad(1602) 쉴드 사용하기

by 로니킴 2022. 6. 16.


본 절은 [아두이노 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

     
    반응형


    댓글