본문 바로가기

상상 Maker Space and US

아두이노 따라하기_01- 2004 I2C LCD 구동하기

Arduino Uno board를 이용하여 2004 I2C LCD 문자를 출력해 보겠습니다. 

2004 I2C LCD는 이름 그대로 20문자 4줄을 표시할수 있고, I2C로 interface합니다. 

 

 

●구매처

  '도매키트' 네이버 스마트스토어에서 구매 

  1602 I2C LCD : 2630원 

  2004 I2C LCD : 5,490원

  128X64 I2C OLED : 4,990원

 

●준비물 

 -. 아두이노 우노 or 호환 보드 

 -. 2004 I2C LCD 

 -. Wire (female to male) x4ea

 

 

●결선도 

 

구매하실때 Wire header type을 female to male 로 구매를 같이 하는게 연결하는데 편합니다. (위 우측 이미지)

 

●Arduino IDE 구성하기 

 아두이노를 처음 사용하는 분이라면 Arduino IDE(통합 개발환경)을 구성해야 합니다.

'IDE 구축한다'란 소스코드를 작성하고 컴파일하고, 컴파일된 이미지를 Target Hardware(여기서는 Arduino Uno board가 되겠네요)에 write하여 동작하게 만들수 있는 code 개발 환경을 구축하는 일련의 작업입니다. 

본젹적으로 coding할 환경을 준비한다 라고 할수 있겠습니다. 

 Open Source Project 들은 간단하게 download, install 해주면 IDE 구축은 별로 신경 쓸일도 없습니다. 

여기에서 download/install 합니다. 현재는 1.8.10 version까지 나와있네요. 

https://www.arduino.cc/en/Main/Donate

 

●라이브러리 설치 

LiquidCrystal I2C를 이용해야 합니다. 아래의 gibhub주소에서 다운로드해둡니다. 

https://github.com/johnrickman/LiquidCrystal_I2C

라이브러리 설치는 다운로드해둔 zip파일을 아래의 방식으로 추가하면 됩니다.(하단 좌측 이미지)

스케치>라이브러리포함하기>.zip 라이브러리 추가(하단 좌측 이미지)


LiquidCrystal_I2C 라이브러기가 추가된것을 확인 할수 있습니다.(하단 우측 이미지)

 

●code

 

#include  <Wire.h>                                  // Arduino I2C port의 기본 library를 사용

#include <LiquidCrystal_I2C.h>                    //2004 LCD I2C Library 사용

#include  LiquidCrystal_I2C lcd(0x27,20,4);    //0x3F or 0x27, 밴더마다 address가 다름, 둘중 하나임. 


void setup() {
  // put your setup code here, to run once:
  lcd.init();                             // LCD 초기화
  lcd.backlight();                        //BACKLIGHT 켜기
  lcd.setCursor(0,0);                     //1번재, 1라인
  lcd.print("Timer:12min30sec");     //자신이 출력하고 싶은 문자를 따옴표 " " 안에 넣습니다. 
  lcd.setCursor(1,1);                     //2번재, 2라인 
  lcd.print("BT:217/ET:230");
  lcd.setCursor(2,2);                    //3번재, 3라인 
  lcd.print("FC:190/SC:210");
  lcd.setCursor(3,3);                     //4번재, 4라인 
  lcd.print("Gas:1.5>off>0.5");
   
}

void loop() {
  // put your main code here, to run repeatedly:

}

 

LiquidCrystal_I2C Library에서 제공하는 API가 익히면 Display는 이제 식은죽 먹기가 됩니다. 

그리고 open source이기때 문에 계속 업데이트 됩니다. 

 

●컴파일/uploading

 

code 작성하고 '우측 화살표 버튼'을 누르면 컴파일하고, error가 없다면 아두이노 보드로 usb cable을 통해 업로드까지 해줍니다. 

 

●output 

이화면까지 나왔다면 잘 따라 하셨습니다. 

 

 

●마치며 

아두이노 따라하기 1편으로 open hardware Arduino 보드에서 2004 I2C LCD에 문자를 출력해 봤습니다.  

아두이노 IDE 구성을 하였고, 라이브러리 설치하는 방법을 배웠고, 기본 코드를 작성해서 컴파일하고 아두이노 보드에 업로드 하여 2004 LCD에 문자를 위와 같이 출력하였습니다. 기본적인 큰 흐름을 이해 했으면 나머지는 여기에서

하나씩 추가하면 됩니다.  

온도, 습도 센서, 적외선 센서, 초음파 센서를 붙이고, LED를 ON/OFF시키고 추가로 입력할수 있는 버튼이나 터치 모듈을 붙이고  모터 드라이버에 스텝모터 or 서보 모터를 붙여보고, 블루투스 모듈, 와이파이 모듈을 붙입니다. 이렇게 하다보면 데이타로거, RC CAR, 장애물 회피/미로 탈출 CAR, 3D 프린터, 드론까지도 만들수 있습니다. 

오픈 하드웨어/오픈 소스가 4차 산업혁명의 동력이 됩니다. 주변에 하나둘씩 메이커스페이스도 생겨납니다. 필요한 물건은 네이버 쇼핑/아마존에서 대부분 구매가 됩니다. 이제는 누구가 개발자/제작자/1인 기업이 될수 있는 시대가 되었습니다. 이제 아이디어가 있거나 무엇인가 필요하다면 직접 만드는 시대가 왔습니다. 내가 원하는 정보는 도처에 널려있다, 다만 어디 있는지를 잘 모를뿐, 중요한 사실을 포기하지 않는 끈기와 변화를 받아들이는 자세입니다. 

불과 10년전만 해도 회사에서 여러명이하거나, 굉장히 많은 지식을 가져야 할수 있는 일들을 이제는 개인이 쉽게 해낼수 있습니다. 내가 원하는 정보는 어디에든 있고, 아니면 누군가는 알고 있다는 전제로 시작하여 정보를 찾아서 정리하고 조합하면 자신이원하는것을 이룰수 있을것입니다.