Herunterladen Inhalt Inhalt Diese Seite drucken

Werbung

Willkommen!
Vielen Dank, dass sie sich für unseren Temperatursensorsonde vom Typ
"DS18B20" mit 3m Kabel von AZ-Delivery entschieden haben. In den
nachfolgenden Seiten werden wir Ihnen erklären wie Sie das Gerät
einrichten und nutzen können.
Have fun!

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für AZ-Delivery DS18B20

  • Seite 1 Willkommen! Vielen Dank, dass sie sich für unseren Temperatursensorsonde vom Typ "DS18B20" mit 3m Kabel von AZ-Delivery entschieden haben. In den nachfolgenden Seiten werden wir Ihnen erklären wie Sie das Gerät einrichten und nutzen können. Have fun!
  • Seite 2 Der Temperatursensor DS18B20 ist in der Sonde hermetisch ein- geschlossen. Die Sondenspitze besteht aus Edelstahl und eignet sich am besten für die Temperaturmessung in feuchten Umgebungen. Der DS18B20 ist ein digitaler Temperatursensor, der digitale 9- bis 12-Bit- Temperaturmessungen liefert über...
  • Seite 3 HINWEIS: Es gibt eine Begrenzung der Kabellänge, die bei der Verwendung von Fernkommunikationsmitteln berücksichtigt werden sollte. Sie sollten auf die verteilte Kapazität und den Widerstand des Kabels achten. HINWEIS: Der DS18B20 sieht gewöhnlichen Transistoren ähnlich, achten Sie also darauf, ihn nicht als Transistor zu verwenden, um Schäden zu vermeiden!
  • Seite 4: Pinbelegung

    Pinbelegung "VCC" pin - liefert Strom für die Sonde. Obwohl die Stromversorgung zwischen 3,3V und 5,5V liegen kann, wird eine 5V-Versorgung empfohlen. Im Falle einer 5V-Stromversorgung können Sie bis zu 20 Meter lange Kabel verwenden, um die Sonde und Mikrocontroller zu verbinden. Bei einer Stromversorgung von 3,3V darf die Kabellänge jedoch nicht größer als ein Meter sein.
  • Seite 5: Einrichten Der Arduino Ide

    Einrichten der Arduino IDE Falls Sie die Arduino IDE noch nicht installiert haben, gehen Sie auf den Link:https://www.arduino.cc/en/Main/Software laden Installationsdatei für Ihre Betriebssystemplattform herunter. Für Windows doppelklicken die Benutzer auf die heruntergeladene ".exe"- Datei und folgen den Anweisungen im Installationsfenster.
  • Seite 6 Für Linux-User, laden Sie eine Datei mit der Erweiterung ".tar.xz" herunter, die Sie entpacken müssen. Wenn Sie sie extrahieren, gehen Sie in das extrahierte Verzeichnis und öffnen Sie das Terminal in diesem Verzeichnis. Sie müssen zwei ".sh"-Skripte ausführen, das erste heißt "arduino-linux-setup.sh"...
  • Seite 7 Auf fast allen Betriebssystemen ist ein Texteditor vorinstalliert (Windows kommt mit Notepad, Linux/Ubuntu mit Gedit, Linux/Raspbian mit Leafpad usw.). Alle diese Texteditoren sind für den Zweck des eBooks vollkommen in Ordnung. Als nächstes sollten Sie überprüfen, ob Ihr PC Ihr Arduino-Board erkennen kann.
  • Seite 8 Wenn Sie die Arduino IDE in Windows verwenden, lauten die Portnamen wie folgt: Für Linux-User lautet der Portname beispielsweise “/dev/ttyUSBx”, „x“ kann eine ganze Zahl zwischen 0 und 9 repräsentieren.
  • Seite 9: Wie Sie Den Raspberry Pi Und Python Einrichten

    Tastatur benötigen. Das Einzige, was Sie für diesen Modus benötigen, sind ein Raspberry Pi, eine Stromversorgung und eine Internetverbindung. All dies wird ausführlich in dem kostenlosen eBook "Raspberry Pi Quick Startup Guide" erklärt, das Sie auf unserer Website finden: https://www.az-delivery.de/products/raspberry-pi-kostenfreies-e-book?ls=en Das Betriebssystem Rasbian wird vorinstalliert mit Python ausgeliefert.
  • Seite 10: Verbindung Der Sonde Mit Dem Uno

    Verbindung der Sonde mit dem Uno Verbinden Sie die DS18B20-Sonde mit der Uno-Platine wie unten dargestellt: DS18B20 pin > Uno pin DATA > D2 Blauer Draht > 5V Roter Draht > GND Schwarzer Draht Hinweis: Ein Pull-Up-Widerstand mit 4.7kΩ ist zwischen dem DATA-Pin...
  • Seite 11 Um die Sonde DS18B20 mit Arduino-Boards verwenden zu können, müssen wir zunächst eine Bibliothek dafür herunterladen. Gehen Sie dazu: Werkzeuge > Bibliotheken verwalten, es erscheint ein neues Fenster. Geben Sie "Dallas" in das Suchfeld ein und laden Sie die Bibliothek "DallasTemperature"...
  • Seite 12 Schließen Sie drei DS18B20-Sonden an die Uno-Platine an, wie unten dargestellt: Nachfolgend finden Sie ein Sketch-Beispiel für drei DS18B20-Sonden auf derselben One-Wire-Schnittstelle: #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 // Data wire is plugged into D2 pin #define TEMPERATURE_PRECISION 12 OneWire oneWire(ONE_WIRE_BUS);...
  • Seite 13 void setup() { Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo"); sensors.begin(); Serial.print("Locating devices..."); Serial.print("Found "); Serial.print(sensors.getDeviceCount(), DEC); Serial.println(" devices."); Serial.print("Parasite power is: "); if(sensors.isParasitePowerMode()) { Serial.println("ON"); else Serial.println("OFF"); if(!sensors.getAddress(one, 0)) { Serial.println("Unable to find address for Device 0"); } if(!sensors.getAddress(two, 2)) { Serial.println("Unable to find address for Device 2");...
  • Seite 14 // one tab Serial.print("Device 0 Resolution: "); Serial.print(sensors.getResolution(one), DEC); Serial.println(); Serial.print("Device 1 Resolution: "); Serial.print(sensors.getResolution(two), DEC); Serial.println(); Serial.print("Device 2 Resolution: "); Serial.print(sensors.getResolution(three), DEC); Serial.println(); void printAddress(DeviceAddress deviceAddress) { for(uint8_t i = 0; i < 8; i++) { if(deviceAddress[i] < 16) Serial.print("0"); Serial.print(deviceAddress[i], HEX);...
  • Seite 15 void loop() { Serial.print("Requesting temperatures..."); sensors.requestTemperatures(); Serial.println("DONE"); printData(one); printData(two); printData(three); delay(1000); Laden Sie den Sketch in den Uno hoch und öffnen Sie den Serial Monitor (Tools > Serial Monitor). Die Ausgabe sollte wie folgt aussehen:...
  • Seite 16 Wir haben die Variable TEMPERATURE_PRECISION verwendet, um die Präzision für DS18B20-Sonden einzustellen. Die in dieser Variablen gespeicherte Zahl ist eine digitale Konvertierungszahl in Bits und kann im Bereich von 9 bis 12 liegen. Jede andere Zahl führt zu einem Fehler. Für die Zwecke dieses eBooks setzen wir sie auf den maximalen Wert 12.
  • Seite 17 Zur Initialisierung des Sensor-Objekts verwenden wir die Codezeile: sensors.begin() Mit dieser Zeile erkennt das Sensoren-Objekt alle an der One-Wire- Schnittstelle angeschlossenen Sonden. Es erkennt auch deren Adressen. Jetzt können wir überprüfen, ob die Sonden einwandfrei funktionieren, indem wir die folgenden Codezeilen für jede Sonde verwenden, die wir an die One-Wire-Schnittstelle anschließen: if(!sensors.getAddress(one, 0)) { Serial.println("Unable to find address: Device 0");...
  • Seite 18 Erst nach dieser Codezeile können wir Daten einer bestimmten Sonde lesen, indem wir die folgende Codezeile verwenden: float tempC = sensors.getTempC(deviceAddress); wobei wir das Argument deviceAddress in die Funktion integrieren, um Temperaturdaten von einer bestimmten Sonde zu lesen. Bei diesen Daten handelt es sich um Temperaturwerte in Celsius.
  • Seite 19: Verbindung Der Sonde Mit Dem Raspberry Pi

    Verbindung der Sonde mit dem Raspberry Pi Verbinden Sie die DS18B20-Sonde mit dem Raspberry Pi, wie unten abgebildet: DS18B20 pin > Raspberry Pi pin > GND [pin 4] Schwarzer Draht DATA > GPIO4 [pin 7] Blauer Draht > 3V3 [pin 17] Roter Draht Hinweis: Ein Pull-Up-Widerstand mit 4.7kΩ...
  • Seite 20: Aktivierung Des One-Wire-Interface

    Aktivierung des One-Wire-Interface Bevor wir die Sonde DS18B20 mit dem Raspberry Pi verwenden können, müssen wir zunächst die One-Wire-Schnittstelle in Raspbian aktivieren. Standardmäßig befindet sich die Hardware-One-Wire-Schnittstelle auf Pin GPIO4 (Pin 7), aber wir müssen sie erst aktivieren. Um die One-Wire- Schnittstelle zu aktivieren, öffnen Sie All Apps und gehen Sie zu:...
  • Seite 21 Wenn das neue Fenster erscheint, öffnen Sie die Registerkarte "Interfaces", suchen Sie nach Optionsfeldern mit der Bezeichnung "1-Wiret" und wählen Sie das Optionsfeld "Enable", wie auf dem folgenden Bild dargestellt: Sie werden aufgefordert, das System neu zu starten.
  • Seite 22 Wenn der Raspbian wieder hochgefahren ist, öffnen Sie das Terminal und führen Sie nacheinander folgenden Befehle aus: sudo modprobe w1-gpio sudo modprobe w1-therm cd /sys/bus/w1/devices/ Und wenn Sie folgenden Befehlt ausführen: Sollte die Ausgabe im Terminal, wie folgt, aussehen: 28-7285b3116461 and w1_bus_master1 die erste Nummer (28-7285b3116461) wird für Sie unterschiedlich sein, da dies die Serienadresse der jeweiligen Sonde ist, und jede Sonde hat ihre eigene eindeutige Serienadresse.
  • Seite 23: Aktivieren Mehrerer One-Wire-Interfaces

    Aktivieren mehrerer One-Wire-Interfaces Um die One-Wire-Schnittstelle ohne grafische Benutzeroberfläche (GUI) zu aktivieren, müssen Sie vor dem Neustart Ihres Raspberry Pi in der Datei "/boot/config.txt" die folgende Zeile hinzufügen: dtoverlay=w1-gpio oder dtoverlay=w1-gpio,gpiopin=x wobei x ein benutzerdefinierter Pin ist, falls Sie diesen verwenden möchten (Standard ist GPIO4 [Pin 7], wie wir im vorherigen Kapitel erwähnt haben).
  • Seite 24: Python-Skript Zum Lesen Mehrerer Ds18B20-Sonden

    Python-Skript zum Lesen mehrerer DS18B20-Sonden Wir haben uns aufgrund der besseren Verständlichkeit dafür entschieden, den Code in zwei Skripte aufzuteilen. Es folgt ein Code für den Klassenindex: import import glob import time class DS18B20: __init__(self): os.system('modprobe w1-gpio') os.system('modprobe w1-therm') base_dir...
  • Seite 25 # (one tab) _read_temp(self, index): open(self._devices[index], 'r') lines f.readlines() f.close() return lines tempC(self, index lines self._read_temp(index) retries while (lines[0].strip()[-3:] 'YES') (retries > time.sleep(0.1) lines self._read_temp(index) retries retries return equals_pos lines[1].find('t=') equals_pos temp lines[1][equals_pos return float(temp) 1000 else: return # error device_count(self): return self._count_devices...
  • Seite 26 Im Anschluss folgt der Code für das Hauptskript: import time from DS18B20classFile import DS18B20 degree_sign u'\xb0' # degree sign devices DS18B20() count devices.device_count() names devices.device_names() print('[press ctrl+c to end the script]') try: # Main program loop while True: print('\nReading temperature, number of sensors: {}' .format(count))
  • Seite 27 Speichern Sie das Skript unter dem Namen "DS18B20multiple.py" im selben Verzeichnis, in dem Sie das erste Skript gespeichert haben. Wir haben zum Beispiel drei DS18B20-Sonden an dieselbe One-Wire- Schnittstelle des Raspberry Pi angeschlossen, wie unten abgebildet:...
  • Seite 28 Die Ausgabe sollte wie unten abgebildet aussehen: Um das Skript zu stoppen, drücken Sie "STRG + C" auf der Tastatur. Sie können das Skript problemlos für eine oder mehrere DS18B20-Sonden verwenden. Sie haben es geschafft. Sie können jetzt unser Modul...
  • Seite 29 Möglichkeiten, sich Sachen Mikroelektronik weiterzubilden. Falls Sie nach noch weiteren hochwertigen Produkten für Arduino und Raspberry Pi suchen, sind Sie bei AZ-Delivery Vertriebs GmbH goldrichtig. bieten Ihnen zahlreiche Anwendungsbeispiele, ausführliche Installationsanleitungen, E-Books, Bibliotheken und natürlich die Unterstützung unserer technischen Experten.

Inhaltsverzeichnis