# 紅綠燈作業
## code
```python=
from machine import Pin,Timer
import time
_pins = [13,12,16] #腳位[綠,黃,紅]
led_num = 0 #腳位紀錄
led_time=[700,300,1200] #自動時間
mode = False #True->自動 False->手動
timer = Timer(0)
def init_led():#初始化led
for i in range(3):
Pin(_pins[i], Pin.OUT).value(0)
def auto_mode(t):#自動模式
global led_num
Pin(_pins[led_num], Pin.OUT).value(0)
led_num = (led_num+1)%3
Pin(_pins[led_num], Pin.OUT).value(1)
timer.init(period=led_time[led_num], mode=Timer.ONE_SHOT, callback=auto_mode)
def manual_mode(x):#手動模式
global led_num
if(Pin(36,Pin.IN,Pin.PULL_UP).value()==0):
Pin(_pins[led_num], Pin.OUT).value(0)
led_num = (led_num+1)%3
Pin(_pins[led_num], Pin.OUT).value(1)
while(Pin(36,Pin.IN,Pin.PULL_UP).value()==0):
pass
def mode_switch(pin):
init_led()
global mode,led_num
Pin(_pins[led_num], Pin.OUT).value(1)
if mode == True: #自動->手動
timer.init(period =100 ,mode = Timer.PERIODIC,callback = manual_mode)
else: #手動->自動
timer.init(period=led_time[led_num], mode=Timer.ONE_SHOT, callback=auto_mode)
mode = not mode
time.sleep(0.3)
Pin(5,Pin.IN,Pin.PULL_UP).irq(handler = mode_switch, trigger = Pin.IRQ_FALLING)
```