

예제 Character LCD 예제
2015.01.08 17:02
준비
부품 목록
번호 | 부품명 | 수량 | 기능 | 판매처 |
---|---|---|---|---|
1 | WAT-Arduino128 | 1 | 아두이노 | https://kit128.com/goods/view?no=64 |
2 | Bluetooth Module HC-06 (5V) | 1 | 블루투스 통신 | https://kit128.com/goods/view?no=65 |
3 | I2C LCD | 1 | TEXT 출력 | https://kit128.com/goods/view?no=80 |
WAT-Arduino128 | Bluetooth Module HC-06 (5V) | I2C LCD |
---|---|---|
![]() |
핀 연결
아래와 같이 블루투스 모듈을 WAT-Arduino128 핀을 연결합니다.
WAT-Arduino128 의 경우 HC-06 모듈 전용핀을 제공하여 4핀 커넥터로 바로 연결 가능합니다.
HC-06 핀 | WAT-Arduino128 핀 |
---|---|
RXD | PD3 (TXD) |
TXD | PD2 (RXD) |
GND | GND |
VCC | 5V |
아래와 같이 I2C LCD와 WAT-Arduino128 핀을 연결합니다.
I2C LCD핀 | WAT-Arduino128 핀 |
---|---|
SCL | PD0 ( SCL) |
SDA | PD1 (SDA) |
VCC | 5V |
GND | GND |
소스코드
최신 소스코드는 [파일]=>[예제]=>[WhiteAT] =>[Bluetooth_I2CLCD] 에 있습니다.
/*
BlueTooth 로 I2C LCD 제어 예제
32 bytes의 데이터와 ‘\n’ 코드를 입력 받아
LCD의 2줄에 출력
출처: http://whiteat.com/Arduino
연결
. PD0 (SCL) -> I2C SCL
. PD1 (SDA) -> I2C SDA
. PD2 (TXD) -> Bluetooth TX
. PD3 (RXD) -> Bluetooth RX
*/#include <Wire.h>
#include <LiquidCrystal_I2C.h>String strLine1=”WAT-Arduino128 “;
String strLine2=”LCD I2C Module “;
byte backlight = HIGH;// I2C LCD 기본 어드레스는 0x27
LiquidCrystal_I2C lcd(0x27);// 프로그램 시작 – 초기화 작업
void setup()
{
Serial.begin(115200); // 아두이노 시리얼 모니터 화면
Serial.print(“Connecting Serial to PC”);
Serial1.begin(9600); // HC-06 용 시리얼
Serial1.print(“AT+NAME BT – Whiteat.com\n”);// I2C LCD 모듈은 여러 종류인데 이 실험에서는 1을 사용
lcd.setBoardType(1);
lcd.begin (16,2); // 16 x 2
}// 계속 실행할 무한 루프
void loop()
{
lcd.setBacklight(backlight);
lcd.setCursor(0,0);
lcd.print(strLine1);
lcd.setCursor(0,1);
lcd.print(strLine2);
delay(1000);
}String inString;
void serialEvent1()
{
while (Serial1.available())
{
int inChar = Serial1.read();
if ( isAlphaNumeric(inChar) || inChar==’-‘)
{
inString += (char)inChar;
}
else if (inChar == ‘\n’)
{
if(inString.length()>=32)
{
strLine1 = inString.substring(0,16); // line1 데이터 추출
strLine2 = inString.substring(16,32); // line2 데이터 추출
Serial.print(“LIne1:”);
Serial.println(strLine1);
Serial.print(“LIne2:”);
Serial.println(strLine2);
}else if(inString.length()==1)
{
if(inString[0]==’1′)
{
backlight = HIGH;
}
else
{
backlight = LOW;
}
}
else
{
Serial.print(“Short Data Retry [Data:”);
Serial.print(inString);
Serial.println(“]”);
}
inString = “”;
}
}
}