wetterstation:kombiniert
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| wetterstation:kombiniert [2020/02/27 14:31] – angelegt marlon | wetterstation:kombiniert [2020/02/27 14:36] (aktuell) – marlon | ||
|---|---|---|---|
| Zeile 10: | Zeile 10: | ||
| Das Programm:\\ | Das Programm:\\ | ||
| + | |||
| + | <code python> | ||
| + | import time | ||
| + | import RPi.GPIO as GPIO | ||
| + | import math | ||
| + | from gpiozero import Button | ||
| + | from gpiozero import MCP3008 | ||
| + | GPIO.setmode(GPIO.BOARD) | ||
| + | Niederschlag = 0 | ||
| + | N = 2 | ||
| + | adc = MCP3008(channel=0) | ||
| + | windrichtung = {0.4: " | ||
| + | y = " | ||
| + | j = " | ||
| + | f = 0 | ||
| + | k = 0 | ||
| + | radius_cm = 9.0 | ||
| + | zeit = time.time() | ||
| + | km_per_hour = 0 | ||
| + | sensor_path = "/ | ||
| + | wind_speed_sensor = Button(5) | ||
| + | Regensensor = Button(N) | ||
| + | old = 5 | ||
| + | |||
| + | def halfturn(): | ||
| + | global zeit | ||
| + | global km_per_hour | ||
| + | zeit2 = time.time() | ||
| + | diff = zeit2 - zeit | ||
| + | zeit = zeit2 | ||
| + | circumference_cm = math.pi * radius_cm | ||
| + | speed_cm_per_sec = circumference_cm / diff | ||
| + | km_per_sec = speed_cm_per_sec / 100000.0 | ||
| + | km_per_hour = km_per_sec * 3600 | ||
| + | |||
| + | wind_speed_sensor.when_pressed = halfturn | ||
| + | |||
| + | def get_temp(): | ||
| + | f = open(sensor_path, | ||
| + | content = f.readlines() | ||
| + | f.close() | ||
| + | temp = " | ||
| + | if (content[0].strip())[-3: | ||
| + | index = content[-1].find(' | ||
| + | if index != -1: | ||
| + | temp = float(content[-1][index+2: | ||
| + | temp = temp/1000.0 | ||
| + | return temp | ||
| + | |||
| + | def Temperatur(): | ||
| + | temperatur = get_temp() | ||
| + | temperatur = round(temperatur, | ||
| + | return str(temperatur) + " | ||
| + | |||
| + | def Windrichtung(): | ||
| + | x =round(adc.value*3.3, | ||
| + | if x in windrichtung: | ||
| + | return windrichtung[x] | ||
| + | |||
| + | def Niederschlagssensor(): | ||
| + | global Niederschlag | ||
| + | Niederschlag = Niederschlag + 0.1397 | ||
| + | |||
| + | Regensensor.when_pressed = Niederschlagssensor | ||
| + | |||
| + | while True: | ||
| + | b = Windrichtung() | ||
| + | a = Temperatur() | ||
| + | Zeit3 = time.time() | ||
| + | if Zeit3 - zeit > 3: | ||
| + | km_per_hour = 0 | ||
| + | |||
| + | # | ||
| + | c = km_per_hour = round(km_per_hour, | ||
| + | if b != y: | ||
| + | print(" | ||
| + | y = b | ||
| + | elif j != a: | ||
| + | print(" | ||
| + | j = a | ||
| + | elif k != c: | ||
| + | print(" | ||
| + | k = c | ||
| + | elif f != Niederschlag: | ||
| + | print(" | ||
| + | f = Niederschlag | ||
| + | |||
| + | </ | ||
wetterstation/kombiniert.1582813870.txt.gz · Zuletzt geändert: von marlon
