Arduino Mega - Temperatursensor

Diese Anleitung zeigt Ihnen, wie Sie den DS18B20 1-Wire Temperatursensor mit dem Arduino Mega Board verwenden. Wir werden im Detail lernen:

Arduino Mega Temperatursensor

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×DS18B20 Temperatursensor (MIT Adapter)
1×DS18B20 Temperatursensor (OHNE Adapter)
1×Jumper-Kabel
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

Oder Sie können die folgenden Kits kaufen:

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 den One Wire Temperatursensor DS18B20

Pinout

Der DS18B20 Temperatursensor hat drei Pins.

  • GND Pin: mit Masse verbinden (0 V).
  • VCC Pin: mit VCC verbinden (5 V oder 3,3 V).
  • DATA Pin: dies ist die 1-Wire Datenleitung. Verbinden Sie ihn mit einem digitalen Pin am Arduino Mega.

Der Sensor ist in zwei Varianten erhältlich: einem TO-92 Gehäuse, das wie ein Transistor aussieht, und einer wasserdichten Sonde. In diesem Tutorial verwenden wir die wasserdichte Sonde.

DS18B20 Temperatursensor Pinout

Um einen DS18B20 Temperatursensor an einen Arduino Mega anzuschließen, benötigen Sie einen Pull-up-Widerstand, was schwierig sein kann. Einige Hersteller bieten einen Verdrahtungsadapter an, der bereits einen Pull-up-Widerstand und einen Schraubklemmenblock enthält, was die Einrichtung vereinfacht.

Schaltplan

  • Wie man ein Breadboard verkabelt
Arduino Mega Temperatursensor Schaltplan

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

  • Diagramm, das zeigt, wie Kabel und Adapter verbunden werden
Arduino Mega DS18B20 Schaltplan

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

Wir empfehlen, einen DS18B20 Temperatursensor mit Verdrahtungsadapter zu kaufen. Dieser Adapter ist einfach zu verbinden, da er einen eingebauten Widerstand hat, sodass Sie keinen zusätzlichen hinzufügen müssen.

Wie man für DS18B20 Temperatursensor programmiert

  • Bibliothek hinzufügen:
#include <OneWire.h> #include <DallasTemperature.h>
  • Ein OneWire-Objekt und ein DallasTemperature-Objekt für den Pin erstellen, der mit dem DATA-Pin des Sensors verbunden ist.
OneWire oneWire(SENSOR_PIN); // OneWire-Bus auf dem Sensor-Pin einrichten DallasTemperature DS18B20(&oneWire); // DallasTemperature mit OneWire-Bus verbinden
  • Sensor initialisieren
DS18B20.begin(); // DS18B20 Temperatursensor initialisieren
  • Befehl ausführen, um die Temperaturen zu überprüfen:
DS18B20.requestTemperatures();
  • Temperatur in Celsius ermitteln:
temperature_C = DS18B20.getTempCByIndex(0);
  • (Optional) Celsius-Temperatur in Fahrenheit umwandeln:
temperature_F = temperature_C * 9 / 5 + 32;

Arduino Mega Code

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega 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-mega/arduino-mega-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 4 // The Arduino Mega pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library void setup() { Serial.begin(9600); // initialize serial DS18B20.begin(); // initialize the sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature_C = DS18B20.getTempCByIndex(0); // read temperature in Celsius float temperature_F = temperature_C * 9 / 5 + 32; // convert Celsius to Fahrenheit Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in Celsius Serial.print("°C"); Serial.print(" ~ "); // separator between Celsius and Fahrenheit Serial.print(temperature_F); // print the temperature in Fahrenheit Serial.println("°F"); delay(500); }

Schnellanleitung

Befolgen Sie diese Anweisungen Schritt für Schritt.

  • Verbinden Sie den DS18B20 1-wire Temperatursensor mit dem Arduino Mega wie im Diagramm gezeigt.
  • Verbinden Sie den Arduino Mega mit einem USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie Arduino Mega als Ihr Board und den korrekten COM-Port aus.
  • Klicken Sie auf das Libraries-Symbol auf der linken Seite der Arduino IDE.
  • Suchen Sie nach DallasTemperature und wählen Sie die Bibliothek von Miles Burton aus.
  • Klicken Sie auf den Install-Button, um die DallasTemperature-Bibliothek hinzuzufügen.
Arduino Mega Dallas Temperature Bibliothek
  • Sie müssen eine Bibliothek installieren, die das Programm benötigt.
  • Klicken Sie auf den Install All-Button, um die OneWire-Bibliothek zu installieren.
Arduino Mega onewire Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf den Upload-Button in der Arduino IDE, um den Code an den Arduino Mega zu senden.
  • Halten Sie den Sensor in heißes Wasser und in kaltes Wasser, oder halten Sie ihn einfach in der Hand.
  • Sehen Sie sich die Ergebnisse im Serial Monitor an.
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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!