Project
This commit is contained in:
104
led.py
Normal file
104
led.py
Normal file
@@ -0,0 +1,104 @@
|
||||
import utime
|
||||
import random
|
||||
from machine import Pin
|
||||
|
||||
def time_ms() -> int:
|
||||
return int(utime.ticks_ms())
|
||||
|
||||
""" global led1
|
||||
global led2
|
||||
global led3
|
||||
global led4
|
||||
global led1_state
|
||||
global led2_state
|
||||
global led3_state
|
||||
global led4_state
|
||||
global next_on_time_1
|
||||
global next_on_time_2
|
||||
global next_on_time_3
|
||||
global next_on_time_4 """
|
||||
|
||||
led1 = Pin(2, Pin.OUT)
|
||||
led2 = Pin(3, Pin.OUT)
|
||||
led3 = Pin(4, Pin.OUT)
|
||||
led4 = Pin(5, Pin.OUT)
|
||||
|
||||
current_time = time_ms()
|
||||
led1_last_time = current_time
|
||||
led2_last_time = current_time
|
||||
led3_last_time = current_time
|
||||
led4_last_time = current_time
|
||||
|
||||
led1_state = 0
|
||||
led2_state = 0
|
||||
led3_state = 0
|
||||
led4_state = 0
|
||||
|
||||
next_on_time_1 = current_time + 1000
|
||||
next_on_time_2 = current_time + 1000
|
||||
next_on_time_3 = current_time + 1000
|
||||
next_on_time_4 = current_time + 1000
|
||||
|
||||
def single_led_test(led):
|
||||
led.value(0)
|
||||
utime.sleep_ms(400)
|
||||
led.value(1)
|
||||
utime.sleep_ms(400)
|
||||
|
||||
def led_test():
|
||||
single_led_test(led1)
|
||||
single_led_test(led2)
|
||||
single_led_test(led3)
|
||||
single_led_test(led4)
|
||||
|
||||
def update_led(state, next_on_time, led):
|
||||
current_time = time_ms()
|
||||
|
||||
try:
|
||||
if state == 0:
|
||||
if next_on_time <= current_time:
|
||||
state = 1
|
||||
next_on_time = current_time + random.randint(100, 400)
|
||||
led.value(0)
|
||||
else:
|
||||
if next_on_time <= current_time:
|
||||
state = 0
|
||||
led.value(1)
|
||||
next_on_time = current_time + random.randint(100, 2000)
|
||||
except Exception as e:
|
||||
print('Error in update_led: ' + str(e))
|
||||
pass
|
||||
|
||||
return state, next_on_time
|
||||
|
||||
def update_leds():
|
||||
global led1
|
||||
global led2
|
||||
global led3
|
||||
global led4
|
||||
global led1_state
|
||||
global led2_state
|
||||
global led3_state
|
||||
global led4_state
|
||||
global next_on_time_1
|
||||
global next_on_time_2
|
||||
global next_on_time_3
|
||||
global next_on_time_4
|
||||
|
||||
(led1_state, next_on_time_1) = update_led(led1_state, next_on_time_1, led1)
|
||||
(led2_state, next_on_time_2) = update_led(led2_state, next_on_time_2, led2)
|
||||
(led3_state, next_on_time_3) = update_led(led3_state, next_on_time_3, led3)
|
||||
(led4_state, next_on_time_4) = update_led(led4_state, next_on_time_4, led4)
|
||||
|
||||
def led_init():
|
||||
global led1
|
||||
global led2
|
||||
global led3
|
||||
global led4
|
||||
|
||||
print('Led init')
|
||||
|
||||
led1.value(1)
|
||||
led2.value(1)
|
||||
led3.value(1)
|
||||
led4.value(1)
|
||||
Reference in New Issue
Block a user