]> vault307.fbx.one Git - random.git/blob - warHammer.py
different projects to learn new things
[random.git] / warHammer.py
1 from machine import Pin, PWM
2 import time
3 import _thread
4
5 red=PWM(Pin(15))
6 red.freq(5000)
7 red.duty_u16(65535)
8 blue=PWM(Pin(14))
9 blue.freq(5000)
10 blue.duty_u16(0)
11 green=PWM(Pin(13))
12 green.freq(5000)
13 green.duty_u16(0)
14
15 led1=Pin(16,Pin.OUT) #BR1
16 led2=Pin(17,Pin.OUT) #BR2
17 led3=Pin(18,Pin.OUT) #BR3
18 led4=Pin(19,Pin.OUT) #BR4
19 led5=Pin(20,Pin.OUT) #BR5
20 br=[led1,led2,led3,led4,led5] #br[i].toggle()
21
22 ledD=Pin(22,Pin.OUT) #blue LED
23 ledD.value(0)
24 ledA=Pin(21,Pin.OUT) #red LED
25 ledA.value(1)
26
27 global state
28
29
30 button0=Pin(12,Pin.IN,Pin.PULL_DOWN) #control ledD&ledA
31 global button0_pressed
32 button0_pressed=False
33 def button0_reader_thread():
34 global button0_pressed
35 while True:
36 if button0.value()==1:
37 button0_pressed=True
38 time.sleep(0.01)
39 _thread.start_new_thread(button0_reader_thread,())
40 while True:
41 if button0_pressed==True:
42 ledA.toggle()
43 ledD.toggle()
44 time.sleep(1)
45 button0_pressed=False
46
47 while True:
48 if state==0:
49 stateZero()
50 elif state==1:
51 stateOne()
52 elif state==2:
53 stateTwo()
54 elif state==3:
55 stateThree()
56 elif state==4:
57 stateFour()
58 elif state==5:
59 stateFive()
60 elif state==6:
61 stateSix()
62 elif state==7:
63 stateSeven()
64
65 button1_presses=0
66 last_time=0
67
68
69 button1=Pin(11,Pin.IN,Pin.PULL_DOWN) #control RGB and phases
70
71 def button1_pressed_handler():
72 global button1_presses, last_time
73 new_time=time.ticks_ms()
74 if (new_time-last_time)>200:
75 button1_presses+=1
76 last_time=new_time
77
78 button1.irq(trigger=machine.Pin.IRQ_FALLING,handler=button1_pressed_handler)
79
80 old_presses=0
81 while True:
82 if button1_presses!=old_presses:
83 state=button1_presses
84 print(state)
85 old_presses=button1_presses
86
87
88 def stateZero():
89 red.duty_u16(65535)
90 green.duty_u16(0)
91 blue.duty_u16(0)
92 #state=1
93 return
94
95 def stateOne():
96 red.duty_u16(15000)
97 green.duty_u16(0)
98 blue.duty_u16(65535)
99 #state=2
100 i+=1
101 led[i].on()
102 return
103
104 def stateTwo():
105 red.duty_u16(65535)
106 green.duty_u16(0)
107 blue.duty_u16(65535)
108 #state=3
109 return
110
111 def stateThree():
112 red.duty_u16(35000)
113 green.duty_u16(65535)
114 blue.duty_u16(0)
115 #state=4
116 return
117
118 def stateFour():
119 red.duty_u16(15000)
120 green.duty_u16(15000)
121 blue.duty_u16(65535)
122 #state=5
123 return
124
125 def stateFive():
126 red.duty_u16(65535)
127 green.duty_u16(15000)
128 blue.duty_u16(0)
129 #state=6
130 return
131
132 def stateSix():
133 red.duty_u16(0)
134 green.duty_u16(65535)
135 blue.duty_u16(65535)
136 #state=7
137 return
138
139 def stateSeven():
140 red.duty_u16(0)
141 green.duty_u16(0)
142 blue.duty_u16(0)
143 state=0
144 button1_presses=0
145 return