검색
홈으로 마이페이지 주문조회 장바구니
로그인
회원정보 게시판
회사소개 이메일
도서(BOOK)
키트(KIT)
특판 상품
졸업작품&전자기초
응용모듈
전자부품
모터
기구
엔클로져
고객센터 게시판
자유게시판
MCU 통합 게시판
강좌-RaspberryPi
강좌-드론(쿼드콥터)
강좌-아두이노(기초)
강좌-아두이노(응용)
신제품/신기술 소개
DIY 공작 게시판
윤교수의 연구실 칼럼
 ☎ : 02-776-4868

 F: 02-779-6757

☞ 평일 : 09~18시
☞ 주말 : 10~13시


국민822401-04-027758
☞ 예금주 : Ohm사
국민822401-04-027761
☞ 예금주 : R&C사
 
 
1 (주)알트소프트 사이트
 
2 LabVIEW 강좌 사이트
 
3 윤교수의 마이크로프로세서 월드
 
4 전자 엔지니어
 

 

 
강좌-아두이노(기초)
 
2014. 05. 20 (10:03)
제목[아두이노] 12. 1602 LCD 제어
작성자 조회 : 6431

12. 1602 LCD 제어


이번 강좌에서는 문자형 LCD 16문자 x 2열 제어에 대해서 알아 보도록 한다.

LCD 강좌는 아두이노 공식 사이트에 나와 있는 예제를 가지고 해 보도록 하겠다.

 

1602 LCD에 대한 설명은 별도로 하지 않겠다. 여기서 다루기에는 내용도 많고, 지금 당장에 구체적으로 알 필요는 없을 듯 한다.



일단, 회로는 위 그림과 같이 구성한다. RSCommand/Data를 설정하는 핀이고, R/WRead/Write를 결정하는 핀이다. 여기서는 GND에 연결하여 Write로만 사용한다. E LCDEnalbe 시키는 핀이다.


여기서는 4비트 제어 방식에 대해서 다루도록 한다. 1602 LCD는 데이터 비트를 8비트나 4비트를 이용하여 제어가 가능하기 때문에, 핀을 절약하는 의미로 4비트 방식을 사용하기로 한다.


Vo핀은 LCD의 밝기를 조절하는 핀으로 가변저항과 연결하여 밝기를 조절 할 수 있도록 한다.



실제 구성은 위와 같이 구성한다.

 

코드를 작성해 보도록 하자. 코드는 아두이노에 내장되어 있는 예제를 이용하도록 한다.

 

/*

  LiquidCrystal Library - Hello World

 

 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal

 library works with all LCD displays that are compatible with the

 Hitachi HD44780 driver. There are many of them out there, and you

 can usually tell them by the 16-pin interface.

 

 This sketch prints "Hello World!" to the LCD

 and shows the time.

 

  The circuit:

 * LCD RS pin to digital pin 12

 * LCD Enable pin to digital pin 11

 * LCD D4 pin to digital pin 5

 * LCD D5 pin to digital pin 4

 * LCD D6 pin to digital pin 3

 * LCD D7 pin to digital pin 2

 * LCD R/W pin to ground

 * 10K resistor:

 * ends to +5V and ground

 * wiper to LCD VO pin (pin 3)

 

 Library originally added 18 Apr 2008

 by David A. Mellis

 library modified 5 Jul 2009

 by Limor Fried (http://www.ladyada.net)

 example added 9 Jul 2009

 by Tom Igoe

 modified 22 Nov 2010

 by Tom Igoe

 

 This example code is in the public domain.

 

 http://www.arduino.cc/en/Tutorial/LiquidCrystal

 */

 

// include the library code:

#include

 

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

 

void setup() {

  // set up the LCD's number of columns and rows:

  lcd.begin(16, 2);

  // Print a message to the LCD.

  lcd.print("hello, world!");

}

 

void loop() {

  // set the cursor to column 0, line 1

  // (note: line 1 is the second row, since counting begins with 0):

  lcd.setCursor(0, 1);

  // print the number of seconds since reset:

  lcd.print(millis()/1000);

}

 

위의 코드를 보면, LCD를 사용하는 만큼

 

           #include< LiquidCrystal.h>

 

헤더 파일을 꼭 포함시키도록 한다. 예제에 나와 있기 때문에 라이브러리는 자동으로 등록되어 있다. 사용자가 별도로 할 필요 없으니, 소스 맨 위에 한 줄 적어 주면 된다.

 

           LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

           LiquidCrystal(rs, enable, d4, d5, d6, d7)

 

같이 표현한다. 여기서 사용된 회로를 보면, RS, E, D4~D7 만을 이용하기 때문에 위와 같이 해당 핀을 적어 주면 된다. 외에도 다음과 같은 표현으로 사용할 있다.

 

LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)

 

사용자가 구성하는 회로에 맞게 함수를 사용하면 된다.

 

       lcd.begin(16, 2);

       lcd.begin(cols, rows)

 

LCD 초기화하는 함수로, 사용하고자 하는 LCD 라인 수와 문자 수를 지정한다. 여기서는 1602 LCD 사용하기 때문에, cols 16, rows 2 지정한다.LCD 관한 다른 함수를 호출하기 전에 호출해야 되는 함수이다.

 

       lcd.print("hello, world!");

 

LCD에 데이터를 출력하는 함수이다. char, byte, int, long 또는 string의 데이터 타입을 출력 할 수

있다.

 

lcd.setCursor(0, 1);

      lcd.setCursor(col, row)

 

LCD 커서의 위치를 지정하는 함수로, 사용자가 임의로 출력의 위치를 변경하고자 할 경우에 사용할 수 있다.

 

위 코드는 초기화 과정에서 “hello, world” 문자열을 출력 후에, 1초 주기로 카운트 값을 출력하는 동작을 한다.

 

아두이노 내장 예제에는 위 예제 말고도 몇 개의 예제가 더 있다. 직접 실험해 보면서 LCD 라이브러리에 대해서 더 깊이 공부 할 수 있도록 해 보자….스스로~~


http://blog.naver.com/rnc_ohm

http://cafe.naver.com/rnc2013.cafe

비밀번호 확인 닫기
name password
  Content name date hits
[아두이노] 12. 1602 LCD 제어  
2014/05/20 6431
상호명 : R&C사 사업자등록번호 : 106-02-43112 통신판매업신고번호 : 용산 03564
대표 : 곽민수 사업장소재지 : 서울시 용산구 갈월동 17-1번지 세기빌딩 101호
전화 : ☎ : 02-776-4868 ,F: 02-779-6757 개인정보담당자 : 곽민수
[회사소개] [이용안내] [이용약관] [개인정보취급방침]
Copyright ⓒ 도서출판 OHM사와 학습기기 R&C사 All Rights Reserved.