Project Hub
Mini Weather Station
🌦️

Mini Weather Station

Temperature & humidity on an OLED.

intermediate60 min

Components Needed

Arduino UNO
DHT22
DHT22 sensor
0.96" I2C OLED
Jumper wires

Circuit Diagram & Wiring

Add your circuit diagram image here.

  1. DHT22 data → pin 2 (with 10kΩ pull-up).
  2. OLED SDA → A4, SCL → A5.
  3. All VCC → 5V, GND → GND.

Arduino Sketch (.ino)

weather.ino
<span style="color:#f97583">#includespan> &lt;DHT.h&gt;
<span style="color:#f97583">#includespan> &lt;Wire.h&gt;
<span style="color:#f97583">#includespan> &lt;Adafruit_SSD1306.h&gt;

<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>, &amp;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>">&quot; C&quot;span>);
  oled.print(h); oled.println(<span style="color:<span style="color:#f97583">#9ecbffspan>">&quot; %&quot;span>);
  oled.display();
  delay(<span style="color:#79b8ff">2000span>);
}