HelloWorld : https://communities.intel.com/docs/DOC-22456
준비물 : IIC/I2C LCD1602(HD44780 호환)
기본 스케치 파일 : 파일 -> 예제 -> 03. LiquidCrystal -> HelloWorld
스케치 코드
/*
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 <LiquidCrystal.h>
// 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모듈과 I2C라는 모듈이 합쳐진 LCD모듈을 준다. PWD(12, 11, 5, 4, 3, 2) 모듈을 좀더 쉽게 규현해주어 A4, A5와 연결만 하면된다. 다만 LiquidCrystal_I2C 라는 라이브러리를 추가해야만 사용이 가능하다.
스케치 코드 분석
스케치 코드 분석
/*
DEVICE PINOUT (SPI Interface):
PIN 1: GND
PIN 2: +5V
PIN 3: SDA - A4에 연결
PIN 4: SCL - A5에 연결
*/
/* Include the SPI/IIC Library */
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
/* LCD를 16*2 배열로 초기화 한다. */
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
/* LCD 초기화 */
lcd.init();
}
/* Main program loop */
void loop()
{
// 백그라운드를 켠다.
lcd.backlight();
lcd.setCursor(0,0); // 커서를 첫번째 줄에 위치한다.
lcd.print("Hello, World");
lcd.setCursor(0,1);
lcd.print("by JaeHun");
/* Do nothing */
while(1);
}
위 스케치 코드를 그대로 컴파일을 한다면 다음과 같은 오류를 만날 수도 있다.
HelloWorld.ino:3:31: fatal error: LiquidCrystal_I2C.h: No such file or directory이럴 경우, 아래의 페이지를 방문하여 LiquidCrystal_I2C 라이브러리를 다운받아서 아두이노 IDE가 설치된 libraries 폴더 아래에 압축을 푼다.
compilation terminated.
설명 페이지 : http://www.dfrobot.com/index.php?route=product/product&product_id=135그리고 아두이노 IDE를 다시 시작하고 스케치 -> 라이브러리에 추가되었는지 확인한다. 그리고 나서 다시 위 스케치코드를 컴파일 한다.
라이브러리 파일 : http://www.dfrobot.com/image/data/TOY0046/LiquidCrystal_I2Cv1-1.rar
회로 만들기
뒷면의 연결 단자가 4개가 있다. 이를 다음과 같이 연결한다.
PIN 1: GND연결이 완료 되면 위 스케치 코드를 다시 한 번 업로드한다.
PIN 2: +5V
PIN 3: SDA - A4에 연결
PIN 4: SCL - A5에 연결
드디어 "Hello, World"를 출력하였다. 아두이노IDE의 특성인지는 잘모르겠지만, 라이브러리라가 불안전한 것들이 존재한다. LiquidCrystal_I2C 라이브러리에 여러가지 기능을 추가해 놓은 것들이 있는데, 이는 라이브러리 추가가 안될 수 있으니 가급적이면 위 링크에 있는 라이브러리를 사용하기 바란다.
다른 프로그램들은 회선이 정성적으로 연결되는 순간 작동해 정상여부를 바로 판단할 수 있지만, 이번 LCD프로그램은 초기화 작업이 존재하는 관계로 회로를 변경하였다면 업로드를 다시 한번 실행해야한다.
댓글 쓰기