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

這個讓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)

3 留言

  1. 想請問一下 一般led 都要接 330 ohm的電阻.
    這樣直接給 會導致 電流過大嗎?

    回覆刪除
    回覆
    1. 會的, 如果時間久了應該會讓LED燒掉。那時剛入門學習, 只是覺得短時間沒關係, 建議還是要加上適當的電阻比較好。

      刪除
  2. 原來如此 您的網站讓我受益良多 謝謝

    回覆刪除

張貼留言

較新的 較舊