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
}
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন