디지털 컨버전스/Arduino

[아두이노] LCD

gimyeondong 2020. 6. 22. 12:14

 

 

LCD 연결 예제

 

 

 

 

 

LCD의 주소값 확인

 

 

 

0x27 


아두이노라이브러리  헤더 필요

 

 


LCD 사이즈 : 16글자 2줄 

#include <LiquidCrystal_I2C.h>



LiquidCrystal_I2C lcd(0x27,16,2);


void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("test");
}

void loop()
{

  
}

 

#include <LiquidCrystal_I2C.h>



LiquidCrystal_I2C lcd(0x27,16,2);


void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
}

void loop()
{

lcd.setCursor(0,0);
lcd.print("Hello");
delay(1000);
lcd.setCursor(1,1);
lcd.print("Arduino");
delay(1000);
lcd.clear();
delay(1000);
}

배열

 

 

판 하나에 5칸씩8줄로 만들어짐

 

만들어진 글자는 print말고 write로 출력

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

byte my[8] = {
  B00000,
  B00000,
  B11111,
  B01010,
  B11111,
  B00000,
  B00000,
  B00000
  };

void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.createChar(0,my);
}

void loop()
{

lcd.setCursor(0,0);
lcd.write(byte(0));
}

 

LiquidCrystal_I2C_Hangul-master.zip
0.01MB

 


온도 출력

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

byte tp[8] = {
  B00001,
  B00000,
  B00111,
  B01000,
  B01000,
  B01000,
  B00111,
  B00000
  };

void setup()
{
  analogReference(INTERNAL);
  Serial.begin(9600);
  lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.createChar(0,tp);
}

void loop()
{
  int input = analogRead(A0);
  int temp = input / 9.31;
  Serial.println(temp);
  delay(1000);
lcd.setCursor(0,0);
lcd.print("Temperature");
lcd.setCursor(1,1);
lcd.print(temp);
lcd.write(byte(0));
}