Вы можете попробовать ниже. Ибо l oop проходит через него 150 раз.
Если вам определенно нужно, чтобы он выполнялся X раз, используйте a для l oop
Если вам нужно, чтобы он работал до Y (например, какой-либо ответ или ограничение по времени), используйте некоторое время l oop
Не был уверен, хотите ли вы попробовать / кроме как внутри для l oop или нет.
Для L oop
if __name__ == '__main__':
try:
for i in range(150):
start = time.time()
print('Turning Solenoid', i, 'On')
solenoid_on(channel)
time.sleep(1)
print('Turning Solenoid', i, 'Off')
solenoid_off(channel)
time.sleep(3)
print('Completed Solenoid', i, 'in', time.time()-start, 'seconds\n\n')
GPIO.cleanup()
except KeyboardInterrupt:
GPIO.cleanup()
Пока L oop
if __name__ == '__main__':
#minutes elapsed
elapsed = 0
start = time.time()
while elapsed < 10:
try:
print('Turning Solenoid', i, 'On')
solenoid_on(channel)
time.sleep(1)
print('Turning Solenoid', i, 'Off')
solenoid_off(channel)
time.sleep(3)
print('Completed Solenoid', i, 'in', time.time()-start, 'seconds\n\n')
GPIO.cleanup()
except KeyboardInterrupt:
GPIO.cleanup()
# set elapsed minutes
elapsed = (time.time()-start)/60
print('Elapsed time...', elapsed, 'minutes')