[熱情]

DHT11에서 측정된 온/습도값을 oled에 출력 본문

Arduino/Arduino diy

DHT11에서 측정된 온/습도값을 oled에 출력

rootkaien 2016. 2. 16. 01:41


DHT11에서 측정된 온/습도값을 oled에 출력해보자. .


http://zelkun.tistory.com/56


#include <dht.h>

#include "U8glib.h"



int ledPin = 13;

dht DHT;

#define DHT11_PIN 3


U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);



void setup()

{

  Serial.begin(115200);

  Serial.println("Test DHT11 By Rootkaien ");

  Serial.println("DHT TEST PROGRAM ");

  Serial.print("LIBRARY VERSION: ");

  Serial.println(DHT_LIB_VERSION);

  Serial.println();

  Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");


  

}


void loop()

{

  // READ DATA

  Serial.print("DHT11, \t");

  int chk = DHT.read11(DHT11_PIN);

  switch (chk)

  {

    case DHTLIB_OK:  

                Serial.print("OK,\t"); 

                break;

    case DHTLIB_ERROR_CHECKSUM: 

                Serial.print("Checksum error,\t"); 

                break;

    case DHTLIB_ERROR_TIMEOUT: 

                Serial.print("Time out error,\t"); 

                break;

    case DHTLIB_ERROR_CONNECT:

        Serial.print("Connect error,\t");

        break;

    case DHTLIB_ERROR_ACK_L:

        Serial.print("Ack Low error,\t");

        break;

    case DHTLIB_ERROR_ACK_H:

        Serial.print("Ack High error,\t");

        break;

    default: 

                Serial.print("Unknown error,\t"); 

                break;

  }

  // DISPLAY DATA

  Serial.print(DHT.humidity, 1);

  Serial.print(",\t");

  Serial.println(DHT.temperature, 1);


    u8g.firstPage();

    do{

        u8g.setFont(u8g_font_unifont);

        

        u8g.setPrintPos(0,10);

        u8g.print("My, Room ");  

                   

        u8g.setPrintPos(0,30);

        u8g.print("Temp, ");  

        

        u8g.setPrintPos(50,30);

        u8g.print(DHT.temperature);  

        

        u8g.setPrintPos(0,50);

        u8g.print("Humi, ");  

        

        u8g.setPrintPos(50,50);

        u8g.print(DHT.humidity);          


        

       

    }while(u8g.nextPage());


    

  delay(2000);






실제로 dht11은 모듈형태로 구입해서 저항이 필요없이 아누이노와 바로 연결하면된다. 



* 실제로는 저렇게 선들이~~~ -0-;;;


Comments