Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Dies ist eine Kurzanleitung, wie Sie die einzelnen Seriennummern Ihrer DS18B20 1-Draht-Temperatursensoren erhalten.
Dies ist praktisch für Projekte, die mehrere Sensoren erfordern.
Dinge, die du brauchst:
- Arduino 5v (UNO, Mega, Pro Mini usw.) - Arduino UNO R3 - AliExpress
- Temperatursensor DS18B20 - AliExpress - eBay
- 4.7k - 1/4w Widerstand THT - AliExpress - eBay
- Steckbrett - AliExpress - eBay
- Überbrückungsdrähte - Stecker zu Stecker - AliExpress - eBay
- Ein Computer mit installierter Arduino IDE
Schritt 1: Fügen Sie die erforderliche Bibliothek zur Arduino IDE hinzu
- Öffnen Sie die Arduino-IDE (ich verwende 1.8.1)
- Klicken Sie auf „Skizze“-> „Bibliothek einschließen“-> „Bibliotheken verwalten…“
- Wählen Sie die Suchleiste aus und geben Sie "dallas" ein
- Klicken Sie auf "DallasTemperature" und klicken Sie auf "Installieren".
Alternativ können Sie die Bibliothek hier herunterladen:
Diese Bibliothek enthält die OnWire-Bibliothek.
Schritt 2: Verdrahten Sie den DS18B20
Verbinden Sie mit einem Steckbrett +5V, GND und Digital Pin 2 (Pin 2 ist bereits in der Beispielskizze eingestellt) vom Arduino mit Male-to-Male-Steckbrett-Jumpern.
Verbinden Sie den DS18B20 parallel mit den 3x Klemmleisten auf dem Steckbrett.
- Pin 1 (GND) -> GND (Masse 0V)
- Pin 2 (DATEN) -> Digital Pin 2
- Pin 3 (Vdd) -> +5V
Für den normalen Leistungsmodus schließen Sie einen 4,7K-Widerstand von +5V an den digitalen Pin-2-Draht auf dem Steckbrett an.
Der folgende Link ist eine großartige Ressource für den DS18B20 1-Draht-Temperatursensor.
www.tweaking4all.com/hardware/arduino/ardu…
Schritt 3: Laden Sie die Beispielskizze "Single"
Sobald Sie es verdrahtet haben, sind Sie bereit, die Dallas Temperature "Single" SketchOpen Arduino IDE zu laden (ich verwende 1.8.1) Klicken Sie auf "Datei" -> "Beispiele" -> "Dallas Temperatur" -> "Single" habe ich hinzugefügt im Verzug (5000); auf Zeile 103, damit ich die Seriennummer kopieren kann. Klicken Sie auf "Tools" -> "Serial Monitor", stellen Sie sicher, dass die Baudraten mit meinen übereinstimmen. Wenn Sie Ihre Skizze nicht hochgeladen haben, überprüfen Sie Ihr Board, Port, USB-Treiber usw.
Schritt 4: Kopieren Sie die Seriennummer
Vom "Serial Monitor" sehen Sie in der 4. Zeile "Device 0 Address: xxxxxxxxxxxxxxxx"
Dies ist die Seriennummer des DS18B20
Wenn es "0000000000000000" ist, liegt ein Problem beim Lesen Ihres DS18B20 vor.
Markieren Sie es mit Ihrer Maus und drücken Sie STRG + C auf Ihrer Tastatur, dann fügen Sie es in Notepad ein
Für meine anderen Projekte verwendet mein Code ein Array dieser Zahlen. Ich habe die HEX-Zeichenfolge in das folgende Format umformatiert.
Geräteadresse tempSensorSeriell[9]= {
{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x070, 0x17,, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xFF, 0x66, 0x62, 0, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED}, {0x28, 0xFF,, 0x42, 0x71, 0x17, 0x04, 0x4C} };
Schritt 5: Fertig
Jetzt können Sie jeden einzelnen DS18B20 1-Wire-Temperatursensor in Ihrem Code identifizieren und eine Funktion wie diese verwenden:
float getTemperature(byte j){
sensoren.requestTemperaturesByAddress(tempSensorSerial[j]);
float tempC = Sensoren.getTempC(tempSensorSerial[j]);
RücklauftempC;
}