Arduino - Temperatursensor - Servomotor
Dieses Tutorial zeigt, wie man einen Arduino und einen DS18B20-Temperatursensor verwendet, um einen Servomotor zu steuern. Genauer gesagt wird der Arduino so programmiert, dass er kontinuierlich die Temperatur mit dem DS18B20-Temperatursensor misst. Der Servomotor wird dann gemäß den folgenden Regeln eingestellt:
- Wenn die Temperatur einen festgelegten Schwellenwert überschreitet, dreht der Arduino den Servomotor auf 90 Grad.
- Wenn die Temperatur unter den festgelegten Schwellenwert fällt, dreht der Arduino den Servomotor wieder auf 0 Grad.
Erforderliche Hardware
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) |
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 Servomotor und Temperatursensor
Wenn Sie nichts über Servomotoren und Temperatursensoren wissen (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...), informieren Sie sich in den folgenden Tutorials darüber:
Verdrahtungsdiagramm
- Schaltplan mit Steckbrett

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Schaltplan mit Adapter (empfohlen)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wir empfehlen den Kauf eines DS18B20-Sensors, der mit einem Verdrahtungsadapter geliefert wird für eine einfache Verbindung. Der Adapter verfügt über einen integrierten Widerstand, wodurch ein separater Widerstand in der Verkabelung nicht mehr benötigt wird.
Arduino-Code – Temperatursensor löst Servomotor aus
Schnelle Schritte
- Schließe die Verkabelung zwischen Arduino, Temperatursensor und Servo-Motor wie im obigen Diagramm.
- Schließe den Arduino über ein USB-Kabel an den PC an.
- Öffne die Arduino IDE, wähle das richtige Board und den passenden Port aus.
- Navigiere zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
- Suche “DallasTemperature”, und finde anschließend die DallasTemperature-Bibliothek von Miles Burton.
- Klicke auf die Installieren-Schaltfläche, um die DallasTemperature-Bibliothek zu installieren.

- Sie werden aufgefordert, die Bibliotheksabhängigkeit zu installieren
- Klicken Sie auf die Schaltfläche Alle installieren, um die OneWire-Bibliothek zu installieren.

- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino-IDE.
- Klicken Sie in der Arduino-IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino hochzuladen.
- Passen Sie die Temperatur rund um den Temperatursensor an.
- Beobachten Sie die Veränderung des Servomotors.
- Sehen Sie das Ergebnis im seriellen Monitor. Es sieht unten wie folgt aus:
Arduino-Code – Temperatursensor löst Servomotor mit Toleranz aus
Während des Betriebs kann die Temperatur über oder unter dem Schwellenwert schwanken, was zu schnellen und konstanten Anpassungen am Servomotor führt. Dies kann zu Vibrationen statt einer sanften Drehung auf den gewünschten Winkel führen. Um dieses Problem zu mildern, kann eine Toleranz in den Schwellenwert integriert werden. Der folgende Code veranschaulicht, wie diese Lösung implementiert wird:
Der oben gezeigte Code legt einen Schwellenwert von 20 °C fest und eine Toleranz von 0,5 °C. Die folgenden Bedingungen gelten:
- Wenn die Temperatur unter 19,5 °C liegt, wird der Servomotorwinkel auf 0° eingestellt.
- Wenn die Temperatur über 20,5 °C liegt, wird der Servomotorwinkel auf 90° eingestellt.
- Wenn die Temperatur zwischen 19,5 °C und 20,5 °C liegt, wird der Servomotorwinkel nicht angepasst.