在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于樹莓派點亮RGB三基色LED燈

CHANBAEK ? 來源:容里與良鹿 ? 作者:張凱 ? 2023-07-04 11:34 ? 次閱讀

上一篇實現(xiàn)了樹莓派的第一個基礎實驗——點亮雙色LED燈,并了解了樹莓派GPIO的基本用法。如果你已經(jīng)成功完成過樹莓派雙色LED燈實驗,并且對深入樹莓派玩法有更多的興趣的話,那么我們進一步嘗試點亮一個更加絢麗的LED燈:RGB三基色LED燈。

一、介紹

RGB-LED模塊可以發(fā)出各種顏色的光。紅色,綠色和藍色的三個LED被封裝到透明或半透明塑料外殼中,并帶有四個引腳。紅色,綠色和藍色三原色可以按照亮度混合并組合各種顏色,因此可以通過控制電路使RGB-LED發(fā)出彩色光。

圖片

二、組件

Raspberry Pi 4b主板*1

樹莓派電源*1

40P軟排線*1

RGB-LED模塊*1

面包板*1

跳線若干

圖片

三、實驗原理

在本實驗中,我們將使用PWM技術來控制RGB的亮度。

脈沖寬度調制(PWM)是一種通過數(shù)字方式獲取模擬結果的技術。數(shù)字控制用于創(chuàng)建方波,信號在高電平和低電平之間切換。這種開關模式,可以通過改變信號持續(xù)的時間部分,與信號關閉的時間來模擬全開(5V)和關(0V)之間的電壓。“有效”的持續(xù)時間稱為脈沖寬度。要獲得不同的模擬值,可以更改或調節(jié)脈沖寬度。如果你使用的LED重復此開關模式足夠快,得到信號好像是0到5V之間的穩(wěn)定電壓,控制LED的亮度。

圖片

四、實驗步驟

建立電路,按照如下表格連線:

樹莓派 T形轉接板 RGB-LED燈模塊
GND GND GND
GPIO0 GPIO17 R
GPIO1 GPIO18 G
GPIO2 GPIO27 B

圖片

五、使用python語言編程

#!/usr/bin/env python   #告訴Linux本文件是一個Python程序
import RPi.GPIO as GPIO    #導入控制GPIO的模塊,RPi.GPIO
import time     #導入時間模塊,提供延時、時鐘和其它時間函數(shù)


colors = [0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0xFF00FF, 0x00FFFF] #顏色列表
R = 11        #定義物理針腳號
G = 12
B = 13


#初始化程序
def setup(Rpin, Gpin, Bpin):
    global pins  # 在函數(shù)內部聲明被其修飾的變量是全局變量
    global p_R, p_G, p_B
    pins = {'pin_R': Rpin, 'pin_G': Gpin, 'pin_B': Bpin}
    GPIO.setmode(GPIO.BOARD)  # 設置引腳編號模式為板載模式,即樹莓派上的物理位置編號
    for i in pins:
        GPIO.setup(pins[i], GPIO.OUT)  # 設置針腳模式為輸出(或者輸入GPIO.IN)
        GPIO.output(pins[i], GPIO.LOW)  # Set pins to low(0 V) to off led


    p_R = GPIO.PWM(pins['pin_R'], 2000)  # set Frequece to 2KHz
    p_G = GPIO.PWM(pins['pin_G'], 1999)
    p_B = GPIO.PWM(pins['pin_B'], 5000)


    p_R.start(0)  # Initial duty Cycle = 0(leds off)
    p_G.start(0)
    p_B.start(0)


def map(x, in_min, in_max, out_min, out_max): #將顏色的刺激量轉換為占空比對應的值。
    return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min


def off():
    for i in pins:
        GPIO.output(pins[i], GPIO.LOW)    # Turn off all leds

