Herunterladen Inhalt Inhalt Diese Seite drucken
Vorschau ausblenden Andere Handbücher für DS18B20:
Willkommen!
Vielen
Dank,
dass
Sie
sich
für
unseren
AZ-Delivery
DS18B20
Temperatursensor entschieden haben. Auf den folgenden Seiten zeigen wir
Ihnen, wie Sie dieses praktische Gerät bedienen und einrichten können.
Viel Spaß!
Inhaltsverzeichnis
loading

Inhaltszusammenfassung für AZ-Delivery DS18B20

  • Seite 1 Willkommen! Vielen Dank, dass sich für unseren AZ-Delivery DS18B20 Temperatursensor entschieden haben. Auf den folgenden Seiten zeigen wir Ihnen, wie Sie dieses praktische Gerät bedienen und einrichten können. Viel Spaß!
  • Seite 2: Inhaltsverzeichnis

    Verbinden des Sensors mit dem Atmega328P Board ........10 Bibliothek für Arduino IDE ................11 Skizzenbeispiel .................... 13 Verbinden des Sensors mit dem Raspberry Pi ..........19 Freischaltung der Schnittstelle ..............20 Aktivieren mehrerer Schnittstellen ..............23 Python-Skript für die Verwendung mehrerer DS18B20-Sensoren ....24 - 2 -...
  • Seite 3: Einführung

    Einführung Der DS18B20 ist ein digitaler Temperatursensor, der 9 bis 12 Bits digitale Temperaturmessungen liefert und eine Alarmfunktion mit nichtflüchtigen, vom Benutzer programmierbaren oberen und unteren Auslösepunkten besitzt. Der Sensor kommuniziert über einen Bus, der nur einen Datenpin, einen Stromversorgungspin und einen Erdungspin für die Kommunikation mit einem Mikrocontroller benötigt.
  • Seite 4: Die Pinbelegung

    Die Pinbelegung VCC pin - versorgt den Sensor mit Strom. Obwohl die Versorgungsspannung zwischen 3,3V und 5,5V liegen kann, wird eine 5V-Versorgung empfohlen. Im Falle einer 5V-Versorgung. Ein Kabel, das Sensor und Mikrocontroller verbindet, kann bis zu 20 Meter lang sein. Bei einer Versorgungsspannung von 3,3 V sollte die Kabellänge jedoch nicht länger als ein Meter sein, da sonst der Spannungsabfall in der Leitung zu Messfehlern führt.
  • Seite 5: Einrichten Der Arduino Ide

    Einrichten der Arduino IDE Wenn Sie Arduino IDE noch nicht installiert haben, folgen Sie dem Link: https://www.arduino.cc/en/Main/Software und laden Sie die Installationsdatei für Ihr Betriebssystem herunter. Für Windows-Benutzer: Doppelklicken Sie auf die heruntergeladene .exe- Datei und folgen Sie den Anweisungen im Installationsfenster.. Für Linux-Benutzer laden Sie eine Datei mit der Erweiterung .tar.xz herunter, die Sie entpacken müssen.
  • Seite 6 Um das erste Skript im Terminal auszuführen, führen Sie den folgenden Befehl aus: sh arduino-linux-setup.sh user_name user_name - ist der Name eines Superusers im Linux-Betriebssystem. Sie werden aufgefordert, das Passwort für den Superuser einzugeben. Warten Sie ein paar Minuten, bis das Skript alles abgeschlossen hat.
  • Seite 7 Öffnen Sie die frisch installierte Arduino IDE und gehen Sie zu: Werkzeuge > Board > {Ihr Boardname hier} {Ihr Boardname hier} sollte der Arduino/Genuino Uno sein, wie Sie auf dem folgenden Bild sehen können: Sie müssen den Port auswählen, an den das Mikrocontroller-Board angeschlossen ist.
  • Seite 8 Für Linux-Benutzer lautet der Portname zum Beispiel /dev/ttyUSBx, wobei x eine ganze Zahl zwischen 0 und 9 ist, zum Beispiel. - 8 -...
  • Seite 9: Wie Man Den Raspberry Pi Und Python Einrichtet

    Modus benötigen, sind der Raspberry Pi, eine Stromversorgung und eine Internetverbindung. All dies wird im Detail im 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 Auf dem Raspbian-Betriebssystem ist Python bereits vorinstalliert. - 9 -...
  • Seite 10: Verbinden Des Sensors Mit Dem Atmega328P Board

    Verbinden des Sensors mit dem Atmega328P Board Verbinden Sie den DS18B20-Sensor mit dem Mikrocontroller-Board wie im folgenden Anschlussplan dargestellt: DS18B20 pin > Mikrocontroller-Pin DATA > D2 Blauer Draht > 5V Rote Leitung > GND Schwarzer Draht HINWEIS: Zwischen dem OUT-Pin und dem VCC-Pin ist ein 4,7kΩ Pull-up- Widerstand angeschlossen.
  • Seite 11: Bibliothek Für Arduino Ide

    Bibliothek für Arduino IDE Um den DS18B20 Sensor mit dem Atmega328P Board zu verwenden, müssen wir zuerst eine Bibliothek dafür herunterladen. Gehe zu: Werkzeuge > Bibliotheken verwalten Wenn sich ein neues Fenster öffnet, geben Sie Dallas in das Suchfeld ein...
  • Seite 12 Verbinden Sie drei DS18B20-Sensoren mit dem Atmega328P-Board, wie im folgenden Anschlussplan dargestellt: - 12 -...
  • Seite 13: Skizzenbeispiel

    Skizzenbeispiel Das folgende Skizzenbeispiel bezieht sich auf drei DS18B20-Sensoren an 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); DallasTemperature sensors(&oneWire); DeviceAddress one, two, three; void setup() { Serial.begin(9600);...
  • Seite 14 Serial.print("Device 0 Address: "); printAddress(one); Serial.println(); Serial.print("Device 1 Address: "); printAddress(two); Serial.println(); Serial.print("Device 2 Address: "); printAddress(three); Serial.println(); sensors.setResolution(one, TEMPERATURE_PRECISION); sensors.setResolution(two, TEMPERATURE_PRECISION); sensors.setResolution(three, TEMPERATURE_PRECISION); 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: ");...
  • Seite 15 Serial.println(sensors.getResolution(deviceAddress)); } void printData(DeviceAddress deviceAddress) { printTemperature(deviceAddress); Serial.print(" ; Device: "); printAddress(deviceAddress); Serial.println(); void loop() { Serial.print("Requesting temperatures..."); sensors.requestTemperatures(); Serial.println("DONE"); printData(one); printData(two); printData(three); delay(1000); } Laden Sie den Sketch auf das Mikrocontroller-Board hoch und öffnen Sie Serial Monitor (Tools > Serial Monitor). Das Ergebnis sollte so aussehen, wie in der Abbildung unten gezeigt: - 15 -...
  • Seite 16 Wir haben die Variable TEMPERATURE_PRECISION verwendet, um die Genauigkeit für DS18B20-Sensoren einzustellen. Die in dieser Variablen gespeicherte Zahl ist eine digitale Umwandlungszahl in Bits und kann im Bereich von 9 bis 12 liegen, jede andere Zahl führt zu einem Fehler. Für dieses eBook haben wir die Variable auf den Maximalwert (12) gesetzt.
  • Seite 17 Jetzt können wir überprüfen, ob die Sensoren richtig funktionieren, indem wir die folgenden Codezeilen für jeden Sensor verwenden, den wir an die One- Wire-Schnittstelle anschließen: if(!sensors.getAddress(one, 0)) { Serial.println("Unable to find address: Device 0"); } wobei one die Adresse des ersten Sensors ist. Um die Genauigkeit der Analog-Digital-Wandlung für einen bestimmten Sensor einzustellen, verwenden wir die folgende Codezeile: sensors.setResolution(one, TEMPERATURE_PRECISION)
  • Seite 18 Temperaturwerte in Celsius, und um sie in Fahrenheit umzuwandeln, verwenden wir die folgende Codezeile: DallasTemperature::toFahrenheit(tempC) - 18 -...
  • Seite 19: Verbinden Des Sensors Mit Dem Raspberry Pi

    Verbinden des Sensors mit dem Raspberry Pi Verbinden Sie den DS18B20-Sensor mit dem Raspberry Pi wie im folgenden Anschlussplan dargestellt: DS18B20 pin > Raspberry Pi pin > GND [pin 6] Schwarzes Kabel DATA > GPIO4 [pin 7] Blaues Kabel > 3V3...
  • Seite 20: Freischaltung Der Schnittstelle

    Freischaltung der Schnittstelle Bevor wir den DS18B20-Sensor mit dem Raspberry Pi verwenden können, müssen wir zunächst die Busschnittstelle in Raspbian aktivieren. Standardmäßig ist die Hardware-Bus-Schnittstelle auf Pin GPIO4 (Pin 7), aber wir müssen sie zuerst aktivieren. Um die Busschnittstelle zu aktivieren, gehen Sie zu: Applications Menu >...
  • Seite 21 Wenn das neue Fenster angezeigt wird, öffnen Sie die Registerkarte Schnittstellen und suchen Sie nach den Optionsschaltflächen mit der Bezeichnung 1-Wire, und wählen Sie die Optionsschaltfläche Enable (Aktivieren), wie in der folgenden Abbildung dargestellt: Sie werden aufgefordert, das System neu zu starten. - 21 -...
  • Seite 22 Wenn Raspbian wieder hochgefahren ist, öffnen Sie das Terminal und führen Sie die folgenden Befehle nacheinander aus: sudo modprobe w1-gpio sudo modprobe w1-therm cd /sys/bus/w1/devices/ und wenn Sie den folgenden Befehl: ls ausführen, sollte die Ausgabe im Terminal wie folgt aussehen: 28-7285b3116461 und w1_bus_master1 Die erste Zahl 28-7285b3116461 wird für Sie unterschiedlich sein, da dies die serielle Adresse des spezifischen Sensors ist, und jeder Sensor hat seine...
  • Seite 23: Aktivieren Mehrerer Schnittstellen

    Aktivieren mehrerer Schnittstellen Um die Busschnittstelle ohne grafische Benutzeroberfläche (GUI) zu aktivieren, bevor Sie Ihren Raspberry Pi neu starten, müssen Sie in der Datei auf: /boot/config.txt folgende Zeile einfügen: dtoverlay=w1-gpio oder dtoverlay=w1-gpio,gpiopin=x wobei x ein benutzerdefinierter Pin ist, wenn Sie ihn verwenden möchten (Standard ist GPIO4 [Pin 7], wie im vorherigen Kapitel erwähnt).
  • Seite 24: Python-Skript Für Die Verwendung Mehrerer Ds18B20-Sensoren

    Python-Skript für die Verwendung mehrerer DS18B20- Sensoren Wir haben uns entschieden, den Code in zwei Skripte aufzuteilen, da er so besser lesbar ist. Im Folgenden finden Sie den Code für die Klasse subscript: import import glob import time class DS18B20: __init__(self): os.system('modprobe...
  • 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 Folgenden finden Sie den 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 Wir haben zum Beispiel drei DS18B20-Sensoren an dieselbe One-Wire- Schnittstelle des Raspberry Pi angeschlossen, wie im folgenden Anschlussplan dargestellt: Um das Hauptskript auszuführen, öffnen Sie das Terminal in dem Verzeichnis, in dem Sie beide Skripte gespeichert haben, und führen Sie den folgenden Befehl aus: python3 DS18B20multiple.py...
  • Seite 28 Das Ergebnis sollte so aussehen wie in der folgenden Abbildung gezeigt: Um das Skript zu beenden, drücken Sie STRG + C auf der Tastatur. Sie können das Skript problemlos für einen oder mehrere DS18B20- Sensoren verwenden. Sie haben es geschafft! Jetzt können Sie Ihr Modul für verschiedene Projekte...
  • Seite 29 Sie mit Hilfe von vielen Beispielskripten und anderen Tutorials, die Sie im Internet finden können. Wenn Sie auf der Suche nach hochwertiger Mikroelektronik und Zubehör sind, sind Sie bei der AZ-Delivery Vertriebs GmbH an der richtigen Adresse. Sie erhalten zahlreiche Anwendungsbeispiele, vollständige...

Inhaltsverzeichnis