ich möchte an einem Ferraris-Stromzähler die Umdrehungen der "Zählerscheibe" mitschreiben. Um ein Permanentes schreiben bei "if MOVE.read_u16() > 3500:" zu vermeiden, würde ich gerne eine Bedingung einbauen, die das Programm erst wieder weiterlaufen lässt, wenn sich "if MOVE.read_u16() > 3500:" ändert.
Mir scheint "break" der falsche Ansatz zu sein und würde mich über eure Tips freuen.
Code: Alles auswählen
from machine import ADC,Pin #ADC0 an A0 von TCR5000 anschliessen.
from utime import sleep
from ds1302 import DS1302
MOVE = ADC(0)
LED = Pin(25,Pin.OUT)
ds =DS1302(Pin(18),Pin(17),Pin(16))
ds.date_time()
#ds.date_time([2022, 5, 2, 00, 12, 07, 00]) #auskommentieren
i = 0
while True:
(Y,M,D,day,hr,m,s)=ds.date_time()
if s < 10:
s = "0" +str(s)
if m < 10:
m = "0" +str(m)
if hr < 10:
hr = "0" +str(hr)
if D < 10:
D = "0" +str(D)
if M < 10:
M = "0" +str(M)
if Y < 10:
Y = "0" +str(Y)
if MOVE.read_u16() > 3500: #Freq sollte vorher getestet werden.
i = i + 1
print("1")
LED.value(1)
with open("red.txt", "a") as file:
file.write(str(Y) + ":" + str(M) + ":" + str(D) + " ; " )
file.write(str(hr) + ":" + str(m) + ":" + str(s) + " ::: " + (str(i)) + "\n" )
file.close()
def pause():
while True:
if Move.read_u16() < 3500:
break
sleep(2)
# if i >= 5:
# i = 0
# with open("red.txt", "a") as file:
# file.write("\n" + "Stillstand" + "\n" + "\n")
# file.close()
#
# sleep(10)
#if MOVE.read_u16() < 3500: #Freq sollte vorher getestet werden.
# i = 0
# print("0")
# LED.value(0)
#sleep(2)