Project Hub

🌦️
Mini Weather Station
Temperature & humidity on an OLED.
intermediate60 min
Components Needed
Arduino UNO
DHT22 sensor
0.96" I2C OLED
Jumper wires
Circuit Diagram & Wiring
Add your circuit diagram image here.
- DHT22 data → pin 2 (with 10kΩ pull-up).
- OLED SDA → A4, SCL → A5.
- All VCC → 5V, GND → GND.
Arduino Sketch (.ino)
weather.ino
<span style="color:#f97583">#includespan> <DHT.h>
<span style="color:#f97583">#includespan> <Wire.h>
<span style="color:#f97583">#includespan> <Adafruit_SSD1306.h>
<span style="color:#f97583">#definespan> DHTPIN <span style="color:#79b8ff">2span>
DHT dht(DHTPIN, DHT22);
Adafruit_SSD1306 oled(<span style="color:#79b8ff">128span>, <span style="color:#79b8ff">64span>, &Wire, -<span style="color:#79b8ff">1span>);
void setup() {
dht.begin();
oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
oled.clearDisplay();
oled.setTextSize(<span style="color:#79b8ff">2span>);
oled.setTextColor(SSD1306_WHITE);
oled.setCursor(<span style="color:#79b8ff">0span>, <span style="color:#79b8ff">0span>);
oled.print(t); oled.println(<span style="color:<span style="color:#f97583">#9ecbffspan>">" C"span>);
oled.print(h); oled.println(<span style="color:<span style="color:#f97583">#9ecbffspan>">" %"span>);
oled.display();
delay(<span style="color:#79b8ff">2000span>);
}