import time
import init as pyRTOS
from machine import Pin,ADC,PWM
value = 0
# Define tasks
def task1(self):
global value
re = ADC(Pin(28))
yield
while True:
time.sleep_ms(10)
val= re.read_u16()
value = (val/65535)*13000+3000
#print(f"Task 1 is running {value}")
yield [pyRTOS.timeout_ns(50000000)] # Sleep for 1 second
def task2(self):
global value
ou = PWM(Pin(27),freq=100,duty_u16=0)
yield
while True:
time.sleep_ms(10)
ou.duty_u16(int(value))
#print("Task 2 is running")
yield [pyRTOS.timeout_ns(50000000)] # Sleep for 1.5 seconds
# Create tasks
pyRTOS.add_task(pyRTOS.Task(task1,name='task1'))
pyRTOS.add_task(pyRTOS.Task(task2,name='task2'))
# Start the scheduler
pyRTOS.start()
while True:
time.sleep_ms(10)
pass