메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

WAT-Arduino128 아두이노 자료실

예제 Character LCD 예제

2015.01.08 17:02

WhiteAT 조회 수:3750

준비

 

부품 목록

번호부품명수량기능판매처
 1 WAT-Arduino128 1아두이노https://kit128.com/goods/view?no=64
 2Bluetooth Module HC-06 (5V) 1블루투스 통신https://kit128.com/goods/view?no=65
3I2C LCD1TEXT 출력https://kit128.com/goods/view?no=80

 

WAT-Arduino128Bluetooth Module HC-06 (5V)I2C LCD

 

핀 연결

아래와 같이 블루투스 모듈을  WAT-Arduino128 핀을 연결합니다.
WAT-Arduino128 의 경우 HC-06 모듈 전용핀을 제공하여 4핀 커넥터로 바로 연결 가능합니다.

HC-06 핀WAT-Arduino128 핀
RXDPD3 (TXD)
TXDPD2 (RXD)
GNDGND
VCC5V

 

아래와 같이 I2C LCD와 WAT-Arduino128 핀을 연결합니다.

I2C LCD핀WAT-Arduino128 핀
SCLPD0 ( SCL)
SDAPD1 (SDA)
VCC5V
GNDGND

 

소스코드

최신 소스코드는 [파일]=>[예제]=>[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 = “”;
}
}
}