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: 2020/02/27 14:31 von marlon