I2C 인터페이스 방식의 1602 lcd 판넬은 와이어링 점퍼선 사용량을 거의 50% 이하로 줄일 수 있어 DHT11 온습도 측정기를 만들 때에도 큰 도움이 된다. DHT11 온습도 측정 핀은 아두이노 디지털 데이터 핀 6번에 연결하도록 한다.
I2C lcd 배선은 그림을 참조하자.
SCL->A5
SDA->A4
GND->GND, 0V
Vcc->5V
A5,A4 핀 I2C 배선은 아두이노 보드의 Digital I/O pins 의 좌측 끝 부분에 SCL, SDA 핀이 있으므로 여기에 배선해도 무방하다. 이러한 I2C 인터페이스 방식을 사용하면 lcd 가 사용하던 데이터 핀 4개를 생략할 수 있어 배선이 대폭 줄어드는 이점이 있다.
일단 setup()에서 Hello World!를 출력하고 5초간 숨고를 여유를 준 다음 loop()문에서 온습도 데이터를 2줄에 출력한다.
lcd_DHT11_i2c_01
#include <DHT11.h>
//#include <LiquidCrystal.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int pin= 6;
DHT11 dht11(pin);
LiquidCrystal_I2C lcd(0x3F,16,2);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Hello, world!");
delay(5000);
lcd.clear();
}
void loop() {
int err;
float temp, humi;
if((err=dht11.read(humi, temp))==0) {
lcd.setCursor(0,0);
lcd.print("temp:");
int t = temp;
lcd.print(t);
lcd.print(" C deg");
lcd.setCursor(0,1);
lcd.print("humidity:");
int h = humi;
lcd.print(h);
lcd.print(" % ");
lcd.println();
}
else {
lcd.println();
lcd.print("Error No :");
lcd.print(err);
lcd.println();
}
delay(20000);
}//끝
'아두이노프로세싱 프로그래밍' 카테고리의 다른 글
다이소 양념통 스탠드어론 아두이노 DHT22 온습도 lcd 디스플레이 (0) | 2018.01.04 |
---|---|
아두이노 DHT22 온습도 센서 측정 (0) | 2018.01.04 |
백팩(backpack)PCB 회로를 부착한 I2C인터페이스 1602 lcd 출력 (0) | 2017.12.15 |
초보자를 위한 아두이노 DHT11 온습도 측정 결과 1602 lcd 출력 (0) | 2017.11.28 |
초보자를 위한 아두이노 lcd 와이어링과 Hellow World!코딩 (0) | 2017.11.28 |