步驟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文章
23391瀏覽量
663724 -
PWM
+關注
關注
114文章
5201瀏覽量
214995
發布評論請先 登錄
相關推薦
PWM在LED調光中的應用
PWM調制技術在LED亮度調節中的使用
使用STM32CubeMX輸出PWM,并制作呼吸燈效果
LED燈帶斷點續傳是什么意思
【GD32F303紅楓派開發板使用手冊】第八節 TIMER-RGB彩燈實驗
![【GD32F303紅楓派開發板使用手冊】第八節 TIMER-<b class='flag-5'>RGB</b>彩燈實驗](https://file1.elecfans.com/web2/M00/EC/63/wKgaomZecrSAAJPLAAA1Y3NSpIg688.png)
帶數字和PWM亮度控制的白色LED驅動器TPS6116x數據表
![<b class='flag-5'>帶</b>數字和<b class='flag-5'>PWM</b>亮度控制的白色<b class='flag-5'>LED</b>驅動器TPS6116x數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶SPI接口、模擬和PWM調光的雙通道降壓LED控制器TPS92518數據表
![<b class='flag-5'>帶</b>SPI接口、模擬和<b class='flag-5'>PWM</b>調光的雙通道降壓<b class='flag-5'>LED</b>控制器TPS92518數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶PWM接口和可編程PWM調光的白色LED驅動器TPS61183數據表
![<b class='flag-5'>帶</b><b class='flag-5'>PWM</b>接口和可編程<b class='flag-5'>PWM</b>調光的白色<b class='flag-5'>LED</b>驅動器TPS61183數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶數字和Pwm亮度控制的白色Led驅動器TPS61161-Q1數據表
![<b class='flag-5'>帶</b>數字和<b class='flag-5'>Pwm</b>亮度控制的白色<b class='flag-5'>Led</b>驅動器TPS61161-Q1數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶PWM亮度控制的白色LED驅動器TPS6116xA數據表
![<b class='flag-5'>帶</b><b class='flag-5'>PWM</b>亮度控制的白色<b class='flag-5'>LED</b>驅動器TPS6116xA數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶PWM亮度控制的雙組低損耗LED驅動器TPS7510x數據表
![<b class='flag-5'>帶</b><b class='flag-5'>PWM</b>亮度控制的雙組低損耗<b class='flag-5'>LED</b>驅動器TPS7510x數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶PWM亮度控制的低損耗雙組LED驅動器TPS7510x數據表
![<b class='flag-5'>帶</b><b class='flag-5'>PWM</b>亮度控制的低損耗雙組<b class='flag-5'>LED</b>驅動器TPS7510x數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶PWM亮度控制的雙組低損耗LED驅動器TPS7510x 數據表
![<b class='flag-5'>帶</b><b class='flag-5'>PWM</b>亮度控制的雙組低損耗<b class='flag-5'>LED</b>驅動器TPS7510x 數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論