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

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

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

3天內不再提示

【DFRobot Beetle ESP32-C3開發板試用體驗】Arduino編程控制WS2812B炫彩LED

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-11-28 13:56 ? 次閱讀

本文來源電子發燒友社區,作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2287670_1_1.html


演示視頻(開發板體驗視頻,詳見作者原文鏈接內容)

我最近分享的一篇文章中Debian-StarFive下的SPI驅動WS2812B炫彩燈珠中,在Linux下,通過SPI來驅動WS2812B炫彩LED燈珠,感興趣的同學可以前往了解,其中講了給WS2812B發送數據的具體情況。
而在DFRobot Beetle ESP32-C3的Arduino編程中,得益于Arduino IDE強大的擴展功能,我們可以用第三方的擴展庫,來很方便的控制WS2812B。
在這個分享中,使用的是Adafruit_NeoPixel,關于其詳細資料,可以查看官方頁面:Adafruit NeoPixel Library

WS2812B炫彩LED可以很靈活的組成各種實際所需要的形狀,如條帶狀、環形、點陣,單顆也可以使用。
我這次所使用的,是一塊8*8點陣的WS2812B炫彩LED點陣板:
pYYBAGKvOzCAYjsoAAGHZHxuhJ8484.jpg


背面結構如下:
poYBAGKvOzGAYobAAAC2W2vty5c595.jpg


WS2812B炫彩LED很神奇,不管是1顆LED的控制,還是上千顆LED的控制,都只需要1根數據線即可,也就是上面板子背面的DIN。
多塊這樣的單體,還能夠連接起來,前者的DOUT,連接到后者的DIN。實際上,相鄰的兩顆之間,也是這么連接的。


這款8*8的點陣板,每一顆燈珠都是可以單獨控制的,所以有先后順序,按照下面的順序進行控制。
poYBAGKvOzKAAfekAAHLPWhiNSQ025.jpg


通過1根線,發送控制數據給WS2812B,需要較高的數據發送速度,所以通常使用SPI接口發送。
查看DFRobot Beetle ESP32-C3的官方資料,了解引腳的具體定義情況:
pYYBAGJnriyAXpBwAATcwBU8gTc781.png


通過上圖,可以了解到,D6可復用為SPI的MOSI,用于發送數據,因此,可以將該引腳與WS2812B點陣板的DIN連接。

另外,WS2812B的工作電壓為5V,而每個紅色、綠色和藍色LED需要大約20mA,或者在全亮度下每個LED總共60mA,如果8*8共64顆燈珠都點到最亮,那將需要60*64=3840A的電流,這樣嚴重超過DFRobot Beetle ESP32-C3的輸出電流,產生不可預料的結果。因為 DFRobot Beetle ESP32-C3 的最大輸出電流為500 mA。
所以,使用WS2812B的時候,如果是單顆的,使用開發板自身供電,沒有問題。如果使用多顆,則一定要使用專門的外接電源。
在我的這個實例中,我使用了一個USB2TTL的電源引腳,來為WS2812B點陣供電。

最終,具體的連線如下:
poYBAGKvRIyAZz87AAsCWRH7pi8878.png


做好以上連線后,就可以使用Arduino IDE進行編程了。
在具體編程之前,需要現在Arduino IDE中安裝Adafruit NeoPixel。
在Arduino IDE的庫管理界面中,搜索Adafruit NeoPixel并安裝如圖所示的擴展庫即可:
pYYBAGKvRWqAeJaIAAJnc69wlCE453.png


在了解了 Adafruit NeoPixel 的具體使用后,編寫如下的程序:
代碼文件:(源碼下載文件,見作者原文)

代碼展示:

poYBAGKvRhGASobyAAjBWCX7tmw928.png


編寫好代碼,按照以下參數設置,編譯下載,就能看到效果:
poYBAGKvR36AFAhwAAHRfMDAJeg016.png


在上述代碼中,包含了如下三個部分的內容:
  • 串口調試信息輸出:使用較為簡單,不詳細說明,可以自己查看Arduino資料了解
  • 控制板載LED:端口為D10,根據idx奇偶點亮或者熄滅
  • Adafruit NeoPixel 控制WS2812B

Adafruit NeoPixel 部分的重點如下:
1. 初始化控制實例:


  1. Adafruit_NeoPixel pixels(NUMPIXELS, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800)
復制代碼

