// FOR CONNECTIONS GO THROUGH THE CODE ONCE...
//CODE :
// Libraries
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>
// OLED display settings
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// DHT sensor settings
#define DHTPIN D10
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// Variables
int h; // Stores humidity value
int t; // Stores temperature value
void setup() {
Serial.begin(9600);
Serial.println("Temperature and Humidity Sensor Test");
pinMode(LED_BUILTIN, OUTPUT); // initialize digital pin LED_BUILTIN as an output.
dht.begin();
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
display.display();
delay(2000); // Pause for 2 seconds
display.clearDisplay();
}
void loop() {
// Read data and store it to variables h (humidity) and t (temperature)
h = dht.readHumidity();
t = dht.readTemperature();
// Print temp and humidity values to serial monitor
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %, Temp: ");
Serial.print(t);
Serial.println(" °C");
// Display the temperature and humidity on the OLED
display.clearDisplay();
display.setTextSize(2); // Normal 1:1 pixel scale
display.setTextColor(SSD1306_WHITE); // Draw white text
display.setCursor(0, 0); // Start at top-left corner
display.print("@iOT_India");
display.setCursor(0, 30);
display.print("TEMP.: ");
display.print(t);
display.println("C");
display.print("HUMI.: ");
display.print(h);
display.println("%");
display.display();
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(500);
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(500);
}
@iOT_India