步驟1:獲取組件
您需要什么:
Raspberry Pi 3(如果型號不同,也沒什么不同)
RGB LED陰極或陽極
1 x 100 ohm和2 x 150 ohm電阻
Micro USB電纜2.5 A,5 V USB電源(對于RPi 3,它最多需要2.5 A,但是對于較舊的版本2 A就足夠了)
SD卡
面包板
電纜或跳線-》在這種情況下,我建議使用雌雄跳線
步驟2:讓我們從硬件開始
首先,讓我們從硬件開始。對于硬件,必須確保使用的是RGB LED:陰極還是陽極?為此,您可以從根本上自己進行測試或咨詢您的提供者。為了進行測試,只需將電纜連接到接地和3.3V引腳,然后將接地連接到RGB LED的長腳,再將3.3 V連接到任何其他腳。如果它點亮,則您的RGB LED為陰極RGB LED,如果不工作,則為陽極RGB LED。
最后,這兩種類型的LED都是一樣的,只是略有不同。使用共陰極LED,您必須將長腳接地(RPi 3的第6、9、14、20、25、30、34和39針),而將陽極LED則必須將其連接至5 V( RPi 3的第二或第四引腳)。如果您使用的是其他版本,唯一要做的就是打開RPi模型的“引腳列表”并檢查RPi的5 V引腳。
對于紅色,綠色和藍色支腳,我選擇了RPi 3的第20、21和22引腳。
您應該將rgb led的綠色引腳連接到GPIO 20,將紅色引腳連接到GPIO 21,藍色引腳連接到GPIO 22,但不直接連接到GPIO,從原理圖上還可以看到,還必須連接電阻-紅色100歐姆,綠色和藍色150歐姆-然后,將RPi的GND直接連接到長腳如果使用共陰極,則為RGB LED的數量。否則,連接5 V而不是GND。您也可以使用不同的引腳,但是我為軟件選擇了它們。
為RPi 3接通電源后,您的硬件部分就完成了:)
在您的圖片中可以看到,我沒有使用任何電阻,這是因為我當前正在使用共陽極RGB LED,并且已將長腳直接連接到3.3V。
步驟3:繼續使用軟件
在我的RPi 3中,我使用Raspbian作為操作系統。我認為,這是查找來源的最簡單的操作系統,也是最容易學習的操作系統。如果尚未上傳,則可以從上面的鏈接中找到最新版本以及如何將其上傳到RPi的指南。
https://www.raspberrypi.org/downloads/raspbian/
在此指導中,我更喜歡使用Python對RPi進行編程。它是一種易于讀寫的語言,非常適合包括我在內的初學者:)
對于使用Python進行編碼,我更喜歡使用終端進行編程。您還可以使用Python 3或Python 2程序。但是從終端,我發現它更實用。如果您有其他意見,我想在評論中進行討論:)
要開始編程,您應該打開終端屏幕并輸入
nano rgbled.py
此命令將為您的RGB LED創建一個新的python文件。您也可以隨意命名,我選擇了此名稱以使其與其他程序區分開。
您將看到空白頁,用于編碼。現在,這是您開始編寫Python的部分。
這里是代碼,此代碼用于陰極RGB LED,因為它更常見且更易于使用,但我將為陽極做一些說明。 RGB LED,如果您無法使用代碼啟動程序,我也添加了Python文件,您也可以使用該文件:
#將RPi的引腳定義為Input/Output
import RPi.GPIO作為GPIO
#導入庫以延遲命令。
導入時間
#用于GPIO編號
GPIO.setmode(GPIO.BCM)
#在您關閉時關閉警告編譯代碼GPIO.setwarnings(False)
RUNNING = True
#定義引腳
綠色= 20
紅色= 21
blue = 22
#將引腳定義為輸出
GPIO.setup(red,GPIO.OUT)
GPIO.setup (綠色,GPIO.OUT)
GPIO.setup(藍色,GPIO.OUT)
#選擇pwm的頻率
頻率= 100
#定義將要與PWM一起使用的引腳
RED = GPIO.PWM(red,Freq)
GREEN = GPIO.PWM(green,Freq)
BLUE = GPIO.PWM(blue,Freq)
嘗試:
#我們在運行時從循環開始
:
#點亮針腳。 100表示將100%分配給該引腳
RED.start(100)
GREEN.start(1)
BLUE.start(1)
#對于陽極RGB LED用戶,如果您也想從RED開始,唯一要做的就是將RED定義為1,將GREEN和BLUE定義為100。
對于x在范圍內(1,101) ):
#用于更改PWM的寬度,此命令用于
GREEN.ChangeDutyCycle(x)
#對于陽極LED用戶,只需更改x使用101-x
#并延遲時間。使用sleep。您可以通過從以下時間更改時間來改變顏色的持續時間
time.sleep(0.05)
對于x在范圍(1,101):
紅色.ChangeDutyCycle(101-x)
time.sleep(0.025)
for x in range(1,101)
GREEN.ChangeDutyCycle(101-x)
BLUE.ChangeDutyCycle(x)
time.sleep(0.025)
for x in range(1,101):
RED.ChangeDutyCycle (x)
time.sleep(0.025)
除了KeyboardInterrupt:
#這部分的目的是,當您中斷代碼時,它將停止while循環并關閉引腳,這意味著您的LED不再發光
RUNNING = False
GPIO.cleanup()
步驟4:運行代碼
編寫代碼已完成。現在按CTRL + X退出代碼,然后按Y保存代碼。
您現在擁有一個Python代碼,需要運行它。
要運行python代碼,您需要輸入終端:
sudo python RGBLED.py //或輸入文件名而不是RGBLED
恭喜,您可以在這里完成所有操作!
這僅適用于一個RGB LED,僅用于查看可獲得的顏色。您可以隨時改進代碼,并用顏色制作更多不同的東西。
我希望您喜歡并喜歡我的指導。我希望寫更多關于我將來學到的東西以及分享我的項目的信息。
責任編輯:wv
-
led
+關注
關注
242文章
23715瀏覽量
671105 -
PWM
+關注
關注
116文章
5391瀏覽量
218150
發布評論請先 登錄
氛圍燈的發展歷程和應用場景
使用單片機驅動多組LED燈實現呼吸效果電路
ALED6001 帶集成式升壓控制器的車規級PWM可調光單通道LED驅動器數據手冊

Melexis推出MLX80142雙RGB LED驅動芯片
【瑞薩RA2L1入門學習】01. PWM 呼吸燈
開源項目!手把手教你制作一個互動式LED墻壁時鐘!
PWM在LED調光中的應用
PWM調制技術在LED亮度調節中的使用
UART軟件控制的RGB LED混色與MSP430? MCU

基于LP50xx器件的全彩RGB LED矩陣系統設計指南

評論