傳入的參數為LED燈珠數,控制引腳,以及信息傳輸的頻率(不用修改)。
8*8的點陣,燈珠數為64各。
根據前面了解DFRobot Beetle ESP32-C3的資料和連線,控制引腳為D6

2. 開始控制:


  1. pixels.begin();
復制代碼



3. 設置亮度:


  1. pixels.setBrightness(20);
復制代碼

最大值為255,也就是0xff,表示最亮。

4. 設置全部燈珠的顏色:


  1. pixels.fill(0x000000);
復制代碼

直接使用6位16進制數,每兩位控制一個顏色,分別為RGB。
當使用0x000000時,表示沒有顏色,也就是熄滅;
當使用0xFF0000是,表示紅色R最亮。
此處的fill,表示控制所有的燈珠,而不是控制單個。

5. 清除當前燈珠顏色設置:


  1. pixels.clear();
復制代碼



6. 設置單顆燈珠的顏色:


  1. pixels.setPixelColor(idx, pixels.Color(0, 0, 0));
復制代碼

idx表示第幾顆燈珠,從0開始;因為是8*8的點陣,所以最大值為63
而pixels.Color,分別則設置RGB三種顏色,最大為255,也就是0xff。

7. 讓燈珠真正顯示生效:


  1. pixels.show();
復制代碼




代碼的整體邏輯結構,也相對比較簡單,就是每次循環,先熄滅上一顆燈珠,然后點亮當前指向的燈珠,顏色使用了一定的隨機。
顯示完成后,指向下一顆燈珠;如果達到了最大值,則從0重新開始。

下載完成后,打開串口,也可以看到輸出的調試信息:
poYBAGKvS0OAZRMQAAxqP6I6UpM599.png


具體的呈現效果,如視頻所示。

如果你還會一些數學函數的話,那么可以用數學函數,生成心形圖案的坐標,對照到8*8點陣上,那么就能在情人節,給你最心愛的Ta,表達心意了。當然,如果不會沒關系,可以提前用紙對著8*8點陣,描繪心形圖案,記錄下對應的LED燈珠的位置,在點亮對應的燈珠也是可以的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Arduino
    +關注

    關注

    188

    文章

    6474

    瀏覽量

    187436
  • ESP32
    +關注

    關注

    18

    文章

    971

    瀏覽量

    17417
  • DFRobot
    +關注

    關注

    4

    文章

    1158

    瀏覽量

    9588
