⭐⭐⭐ Wyzwanie ⏱️ 30 minut

Sprytny wentylator

Budujesz termostat. Gdy zrobi się cieplej niż 25 stopni, przekaźnik kliknie i się włączy. Tak Arduino może na przykład włączyć mały wentylator na baterię. Na ekranie widzisz temperaturę i czy wentylator jest włączony.

Najpierw szybko się zaloguj. Potem twój projekt będzie od razu gotowy.

🧰 Czego potrzebujesz?

1× Arduino UNO
1× Czujnik temperatury DHT11
1× Przekaźnik 5V
1× Ekranik OLED 0,91"
🔌
Kabel USB + Przewody połączeniowe

🗺️ Schemat podłączenia

Poprowadź przewody od Arduino do każdej części. Kolory przewodów możesz wybrać samodzielnie.

Od Do
Arduino UNO · D2 Czujnik temperatury DHT11 · DAT
Arduino UNO · 5V Czujnik temperatury DHT11 · VCC
Arduino UNO · GND Czujnik temperatury DHT11 · GND
Arduino UNO · D7 Przekaźnik 5V · S
Arduino UNO · 5V Przekaźnik 5V · +
Arduino UNO · GND Przekaźnik 5V · -
Arduino UNO · A4 Ekranik OLED 0,91" · SDA
Arduino UNO · A5 Ekranik OLED 0,91" · SCL
Arduino UNO · 5V Ekranik OLED 0,91" · VCC
Arduino UNO · GND Ekranik OLED 0,91" · GND

🛠️ Tak to zbudujesz

  1. Podłącz DHT11: DAT do pin 2, VCC do 5V i GND do GND.
  2. Podłącz przekaźnik: S do pin 7, + do 5V i − do GND.
  3. Podłącz ekran OLED: SDA do A4, SCL do A5, VCC do 5V i GND do GND.
  4. Chcesz naprawdę coś przełączać? Użyj tylko baterii albo niskiego napięcia na COM i NO, nigdy gniazdka.

💻 Kod

// Sprytny wentylator (termostat)
// Robi się za ciepło? Wtedy przekaźnik się włącza, na przykład dla wentylatora.
// Na ekranie widzisz temperaturę i czy wentylator jest włączony.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>

const int DHT_PIN = 2;        // DAT z DHT11 na pin 2
const int PRZEKAZNIK_PIN = 7;     // S z przekaźnika na pin 7
const float WLACZ_POWYZEJ = 25.0; // Powyżej tej temperatury wentylator się włącza
const float WYLACZ_PONIZEJ = 24.0; // Poniżej tej temperatury znów się wyłącza

DHT dht(DHT_PIN, DHT11);
Adafruit_SSD1306 ekran(128, 32, &Wire, -1);  // OLED: SDA = A4, SCL = A5

bool wentylatorWlaczony = false;

void setup() {
  Serial.begin(9600);
  pinMode(PRZEKAZNIK_PIN, OUTPUT);
  digitalWrite(PRZEKAZNIK_PIN, LOW);   // Zacznij z wyłączonym przekaźnikiem
  dht.begin();
  ekran.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  ekran.setTextColor(SSD1306_WHITE);
}

void loop() {
  float temperatura = dht.readTemperature();

  if (!isnan(temperatura)) {
    // Dwie granice, aby przekaźnik nie klikał ciągle włącz i wyłącz
    if (temperatura > WLACZ_POWYZEJ) wentylatorWlaczony = true;
    if (temperatura < WYLACZ_PONIZEJ) wentylatorWlaczony = false;
    digitalWrite(PRZEKAZNIK_PIN, wentylatorWlaczony ? HIGH : LOW);
  }

  ekran.clearDisplay();
  ekran.setTextSize(2);
  ekran.setCursor(0, 0);
  if (isnan(temperatura)) {
    ekran.print(F("DHT11 ?"));
  } else {
    ekran.print(temperatura, 1);
    ekran.print((char)247);
    ekran.print(F("C"));
  }
  ekran.setTextSize(1);
  ekran.setCursor(0, 22);
  ekran.print(wentylatorWlaczony ? F("Wentyl.: WL") : F("Wentyl.: wyl"));
  ekran.display();

  Serial.print(F("Temp.: "));
  Serial.print(temperatura);
  Serial.println(wentylatorWlaczony ? F(" C  -> WL") : F(" C  -> wyl"));

  delay(2000);
}

🧠 Co robi kod?

  • DHT11 mierzy temperaturę. Powyżej 25 stopni włączamy przekaźnik.
  • Dopiero poniżej 24 stopni przekaźnik znowu się wyłączy. Dzięki tym dwóm granicom nie klika ciągle włącz i wyłącz.
  • Ekran OLED pokazuje temperaturę oraz „Wentyl.: WL” albo „wyl”.

🎯 Spróbuj…

  • Dodaj dwa przyciski, aby ustawiać temperaturę graniczną wyżej i niżej
  • Niech LED świeci, gdy wentylator jest włączony
  • Niech wentylator włączy się też wtedy, gdy wilgotność powietrza będzie powyżej 70%

🚀 Zbuduj ten projekt z Codey: otwórz codey.online/pl/starter-kits/uno/projects/thermostat i kliknij ZRÓB TO. Wtedy kod i schemat podłączenia będą od razu gotowe.

Najpierw szybko się zaloguj. Potem twój projekt będzie od razu gotowy.
⬇️ Pobierz tę stronę jako PDF 📚 Pobierz cały tutorial (PDF)

Codey Online to produkt od OTRONIC

Zbuduj swój projekt Arduino lub ESP32 z pomocą AI

Opisz, co chcesz zbudować. Codey Online napisze kod, narysuje schemat połączeń, skompiluje projekt i wgra go na płytkę bezpośrednio z przeglądarki.

Zacznij za darmo