星期日, 1月 26, 2014

Raspberry Pi 筆記(三):Python控制LED

[2014/01/26]
這個讓LED閃亮的Python程式已經完成兩個多星期,為了測試WebIOPi的功能,一直保留這個接線,直到WebIOPi測試完成後,才開始畫線路圖,放到 Blog來跟各位分享。


[材料]

• Raspberry Pi Model B x 1
• 麵包版 x 1
• LED 綠色 x 1
• LED紅色 x 1
• 連接線 x 3條

[接線]

將Raspberry Pi的第7pin (GPIO4)接到綠色 LED的一支腳,第11pin (GPIO17)接到紅色 LED的一支腳,LED的另一支腳則接到第6pin (Ground)。

[程式一]

#讓紅色及綠色LED各閃10次,每次間隔0.5秒
import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)

#設定LED pin變數
LED0    = 7   
LED1    = 11
counter = 0

#設定為輸出
GPIO.setup(LED0,GPIO.OUT)
GPIO.setup(LED1,GPIO.OUT)

#迴圈10次
while(counter < 10):
        GPIO.output(LED0,GPIO.HIGH)
        GPIO.output(LED1,GPIO.LOW)
        time.sleep(0.5)
        GPIO.output(LED0,GPIO.LOW)
        GPIO.output(LED1,GPIO.HIGH)
        time.sleep(0.5)
        counter = counter + 1
GPIO.output(LED0,GPIO.LOW)
GPIO.output(LED1,GPIO.LOW)

[實驗結果]

在Terminal視窗執行程式:
$ sudo python led.py


[程式二]

#讓紅色LED燈分成0-100等級亮度
import RPi.GPIO as GPIO
led_pin = 17

GPIO.setmode(GPIO.BCM)
GPIO.setup(led_pin, GPIO.OUT)

pwm_led = GPIO.PWM(led_pin, 500)
pwm_led.start(100)

while True:
   duty_s = raw_input("輸入亮度值(0~100):")
   duty = int(duty_s)
   pwm_led.ChangeDutyCycle(duty)

Share:

0 意見:

張貼留言