色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于樹莓派點(diǎn)亮RGB三基色LED燈

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

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

一、介紹

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

圖片

二、組件

Raspberry Pi 4b主板*1

樹莓派電源*1

40P軟排線*1

RGB-LED模塊*1

面包板*1

跳線若干

圖片

三、實(shí)驗(yàn)原理

在本實(shí)驗(yàn)中,我們將使用PWM技術(shù)來控制RGB的亮度。

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

圖片

四、實(shí)驗(yàn)步驟

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

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

圖片

五、使用python語言編程

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


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


#初始化程序
def setup(Rpin, Gpin, Bpin):
    global pins  # 在函數(shù)內(nèi)部聲明被其修飾的變量是全局變量
    global p_R, p_G, p_B
    pins = {'pin_R': Rpin, 'pin_G': Gpin, 'pin_B': Bpin}
    GPIO.setmode(GPIO.BOARD)  # 設(shè)置引腳編號(hào)模式為板載模式,即樹莓派上的物理位置編號(hào)
    for i in pins:
        GPIO.setup(pins[i], GPIO.OUT)  # 設(shè)置針腳模式為輸出(或者輸入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): #將顏色的刺激量轉(zhuǎn)換為占空比對(duì)應(yīng)的值。
    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  # 先“與”運(yùn)算 只保留自己顏色所在位的值有效
    G_val = (col & 0x00ff00) > > 8  # 再“右移”運(yùn)算 將自己顏色所在位的值提取出來
    B_val = (col & 0x0000ff) > > 0


    R_val = map(R_val, 0, 255, 0, 100)  # 將顏色的刺激量轉(zhuǎn)換為占空比對(duì)應(yīng)的值
    G_val = map(G_val, 0, 255, 0, 100)
    B_val = map(B_val, 0, 255, 0, 100)


    p_R.ChangeDutyCycle(R_val)  # 更改占空比,調(diào)整該顏色的亮度
    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)      #調(diào)用初始化設(shè)置LED燈的函數(shù)
        loop()                     #調(diào)用循環(huán)函數(shù)
    except KeyboardInterrupt:      #如果遇用戶中斷(control+C),則執(zhí)行destroy()函數(shù)
        destroy()             #調(diào)用清除LED狀態(tài)的函數(shù)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1592

    瀏覽量

    108117
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11320

    瀏覽量

    209849
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    799

    瀏覽量

    58574
  • 面包板
    +關(guān)注

    關(guān)注

    3

    文章

    298

    瀏覽量

    17582
  • 樹莓派
    +關(guān)注

    關(guān)注

    117

    文章

    1710

    瀏覽量

    105722
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    樹莓2控制一個(gè)LED

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

    樹莓如何點(diǎn)亮一個(gè)LED

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

    關(guān)閉樹莓電源LED

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

    關(guān)閉樹莓的指示

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

    雙色LED實(shí)驗(yàn)的相關(guān)資料下載

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

    用于覆盆子樹莓3B及以上型號(hào)的RGB LED

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

    制作RGB基色合成的白光LED中的注意事項(xiàng)

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

    RGB-基色LED帶控制-測(cè)試成功

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

    樹莓教程1_點(diǎn)亮第一個(gè)led

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

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

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

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

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

    關(guān)閉樹莓電源LED,禁用wifi、藍(lán)牙

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

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

    關(guān)閉樹莓的指示我有幾個(gè)樹莓放在房間內(nèi),每天晚上都看到指示的閃光,感覺有
    發(fā)表于 01-11 09:28 ?9次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>zero不亮_關(guān)閉<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èi)下載
    發(fā)表于 07-25 14:34 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4<b class='flag-5'>RGB</b>帽子開源

    使用樹莓GPIO口點(diǎn)亮雙色LED

    上一篇文章向大家介紹樹莓的硬件部分、安裝操作系統(tǒng)及基礎(chǔ)設(shè)置。這篇文章將介紹樹莓的強(qiáng)大的開發(fā)功能口——GPIO,以及利用GPIO口點(diǎn)亮雙色
    的頭像 發(fā)表于 07-04 11:34 ?2403次閱讀
    使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>GPIO口<b class='flag-5'>點(diǎn)亮</b>雙色<b class='flag-5'>LED</b><b class='flag-5'>燈</b>
    主站蜘蛛池模板: 杨幂视频在线观看1分30秒| 99福利影院| 幸福草电视剧演员表介绍| 午夜男人免费福利视频| 亚州三级视频| 亚洲免费在线观看| 中文字幕亚洲欧美日韩2019| 97人人碰免费视频公开| jizzxxxx18中国内地| 丰满大屁俄罗斯肥女| 国产精品一区二区AV交换| 激情欧美日韩一区二区| 美女露出乳胸扒开尿口| 日本韩国欧美一区| 午夜人妻理论片天堂影院| 亚洲中文 字幕 国产 综合| 97精品视频在线观看| 纯肉高H放荡受BL文库| 国产在线观看免费| 绝对诱惑在线试听| 热巴两次用约老师屁股发底线球| 忘忧草在线| 渔夫床满艳史bd高清在线直播| jizzjizz3d动漫| 国产麻豆精品人妻无码A片| 久久视频在线视频观看天天看视频| 欧美精品AV精品一区视频| 亚洲AV久久婷婷蜜臀无码不卡| 中文字幕久精品视频在线观看| 扒开她的黑森林让我添动态图| 国产精品免费一区二区区| 久久中文字幕人妻熟AV女蜜柚M| 轻轻挺进女教师的身体| 亚洲精品视频观看| 97无码人妻精品1国产精东影业 | 美国兽皇zoo在线播放| 三级aa久久| 在线免费看a| 国产ZZJJZZJJ视频全免费| 久久天天综合| 王小军怎么了最新消息|