OLED DISPLAY

 #include <OneWire.h>

#include <DallasTemperature.h>

#include <DHT.h>

#define DHTPIN 12

DHT dht(DHTPIN, DHT11);


#include "U8glib.h"

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);  


#define BUS 2 // Data wire is connected to Arduino Pin 2

OneWire oneWire(BUS);  // Initialize OneWire bus

DallasTemperature s1(&oneWire); // KY001 sensor


void ekrana_yaz(float t, float h) { 


  u8g.setFont(u8g_font_unifont);

  

  // Display for KY001 (s1)

  u8g.setPrintPos(0, 10); 

  u8g.print("PROB  :");

  u8g.setPrintPos(65, 10); 

  u8g.print(s1.getTempCByIndex(0));

  u8g.setPrintPos(108, 10); 

  u8g.print("C");


  // Display for DHT11 (temperature)

  u8g.setPrintPos(0, 40); 

  u8g.print("DHT11 :");

  u8g.setPrintPos(65, 40); 

  u8g.print(t);

  u8g.setPrintPos(108, 40); 

  u8g.print("C");


  // Display for DHT11 (humidity)

  u8g.setPrintPos(0, 55); 

  u8g.print("DHT11 : ");

  u8g.setPrintPos(65, 55); 

  u8g.print(h);

  u8g.setPrintPos(108, 55); 

  u8g.print("%");

}


void setup(void) {

  Serial.begin(9600); 

  s1.begin(); // Initialize sensor 1 (KY001)

  dht.begin(); // Initialize DHT11 sensor

}


void loop(void) {


  s1.requestTemperatures();  // Request temperatures for KY001 sensor

  float t = dht.readTemperature(); // Read temperature from DHT11

  float h = dht.readHumidity();    // Read humidity from DHT11

   

  // Refresh the OLED display

  u8g.firstPage();  

  do {    

    ekrana_yaz(t, h);

  } while( u8g.nextPage() );  

  

  delay(500); // Delay before refreshing again

}


মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

Assembly LAB: Character Input Output

Assembly LAB: Print Alphabet(A-Z)