반응형
지난 글에서 0.96 인치 디스플레이 모듈에 텍스트를 표시하는 방법을 알아 보았다. 내친김에 DHT11 온습도 센서와 연결해서 온습도계를 만들어 보았다. 아두이노와 OLED 디스플레이의 연결은 기존 글에서와 같으며 거기에 DHT11 센서를 추가하고 아두이노 IDE의 시리얼 모니터에 출력하던 온도, 습도 데이터를 OLED 디스플레이에 출력하는 것으로 전환 하였다.
아두이노와 OLED 디스플레이와의 연결은 아래와 같이 하였다.
0.96" OLED Display Module | Arduino Uno |
GND | GND |
VDD | 3.3V |
SCK | D10 |
SDA | D9 |
RES | D13 |
DC | D11 |
CS | D12 |
아두이노와 DHT11 의 연결은 아래와 같이 하였다.
DHT11 | Arduino Uno |
GND | GND |
VCC | 5V |
Signal | D2 |
■ 소스
아래의 소스를 실행하려면 OLED 관련 라이브러리 2개와 DHT11 라이브러리를 설치해야 한다.
Adafruit-GFX-Library-master.zip
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | //** http://deneb21.tistory.com/430 #include <DHT11.h> #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> //DHT11 연결핀 #define DHT11_PIN 2 DHT11 dht11(DHT11_PIN); //Software SPI 연결핀 설정 #define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13 Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS); void setup() { display.begin(); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); } void loop() { int err; float temp, humi; if((err=dht11.read(humi, temp))==0) //온도, 습도 읽어와서 OLED 표시 { display.setCursor(0,0); display.print("Temperature :"); display.println(temp); display.print("Humidity :"); display.println(humi); display.display(); } else //DHT11 에러일 경우 처리 { display.setCursor(0,0); display.print("Error :"); display.print(err); display.display(); } delay(5000); //5초마다 측정 display.clearDisplay(); } | cs |
소스는 위와 같다. 어려운 부분은 없으며 DHT11 로 측정한 온도, 습도 값을 5초 마다 측정해서 OLED 디스플레이에 표시해 준다.
실행한 결과이다. 온도와 습도가 잘 표시되고 있으며 5초마다 디스플레이의 깜빡임도 거의 없이 온도와 습도가 갱신된다. 그나저나 33도라니 너무 덥다!
▶추가사항(2016.08.04) : "DHT11과 OLED 디스플레이를 이용한 온습도계 개선" 에 개선된 소스를 올려 놓았다.
반응형
'아두이노' 카테고리의 다른 글
[아두이노] LED 밝기 조절 및 색의 혼합 (0) | 2016.10.24 |
---|---|
[아두이노] DHT11과 OLED 디스플레이를 이용한 온습도계 개선편 (0) | 2016.08.04 |
[아두이노] 0.96인치 OLED LCD 모듈 텍스트 출력 (0) | 2016.08.03 |
[아두이노] DF Player Mini 모듈을 이용한 MP3 제어 #2 -초음파 센서 추가 (30) | 2016.07.13 |
[아두이노] DF Player Mini 모듈을 이용한 MP3 제어 #1 -기본제어 (21) | 2016.07.13 |