收藏 人收藏

    評論

    相關推薦

    【敏矽微ME32G070開發板免費體驗】點亮WS2812B

    一、簡介 上集成了8顆RGB彩燈,但只需用到一個GPIO口,這是如何做到的呢?這節我們就點亮WS2812B展開話題。WS2812B是一個集控制電路與發光電路于一體的智能外控
    發表于 01-07 23:58

    esp32用什么軟件編程

    。 概述 ESP32具有豐富的外設接口和靈活的編程方式,支持多種編程語言和開發環境。本文將詳細介紹ESP32
    的頭像 發表于 08-19 17:24 ?3950次閱讀

    ESP32-C3開發板ROM里預燒錄的數據有沒有辦法讀出來?

    請問ESP32-C3開發板ROM里預燒錄的數據有沒有辦法讀出來
    發表于 07-23 07:54

    ESP32-C3開發板用數據線連接在電腦USB口上,無法識別出端口,為什么?

    各位好,我的ESP32-C3開發板用數據線連接在電腦USB口上,電腦上事先安裝了CP210x驅動程序,發現只是開發板上的紅燈亮了,win11系統的設備管理器卻沒有檢測出端口。ESP-I
    發表于 07-01 07:25

    esp32-S3支持arduino編程嗎?

    arduino開發板的時候沒有es32-s3, 只有s2可選。 請問: 1. esp32-S3支持arduino
    發表于 06-27 08:23

    ESP32-C3使用SPI通信緩存有多少?

    我們計劃用ESP32-AT功能,看到資料上ESP32-C3僅支持SPI通信,請問: ①ESP32-C3使用SPI通信緩存有多少? ②ESP32-C3使用SPI通信接收到數據以后空中速率
    發表于 06-26 07:58

    ESP32-C3的USB在計算機上識別的COM口能夠干什么用?

    我想選用ESP32-C3 開發產品,其價格和藍牙@WIFI的功能是最吸引我的,但令人頭疼的是其開發環境,在WIN10下試用了VSCODE+PLATFORMIO和ECLIPCE兩個IDE
    發表于 06-21 06:41

    請問esp32-c3不支持pcnt嗎?

    我在esp32-c3開發板上測試pcnt,編譯報錯找不到相關的函數,查看sdk源碼發現要配置CONFIG_SOC_PCNT_SUPPORTED才會編譯pcnt.c,查看examples里面的項目也說了只支持
    發表于 06-18 07:27

    請問ESP32-C3藍牙如何獲取RSSI的值?

    各位大佬,小弟剛接觸ESP-IDF不久,摸索了一段時間,物聯網的基本流程已經摸索的差不多了。 現在想知道ESP32-C3通過藍牙與手機建立連接后,怎么才能獲取當前手機端到開發板的RSSI值,我應該去參考哪些例程? 本人英語實在是
    發表于 06-13 07:47

    畫了一塊esp32-c3開發板,燒錄代碼時提示Failed to connect to ESP32-C3: No serial data received為什么?

    我自己畫了一塊esp32-c3開發板但是燒錄代碼的時候就提示Failed to connect to ESP32-C3: No serial data received,用的是ch340,可能是哪里出錯了呢。
    發表于 06-05 07:42

    ESP32-S3控制WS2812燈帶顯示異常如何解決?

    本人用ESP32S3設計一款產品,在用ESP32-S3控制WS2812燈帶時出現多燈顯示異常,燈珠無法正常顯示。(顏色和位置都不對),異常率100%。 燈帶用其他測試是好的,測試了幾
    發表于 06-05 06:17

    啟明云端WT32C3系列模組/開發板連接AWS亞馬遜云方法

    ESP32-C3因為其性價比高,價格便宜性能又好一直是量產的首選芯片,隨著量產項目擴大,對接云服務器的情況也增加了,接下來小啟給大家分享下啟明云端ESP32-C3模組——WT32C3系列模組/
    的頭像 發表于 05-12 08:04 ?478次閱讀
    啟明云端WT32<b class='flag-5'>C3</b>系列模組/<b class='flag-5'>開發板</b>連接AWS亞馬遜云方法

    技術分享|Model 3C芯片86盒彩屏開發板ESP32-C3助力,3MB波特率OTA升級更便捷!

    在物聯網快速發展的今天,彩屏顯示作為人機交互的重要一環,其顯示效果和升級便利性成為了衡量產品競爭力的關鍵指標。而Model 3C(以下簡稱M3C芯片)與ESP32-C3的結合,無疑為物聯網彩屏領域應用奠定了堅實的基石。
    的頭像 發表于 04-12 10:11 ?829次閱讀

    ESP32-C3開發板設計指南

    首先是ESP32-C3只支持BLE,也就是數據是以packet出現的。不支持普通的藍牙,也就是數據的處理的時候是可以字符串去操作的。
    的頭像 發表于 01-26 11:10 ?6610次閱讀
    <b class='flag-5'>ESP32-C3</b><b class='flag-5'>開發板</b>設計指南

    ESP32-C3在智能充電樁上的應用,性價比爆棚!

    ESP32-C3在智能充電樁上的應用,性價比爆棚!
    的頭像 發表于 01-20 08:03 ?903次閱讀
    <b class='flag-5'>ESP32-C3</b>在智能充電樁上的應用,性價比爆棚!
    主站蜘蛛池模板: 综合久| 最近高清在线国语| 国产全部理论片线观看| 你懂得国产| 国产精品免费看久久久香蕉| 操伊人| 丁香五月情| 男女交性动态免费视频| www.一区二区三区.com| 亚洲成网| 欧美性爽xxxⅹbbbb| 福利片在线观看免费高清| 国产亚洲papapa| 人人澡人人澡碰人人看软件| 一区二区三区精品视频| 国产亚洲精品免费| 校园 春色 欧美 另类 小说| 日韩中文视频| 中文字幕日韩三级| 怡红院网址| 色偷偷成人网免费视频男人的天堂| 欧美伦理影院| 国产高清视频免费最新在线| 天天摸夜夜摸成人免费视频| 国产福利影视| 热99精品| 色天使久久| 国语自产自拍秒拍在线视频 | 亚洲一区有码| 在线成人| 琪琪see色原网一区二区| 国产一级特黄| 日本在线网站| 中文字幕一区二区三区5566| 亚洲国产精品综合久久网络| 免费看欧美一级特黄a大片| xx毛片| 国产又爽又黄又粗又大| 男女草逼视频| 日韩毛片免费视频一级特黄| 国产精品三区四区|