Arduino - Temperatursteuerung

In diesem Tutorial werden wir die Raumtemperatur mit einem Arduino, einem DS18B20-Temperatursensor, einem Lüfter und einem Heizelement in einen angenehmen Bereich regeln. Wenn die Temperatur zu hoch ist, schalten Sie den Kühlventilator ein, um zu lüften. Wenn die Temperatur zu kalt ist, schalten Sie den Kühlventilator aus und schalten Sie das Heizelement ein.

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×DS18B20 Temperatursensor (mit Adapter)
1×DS18B20 Temperatursensor (ohne Adapter)
1×Relais
1×12V DC Kühlventilator
1×(Alternativ) 5V DC Kühlventilator
1×12V Heating Element
1×12V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Über das Raumtemperatur-Regelungssystem

Kurz gesagt wird Arduino den Ventilator einschalten, wenn der Raum heiß ist, und das Heizelement einschalten, wenn der Raum kalt ist. Unten finden Sie die Details dazu, wie ein Raumtemperaturregelsystem funktioniert, am Beispiel der Steuerung der Raumtemperatur von 18 °C bis 26 °C:

  • Arduino liest die Temperatur vom Temperatursensor
  • Wenn die Temperatur 26°C überschreitet, schaltet Arduino den Ventilator ein und schaltet das Heizelement aus
  • Wenn die Temperatur unter 18°C fällt, schaltet Arduino den Ventilator aus und schaltet das Heizelement ein

Der obige Prozess wird unendlich oft in der Schleife wiederholt.

Der Ventilator funktioniert als Ventilator.

Wenn Sie nichts über Temperatursensoren, Heizelemente und Lüfter wissen (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...), lernen Sie in den folgenden Tutorials mehr darüber:

Verdrahtungsdiagramm

Schaltplan zur Temperatursteuerung mit Arduino

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Bitte beachten Sie, dass aus Gründen der Einfachheit das oben gezeigte Diagramm zwei 12-V-DC-Netzteile zeigt, aber in der Praxis können Sie ein einziges 12-V-DC-Netzteil sowohl für den Ventilator als auch für das Heizelement verwenden.

Arduino-Code

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-control-temperature */ #include <OneWire.h> #include <DallasTemperature.h> const int TEMP_THRESHOLD_UPPER = 26; // °C, upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 18; // °C, lower threshold of temperature, change to your desire value const int SENSOR_PIN = 2; // Arduino pin connected to DS18B20 sensor's DQ pin const int RELAY_FAN_PIN = A5; // Arduino pin connected to relay which connected to fan const int RELAY_HEAT_PIN = A4; // Arduino pin connected to relay which connected to the heating element OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature sensors(&oneWire); // pass oneWire to DallasTemperature library float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial sensors.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { sensors.requestTemperatures(); // send the command to get temperatures temperature = sensors.getTempCByIndex(0); // read temperature in Celsius if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("HOT! The fan is turned on and the heating element is turned off"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on the fan digitalWrite(RELAY_HEAT_PIN, LOW); // turn off the heating element } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("COLD! The fan is turned off and the heating element is turned on"); digitalWrite(RELAY_FAN_PIN, LOW); // turn off the fan digitalWrite(RELAY_HEAT_PIN, HIGH); // turn on the heating element } delay(500); }

Im obigen Code schaltet der Arduino den Ventilator ein, wenn die Temperatur 25 °C überschreitet, und hält den Ventilator eingeschaltet, bis die Temperatur unter 20 °C fällt.

Schnelle Schritte

  • Verbinden Sie Arduino über ein USB-Kabel mit dem PC.
  • Öffnen Sie die Arduino IDE, wählen Sie das richtige Board und den richtigen Port.
  • Navigieren Sie zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie nach “DallasTemperature”, finden Sie dann die DallasTemperature-Bibliothek von Miles Burton.
  • Klicken Sie auf die Installieren-Schaltfläche, um die DallasTemperature-Bibliothek zu installieren.
Arduino Dallas-Temperatur-Bibliothek
  • Sie werden aufgefordert, die Bibliotheksabhängigkeit zu installieren
  • Klicken Sie auf die Schaltfläche Alle installieren, um die OneWire-Bibliothek zu installieren.
Arduino OneWire-Bibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino hochzuladen.
  • Erhöhen oder senken Sie die Temperatur der Umgebung des Sensors.
  • Sehen Sie den Zustand des Lüfters und des Heizelements.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!