樹莓派GPIO控制RGB彩色LED燈


樹莓派GPIO通過PWM來控制RGB彩色LED燈,可以顯示任何我們想要的顏色。

 

RGB模塊簡介

這個RGB彩色LED里其實有3個燈,分別是紅燈、綠燈和藍燈。控制這三個燈分別發出不同強度的光,混合起來就能發出各種顏色的光了。 LED燈上的4根引腳分別是GND,R,G,B。 GND需要接地。我們把它連到樹莓派的電源地上。 R,G,B分別是紅綠藍燈的正極接口。我們把它們連接到樹莓派的GPIO口上。

RGB彩色LED燈模塊.jpgRGB彩色LED燈模塊.jpg

硬件連接

R接到樹莓派GPIO18

G連接樹莓派GPIO15

B連接樹莓派GPIO14

其中GPIO編號方式為BCM編號方式,具體請看

 

電路連接原理圖如下:

樹莓派連接RGB彩色LED燈原理圖樹莓派連接RGB彩色LED燈原理圖

程序代碼

新建RGB_LED.py文件,輸入以下代碼:

 
#!/usr/bin/env python # encoding: utf-8 import RPi.GPIO import time R,G,B=18,15,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, 50) pwmG = RPi.GPIO.PWM(G, 50) pwmB = RPi.GPIO.PWM(B, 50) pwmR.start(0) pwmG.start(0) pwmB.start(0) try: t = 1 while True: # 紅色燈全亮,藍燈,綠燈全暗(紅色) pwmR.ChangeDutyCycle(100) pwmG.ChangeDutyCycle(0) pwmB.ChangeDutyCycle(0) time.sleep(t) # 綠色燈全亮,紅燈,藍燈全暗(綠色) pwmR.ChangeDutyCycle(0) pwmG.ChangeDutyCycle(100) pwmB.ChangeDutyCycle(0) time.sleep(t) # 藍色燈全亮,紅燈,綠燈全暗(藍色) pwmR.ChangeDutyCycle(0) pwmG.ChangeDutyCycle(0) pwmB.ChangeDutyCycle(100) time.sleep(t) # 紅燈,綠燈全亮,藍燈全暗(黃色) pwmR.ChangeDutyCycle(100) pwmG.ChangeDutyCycle(100) pwmB.ChangeDutyCycle(0) time.sleep(t) # 紅燈,藍燈全亮,綠燈全暗(洋紅色) pwmR.ChangeDutyCycle(100) pwmG.ChangeDutyCycle(0) pwmB.ChangeDutyCycle(100) time.sleep(t) # 綠燈,藍燈全亮,紅燈全暗(青色) pwmR.ChangeDutyCycle(0) pwmG.ChangeDutyCycle(100) pwmB.ChangeDutyCycle(100) time.sleep(t) # 紅燈,綠燈,藍燈全亮(白色) pwmR.ChangeDutyCycle(100) pwmG.ChangeDutyCycle(100) pwmB.ChangeDutyCycle(100) time.sleep(t) except KeyboardInterrupt: pass pwmR.stop() pwmG.stop() pwmB.stop() RPi.GPIO.cleanup() 
Python

然后,運行這個py腳本,就可以看到RGBLED燈在7種顏色間切換。

原創文章,轉載請注明: 轉載自科技愛好者博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM