Benutzer-Werkzeuge

Webseiten-Werkzeuge


wetterstation:ds18b20

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
wetterstation:ds18b20 [2019/11/12 16:47] – angelegt adminwetterstation:ds18b20 [2020/01/23 13:59] (aktuell) marlon
Zeile 27: Zeile 27:
  
 ==== Verkabelung ==== ==== Verkabelung ====
-[[https://pinout.xyz/pinout/1_wire|GPIO-Leiste Abbildung]] +Das gelbe Kabel und das rote Kabel (bzw. das rechte und mittlere Beinchen) **müssen mit einem 4,7kOhm Widerstand** (gelb-lila-pink-[gold]) verbunden werden. Die Pins werden von links nach rechts und oben nach unten durchnummeriert. Beachte: Die Bezeichnungen sind dabei aber völlig unterschiedlich (siehe: [[https://pinout.xyz/pinout/1_wire|GPIO-Leiste Abbildung]])
- +
-Das gelbe Kabel und das rote Kabel müssen mit einem 4,7kOhm Widerstand (gelb-lila-pink-[gold]) verbunden werden.+
  
 +**Für den wasserdichten Sensor mit Kabel gilt:**\\
 rotes Kabel: 3V3 (PIN 1)\\ rotes Kabel: 3V3 (PIN 1)\\
 schwarzes Kabel: GND (bspw. PIN 6)\\ schwarzes Kabel: GND (bspw. PIN 6)\\
 gelbes Kabel: BCM/GPIO 4 (PIN 7) gelbes Kabel: BCM/GPIO 4 (PIN 7)
  
-Die Pins werden von links nach rechts und oben nach unten durchnummeriertDie Bezeichnungen sind dabei aber völlig unterschiedlich.+**Für das Bauteil gilt (flache Seite mit Beschriftung zugewandt):**\\ 
 +linkes Beinchen: GND (bspwPIN 6)\\ 
 +mittleres Beinchen: BCM/GPIO 4 (PIN 7)\\ 
 +rechtes Beinchen: 3V3 (PIN 1) 
 + 
 +{{:wetterstation:ds18b20-verkabelung.png|}} 
  
 ==== Beispiel ==== ==== Beispiel ====
Zeile 61: Zeile 66:
     time.sleep(1)     time.sleep(1)
 </code> </code>
 +
 +==== Beispiel 2 ====
 +
 +In diesem Beispiel wird die Temperatur mit °C und nur dann ausgegeben, wenn diese sich ändert.
 +
 +
 +<code python>
 +import time
 + 
 +def get_temp(filename):
 +    f = open(filename, 'r')
 +    content = f.readlines()
 +    f.close()
 + 
 +    temp = "error"
 +    if (content[0].strip())[-3:] == "YES":
 +        index = content[-1].find('t=')
 +        if index != -1:
 +            temp = float(content[-1][index+2:-1].strip())
 +            temp = temp/1000.0
 +    return temp
 + 
 +sensor_path = "/sys/bus/w1/devices/28-00000ade081f/w1_slave"
 +y = 100
 +
 +while True:
 +        Temperatur = get_temp(sensor_path)
 +        Temperatur = round(Temperatur, 1)
 +        if Temperatur != y:
 +                print(str(Temperatur) + "°C")
 +                y = Temperatur
 +
 +</code>
 +
wetterstation/ds18b20.1573577244.txt.gz · Zuletzt geändert: 2019/11/12 16:47 von admin