Project Hub
Temperature Controlled Fan
🌬️

Temperature Controlled Fan

Fan speed scales with room temperature.

intermediate50 min

Components Needed

Arduino UNO
DHT22
DHT11 sensor
5V DC fan
NPN transistor (2N2222)
1kΩ resistor
Diode (1N4007)

Circuit Diagram & Wiring

Add your circuit diagram image here.

  1. DHT11 data → pin 2.
  2. Fan + → 5V, fan - → transistor collector.
  3. Transistor base → pin 9 via 1kΩ, emitter → GND.
  4. Diode across fan (cathode to +).

Arduino Sketch (.ino)

smart-fan.ino
<span style="color:#f97583">#includespan> &lt;DHT.h&gt;
DHT dht(<span style="color:#79b8ff">2span>, DHT11);

void setup() {
  dht.begin();
  pinMode(<span style="color:#79b8ff">9span>, OUTPUT);
  Serial.begin(<span style="color:#79b8ff">9600span>);
}

void loop() {
  float t = dht.readTemperature();
  Serial.println(t);
  int speed = <span style="color:#79b8ff">0span>;
  if (t &gt; <span style="color:#79b8ff">20span>) speed = map((int)t, <span style="color:#79b8ff">20span>, <span style="color:#79b8ff">35span>, <span style="color:#79b8ff">80span>, <span style="color:#79b8ff">255span>);
  speed = constrain(speed, <span style="color:#79b8ff">0span>, <span style="color:#79b8ff">255span>);
  analogWrite(<span style="color:#79b8ff">9span>, speed);
  delay(<span style="color:#79b8ff">1000span>);
}