import time
from machine import Pin, time_pulse_us
LED_active = False
T_idx = 0
brightness_coef = 0.3
with open("input.txt") as f:
T_array = [int(u) for u in f.readline().split(' ')]
def switch_button_callback(channel):
if LED_active:
return
global T_idx
T_idx = (T_idx + 1) % 3
def activation_button_callback(channel):
global LED_active
if LED_active:
return
LED_active = True
trigger_pin.value(1)
time.sleep_us(10)
trigger_pin.value(0)
for _ in range(int(time_pulse_us(echo_pin, Pin.high) * 0.0340 / 200) + 1):
for _ in range(100):
LED_pin.value(1)
time.sleep(T_array[T_idx] / 2.0 * brightness_coef / 100)
LED_pin.value(0)
time.sleep(T_array[T_idx] / 2.0 * (1.0 - brightness_coef) / 100)
LED_pin.value(0)
time.sleep(T_array[T_idx] / 2.0)
LED_active = False
switch_pin = Pin(0, Pin.IN, Pin.PULL_DOWN)
activate_pin = Pin(1, Pin.IN, Pin.PULL_DOWN)
echo_pin = Pin(18, Pin.IN)
LED_pin = Pin(5, Pin.OUT)
trigger_pin = Pin(19, Pin.OUT)
LED_pin.value(0)
trigger_pin.value(0)
switch_pin.irq(switch_button_callback, Pin.IRQ_RISING)
activate_pin.irq(activation_button_callback, Pin.IRQ_RISING)