樹莓派使用GPIO接口來控制LED燈,自制五彩炫光的節日彩燈。
1.硬件准備
a. 樹莓派(Raspberry Pi)一個
b. 彩色RGB二極管
c. 杜邦線
d. 5V電源引腳
以上所有零件均可在某寶上 買到,都很便宜。
LED燈上的4根引腳分別是VCC,R,G,B。 VCC需要接到電源正極。我們把它連到樹莓派的5V引腳上。 R,G,B分別是紅綠藍燈的負極接口。我們把它們連接到樹莓派的GPIO口上。 然后跟前一篇一樣,使用PWM來控制3個小燈的明暗程度即可混合出各種不同顏色的光。
2.組裝圖
接線圖
按照例圖接好線 組裝完成以后,下面就可以開始編寫控制的Python代碼。
3.編寫代碼
#/home/pi/LEDight.py import RPi.GPIO import time R,G,B=15,18,14 RPi.GPIO.setmode(RPi.GPIO.BCM) RPi.GPIO.setup(R, RPi.GPIO.OUT) RPi.GPIO.setup(G, RPi.GPIO.OUT) RPi.GPIO.setup(B, RPi.GPIO.OUT) pwmR = RPi.GPIO.PWM(R, 70) pwmG = RPi.GPIO.PWM(G, 70) pwmB = RPi.GPIO.PWM(B, 70) pwmR.start(0) pwmG.start(0) pwmB.start(0) try: t = 0.4 while True: # 紅色燈全亮,藍燈,綠燈全暗(紅色) pwmR.ChangeDutyCycle(0) pwmG.ChangeDutyCycle(100) pwmB.ChangeDutyCycle(100) time.sleep(t) # 綠色燈全亮,紅燈,藍燈全暗(綠色) pwmR.ChangeDutyCycle(100) pwmG.ChangeDutyCycle(0) pwmB.ChangeDutyCycle(100) time.sleep(t) # 藍色燈全亮,紅燈,綠燈全暗(藍色) pwmR.ChangeDutyCycle(100) pwmG.ChangeDutyCycle(100) pwmB.ChangeDutyCycle(0) time.sleep(t) # 紅燈,綠燈全亮,藍燈全暗(黃色) pwmR.ChangeDutyCycle(0) pwmG.ChangeDutyCycle(0) pwmB.ChangeDutyCycle(100) time.sleep(t) # 紅燈,藍燈全亮,綠燈全暗(洋紅色) pwmR.ChangeDutyCycle(0) pwmG.ChangeDutyCycle(100) pwmB.ChangeDutyCycle(0) time.sleep(t) # 綠燈,藍燈全亮,紅燈全暗(青色) pwmR.ChangeDutyCycle(100) pwmG.ChangeDutyCycle(0) pwmB.ChangeDutyCycle(0) time.sleep(t) # 紅燈,綠燈,藍燈全亮(白色) pwmR.ChangeDutyCycle(0) pwmG.ChangeDutyCycle(0) pwmB.ChangeDutyCycle(0) time.sleep(t) # 調整紅綠藍LED的各個顏色的亮度組合出各種顏色 for r in xrange (0, 101, 20): pwmR.ChangeDutyCycle(r) for g in xrange (0, 101, 20): pwmG.ChangeDutyCycle(g) for b in xrange (0, 101, 20): pwmB.ChangeDutyCycle(b) time.sleep(0.01) except KeyboardInterrupt: pass pwmR.stop() pwmG.stop() pwmB.stop() RPi.GPIO.cleanup()
寫完代碼后 把文件放在 /home/pi 目錄下 然后在終端執行命令 python /home/pi/LEDight.py 即可看到效果。
特別注意接線方式,以及復制代碼的時候 確保代碼縮進正確,輸出引腳 紅綠藍 線 千萬別接錯了。
效果圖
關注一下,更多精彩,不容錯過!
👇👇👇