@Domieos: Beim ersten Code sollte man die ``with``-Anweisung verwenden statt die Datei mit `close()` nur dann zu schliessen wenn der Programmfluss auch tatsächlich bis zu der Zeile kommt. Ausserdem ist es ratsam bei Textdateien immer eine Kodierung anzugeben, damit überall die gleiche Kodierung genommen wird, und die nicht vom System abhängig ist auf dem man das ausführt:
Code: Alles auswählen
with open("Neu", "a", encoding="ascii") as file:
file.write("Depop\n")
Importe von verschiedenen Modulen werden üblicherweise nicht in einer ``import``-Anweisung zusammengefasst.
Eingerückt wird mit vier Leerzeichen pro Ebene, nicht mit nur einem. Hier im Forum sollte man den Quelltext dann auch in Code-Tags setzen, damit man die Einrückung auch sehen kann, denn die ist bei Python ein wichtiger Bestandteil der Syntax.
``%`` würde ich nicht mehr verwenden wo man das nicht muss. In modernem Python-Code verwendet man entweder die `format()`-Methode auf Zeichenketten, oder ab Python 3.6 f-Zeichenkettenliterale um Werte in Zeichenketten zu formatieren.
Man muss auch nicht jeden Zwischenwert an einen eigenen Namen binden. `voltage` trägt nicht wirklich zum besseren Verständnis des Programms bei.
`channel` ist der Name des ersten Arguments von MCP3008.__init__() und 0 ist der Defaultwert. Das kann man sich also auch sparen das anzugeben.
Code: Alles auswählen
import time
import gpiozero
adc = gpiozero.MCP3008()
while True:
print(f"Spannung am Wassersensor: {adc.voltage:.2f} V")
time.sleep(5)