ich stehe vor dem Problem ein Ergebnis einer Funktion in einem tkinter Label auszugeben. (In diesem Fall das Ergebnis der Berechnung des Taupunktes).
Zu allererst habe ich mir die Werte des verwendeten DHT 22 Sensors und meiner Berechnung in Shell ausgeben gelassen und möchte diese nun in einem Label wiedergeben, was bis auf
die Ausgabe meiner Berechnung funktioniert.
Ich würde mich freuen wenn mir jemand auf die Sprünge helfen könnte
Gruß
Hier mal Code-Schnipsel des Programms, es handelt sich um den letzten Abschnitt "#Ausgabe in tkInter/Labels"
Code: Alles auswählen
temperature = StringVar()
temperature.set("----"+" °C")
humidity = StringVar()
humidity.set("----"+" %")
taupunkt = StringVar()
taupunkt.set("----"+" °C")
temperatureLabel = Label(root, fg="white", background="#00dbde", textvariable=temperature, font=("Helvetica", 40,"bold"))
temperatureLabel.place(x=580, y=100)
humidityLabel = Label(root, fg="white", background="#00dbde", textvariable=humidity, font=("Helvetica", 40,"bold"))
humidityLabel.place(x=580, y=200)
taupunktLabel = Label(root, fg="white", background="#00dbde", textvariable=taupunkt, font=("Helvetica", 40,"bold"))
taupunktLabel.place(x=580, y=300)
root.attributes("-fullscreen",True)
root.bind("<1>",exit)
def exit():
root.quit()
def taupunkt_berechnen(temp, hum):
a = a_bestimmen(temp)
b = b_bestimmen(temp)
saettigungsdampfdruck = saettigungsdampfdruck_berechnen(a, b, temp)
v = v_berechnen(hum, saettigungsdampfdruck)
taupunkt = b*v/(a-v)
return round(taupunkt, 2)
def v_berechnen(hum, saettigungsdampfdruck):
dampfdruck = dampfdruck_berechnen(hum, saettigungsdampfdruck)
v = math.log10(dampfdruck/6.1078)
return v
def dampfdruck_berechnen(hum, saettigungsdampfdruck):
dampfdruck = hum / 100 * saettigungsdampfdruck
return dampfdruck
def saettigungsdampfdruck_berechnen(a, b, temp):
saettigungsdampfdruck = 6.1078 * 10 ** ((a * temp) / (b + temp))
return saettigungsdampfdruck
def a_bestimmen(temp):
if temp >= 0:
a = 7.5
else:
a = 7.6
return a
def b_bestimmen(temp):
if temp >= 0:
b = 237.3
else:
b = 240.7
return b
# Sensor auslesen und ausgeben
def main():
root.after(2000, main)
# Temperatur und Luftfeuchtigkeit von DHT22 auslesen
hum,temp = dht.read_retry(dht.DHT22, DHT)
# Ausgabe in Shell
print('Temperatur={0:0.1f}°C Luftfeuchtigkeit={1:0.1f}%'.format(temp,hum))
print(taupunkt_berechnen(temp, hum))
# Ausgabe in tkInter/Labels
temp = "%.1f" %temp
temperature.set(temp+" °C")
hum = "%.1f" %hum
humidity.set(hum+" %")
tp =
taupunkt.set(tp+" °C")
if __name__ == "__main__":
main()