def setColor(col):  # For example : col = 0x112233
    R_val = (col & 0xff0000) > > 16  # 先“與”運算 只保留自己顏色所在位的值有效
    G_val = (col & 0x00ff00) > > 8  # 再“右移”運算 將自己顏色所在位的值提取出來
    B_val = (col & 0x0000ff) > > 0


    R_val = map(R_val, 0, 255, 0, 100)  # 將顏色的刺激量轉換為占空比對應的值
    G_val = map(G_val, 0, 255, 0, 100)
    B_val = map(B_val, 0, 255, 0, 100)


    p_R.ChangeDutyCycle(R_val)  # 更改占空比,調整該顏色的亮度
    p_G.ChangeDutyCycle(G_val)
    p_B.ChangeDutyCycle(B_val)
#循環(huán)函數(shù)
def loop():
    while True:
        for col in colors:
            setColor(col)
            time.sleep(1)
#資源釋放
def destroy():
    p_R.stop()      #Turn off PWM
    p_G.stop()
    p_B.stop()
    off()              # Turn off all leds
    GPIO.cleanup()     #重置GPIO狀態(tài)
#程序入口
if __name__ == "__main__":
    try:                       #用try-except代碼塊來處理可能引發(fā)的異常
        setup(R, G, B)      #調用初始化設置LED燈的函數(shù)
        loop()                     #調用循環(huán)函數(shù)
    except KeyboardInterrupt:      #如果遇用戶中斷(control+C),則執(zhí)行destroy()函數(shù)
        destroy()             #調用清除LED狀態(tài)的函數(shù)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    108006
  • Linux
    +關注

    關注

    87

    文章

    11304

    瀏覽量

    209521
  • RGB
    RGB
    +關注

    關注

    4

    文章

    798

    瀏覽量

    58510
  • 面包板
    +關注

    關注

    3

    文章

    298

    瀏覽量

    17567
  • 樹莓派
    +關注

    關注

    116

    文章

    1707

    瀏覽量

    105648
