-
Notifications
You must be signed in to change notification settings - Fork 1
/
buch-rpi-pico-kap8-sm-blink-analog.py
67 lines (54 loc) · 1.38 KB
/
buch-rpi-pico-kap8-sm-blink-analog.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Pico - State Machine Blink wenn Analog-Level
# Datei: buch-rpi-pico-kap8-sm-blink-analog.py
from rp2 import PIO, StateMachine, asm_pio
from machine import Pin
import utime
# Variablen/Objekte
potentiometer = machine.ADC(28)
# State Machine
@asm_pio(set_init=PIO.OUT_LOW)
def blink():
wrap_target()
set(pins, 1) [31]
nop() [31]
nop() [31]
set(pins, 0) [31]
nop() [31]
nop() [31]
wrap()
@asm_pio(set_init=PIO.OUT_LOW)
def blink2():
wrap_target()
set(pins, 1) [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
set(pins, 0) [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
nop() [31]
wrap()
sm1 = StateMachine(1, blink, freq=1000, set_base=Pin(15))
sm2 = StateMachine(2, blink2, freq=1000, set_base=Pin(14))
#Loop
while True:
pot=potentiometer.read_u16()
if pot > 40000:
sm1.active(1)
else:
sm1.active(0)
if pot > 10000:
sm2.active(1)
else:
sm2.active(0)
utime.sleep(0.2)