-
Notifications
You must be signed in to change notification settings - Fork 0
/
traffic_updated.py
58 lines (45 loc) · 1.39 KB
/
traffic_updated.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
import time
from machine import Pin
from neopixel import NeoPixel
from ir_rx.nec import NEC_16, SAMSUNG
max_lum =100
rgb_led_num = 22
rgb_led_pin = Pin(rgb_led_num, Pin.OUT)
rgb_led = NeoPixel(rgb_led_pin, 1)
isPowerOn=1
rgb_led[0]=(0,255,0)
rgb_led.write()
def remoteSwitch(data, addr, ctrl):
global isPowerOn
if data > 0:
print('data {:02x}'.format(data))
if data == 0x43 and isPowerOn:
rgb_led[0]=(0,0,0)
rgb_led.write()
isPowerOn=0
elif data == 0x43 and not isPowerOn:
rgb_led[0]=(0,255,0)
rgb_led.write()
isPowerOn=1
if isPowerOn:
if data == 0x46 and rgb_led[0] == (0,255,0):
rgb_led[0]=(0,0,0)
rgb_led.write()
flash_yellow()
rgb_led[0]=(255,0,0)
rgb_led.write()
if data == 0x44 and rgb_led[0] == (255,0,0):
rgb_led[0]=(0,0,0)
rgb_led.write()
flash_yellow()
rgb_led[0]=(0,255,0)
rgb_led.write()
ir = NEC_16(Pin(15,Pin.IN),remoteSwitch)
def flash_yellow():
for i in range(0,5):
rgb_led[0]=(255,255,0)
rgb_led.write()
time.sleep_ms(500)
rgb_led[0]=(0,0,0)
rgb_led.write()
time.sleep_ms(500)