收藏 人收藏

    評論

    相關推薦

    樹莓2控制一個LED

    ` 本帖最后由 348081236 于 2016-1-19 16:57 編輯 這個教程教你怎樣用樹莓控制一個LED。這是比較基礎、簡單、適合新手的。先從一個
    發(fā)表于 01-19 16:55

    樹莓如何點亮一個LED

    本章將簡介在樹莓派上面通過shell,sysfs,bcm2835,wiringPi,python等不同的編程方式點亮一個LED
    發(fā)表于 11-05 07:04

    關閉樹莓電源LED

    在關閉樹莓的電源指示和狀態(tài)指示中,對關閉樹莓指示
    發(fā)表于 12-28 08:18

    關閉樹莓的指示

    關閉樹莓的指示我有幾個樹莓放在房間內,每天晚上都看到指示的閃光,感覺有
    發(fā)表于 12-31 06:18

    雙色LED實驗的相關資料下載

    樹莓:雙色LED實驗簡介一、實驗效果二、組件、實驗原理四、實驗步驟五、代碼實現(xiàn)簡介雙色LED
    發(fā)表于 01-05 07:12

    用于覆盆子樹莓3B及以上型號的RGB LED

    描述樹莓 4 RGB 帽子用于覆盆子 Pi 3B 及以上型號的 RGB LED 帽。采用矩陣形式的 WS2812
    發(fā)表于 07-27 06:50

    制作RGB基色合成的白光LED中的注意事項

    制作RGB基色合成的白光LED中的注意事項 對于制作RGB
    發(fā)表于 05-09 08:31 ?2827次閱讀

    RGB-基色LED帶控制-測試成功

    RGB-基色LED帶控制-測試成功
    發(fā)表于 09-10 10:26 ?697次下載

    樹莓教程1_點亮第一個led

    是對c語言編譯的聲明,-o?blink是輸出工程文件到blink文件(接下來的執(zhí)行文件)blink.c是剛剛編寫的c語言程序-lwiringPi是庫的調用輸入sudo?./blink執(zhí)行程序。(需要通過sudo命令獲取權限)?可以看到面包板上的led在閃爍,恭喜您已學會用樹莓
    發(fā)表于 04-02 14:45 ?1805次閱讀

    微雪電子樹莓RGB全彩LED擴展|RGB LED HAT (B)介紹

    我是專為樹莓設計的RGB LED擴展板,可通過一根信號線進行編程控制以顯示彩色畫面。
    的頭像 發(fā)表于 11-14 11:42 ?3231次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>RGB</b>全彩<b class='flag-5'>LED</b>擴展|<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b> HAT (B)介紹

    微雪電子樹莓RGB全彩LED擴展|RGB LED HAT介紹

    樹莓RGB全彩LED擴展板 4×8個RGB LED 可通過一根信號線進行編程控制以顯示彩色畫
    的頭像 發(fā)表于 11-14 11:53 ?2516次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>RGB</b>全彩<b class='flag-5'>LED</b>擴展|<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b> HAT介紹

    關閉樹莓電源LED,禁用wifi、藍牙

    在關閉樹莓的電源指示和狀態(tài)指示中,對關閉樹莓指示
    發(fā)表于 01-06 11:55 ?3次下載
    關閉<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>電源<b class='flag-5'>LED</b><b class='flag-5'>燈</b>,禁用wifi、藍牙

    樹莓zero不亮_關閉樹莓的電源、狀態(tài)、網(wǎng)口指示

    關閉樹莓的指示我有幾個樹莓放在房間內,每天晚上都看到指示的閃光,感覺有
    發(fā)表于 01-11 09:28 ?9次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>zero不亮_關閉<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的電源、狀態(tài)、網(wǎng)口指示<b class='flag-5'>燈</b>

    樹莓4RGB帽子開源

    電子發(fā)燒友網(wǎng)站提供《樹莓4RGB帽子開源.zip》資料免費下載
    發(fā)表于 07-25 14:34 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4<b class='flag-5'>RGB</b>帽子開源

    使用樹莓GPIO口點亮雙色LED

    上一篇文章向大家介紹樹莓的硬件部分、安裝操作系統(tǒng)及基礎設置。這篇文章將介紹樹莓的強大的開發(fā)功能口——GPIO,以及利用GPIO口點亮雙色
    的頭像 發(fā)表于 07-04 11:34 ?2336次閱讀
    使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>GPIO口<b class='flag-5'>點亮</b>雙色<b class='flag-5'>LED</b><b class='flag-5'>燈</b>
    主站蜘蛛池模板: 日韩一级免费视频| 久久狠色噜噜狠狠狠狠97| 国产一级特黄a大片免费| 天天摸天天| 中文字幕一二三区乱码老| 人人干狠狠操| 国产成人综合自拍| 2021色噜噜狠狠综曰曰曰| 拍真实国产伦偷精品| 亚洲视频精品| 亚洲一区毛片| 日本黄色一级网站| 久久夜色精品国产亚洲噜噜| 天天做天天爱天天大综合| 91视频看看| 日本黄色影片在线观看| 夭天干天天做天天免费看| 九九热在线免费| 在线观看成人网| 五月婷婷六月丁香综合| 大学生毛片| 婷婷六月丁香午夜爱爱| 四虎影视最新| 午夜视频免费看| 97国内精品久久久久久久影视| 亚洲一区二区三区四区在线| 日本特黄a级高清免费酷网| 五月婷婷网站| 九九久久久久午夜精选| 久久久久国产精品四虎| 国产午夜久久精品| 天天狠狠色噜噜| 午夜视频在线看| 黄网站免费视频| 国产美女一区二区三区| 欧美激情五月| 欧美日韩国产成人高清视频| 久久九色| 四虎8848精品永久在线观看| 天天干天天干天天干| 一级毛片在线免费视频|