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

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

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

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

【DFRobot Beetle ESP32-C3開發(fā)板試用體驗(yàn)】Arduino編程控制WS2812B炫彩LED

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

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


演示視頻(開發(fā)板體驗(yàn)視頻,詳見作者原文鏈接內(nèi)容)

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

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


背面結(jié)構(gòu)如下:
poYBAGKvOzGAYobAAAC2W2vty5c595.jpg


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


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


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


通過上圖,可以了解到,D6可復(fù)用為SPI的MOSI,用于發(fā)送數(shù)據(jù),因此,可以將該引腳與WS2812B點(diǎn)陣板的DIN連接。

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

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


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


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

代碼展示:

poYBAGKvRhGASobyAAjBWCX7tmw928.png


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


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

Adafruit NeoPixel 部分的重點(diǎn)如下:
1. 初始化控制實(shí)例:


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

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

2. 開始控制:


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



3. 設(shè)置亮度:


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

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

4. 設(shè)置全部燈珠的顏色:


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

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

5. 清除當(dāng)前燈珠顏色設(shè)置:


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



6. 設(shè)置單顆燈珠的顏色:


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

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

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


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




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

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


具體的呈現(xiàn)效果,如視頻所示。

如果你還會一些數(shù)學(xué)函數(shù)的話,那么可以用數(shù)學(xué)函數(shù),生成心形圖案的坐標(biāo),對照到8*8點(diǎn)陣上,那么就能在情人節(jié),給你最心愛的Ta,表達(dá)心意了。當(dāng)然,如果不會沒關(guān)系,可以提前用紙對著8*8點(diǎn)陣,描繪心形圖案,記錄下對應(yīng)的LED燈珠的位置,在點(diǎn)亮對應(yīng)的燈珠也是可以的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6485

    瀏覽量

    189696
  • ESP32
    +關(guān)注

    關(guān)注

    20

    文章

    999

    瀏覽量

    18601
  • DFRobot
    +關(guān)注

    關(guān)注

    4

    文章

    1160

    瀏覽量

    10311
收藏 人收藏

    評論

    相關(guān)推薦

    WS2812B on S32K144始終閃爍白色,即使沒有數(shù)據(jù)也是如此,為什么?

    我正在嘗試控制WS2812B RGB LED使用型號 S32K144EVB-Q100.我的目標(biāo)是發(fā)送GRB 數(shù)據(jù)使用 bit-banging onPTD0.但是,LED 始終閃爍白色
    發(fā)表于 04-08 07:15

    ESP32-C3:革新物聯(lián)網(wǎng)應(yīng)用的超高效能芯片,家電遠(yuǎn)程控制應(yīng)用等

    ESP32-C3是樂鑫科技推出的新一代RISC-V架構(gòu)Wi-Fi & Bluetooth 5.0雙模物聯(lián)網(wǎng)芯片,專為智能家居、工業(yè)控制和消費(fèi)電子產(chǎn)品設(shè)計,提供卓越的性能與極低的功耗
    發(fā)表于 04-03 16:47

    零知開源——使用 GPIO 模擬時序驅(qū)動 WS2812B LED 燈帶

    控制。這種技術(shù)允許我們避開專用驅(qū)動庫,直接與硬件進(jìn)行交互,理解并掌握 WS2812B 的通信機(jī)制。 一、工具原料 電腦、Windows系統(tǒng) 零知增強(qiáng)版開發(fā)板 Micro-usb線 WS281
    的頭像 發(fā)表于 02-20 15:43 ?836次閱讀
    零知開源——使用 GPIO 模擬時序驅(qū)動 <b class='flag-5'>WS2812B</b> <b class='flag-5'>LED</b> 燈帶

    零知開源——使用 GPIO 模擬時序驅(qū)動 WS2812B LED 燈帶

    、Windows系統(tǒng) 零知增強(qiáng)版開發(fā)板 Micro-usb線 WS2812RGB燈 WS2812B 是一款內(nèi)含控制器芯片的全彩 LED 燈珠
    發(fā)表于 02-20 14:31

    零知開源——玩轉(zhuǎn)WS2812B燈條模塊

    上傳到開發(fā)板中。 引用庫文件WS2812B.h#include// 引入用于控制WS2812B LED燈帶的庫 #define NUM
    發(fā)表于 02-19 17:25

    零知開源——玩轉(zhuǎn)WS2812B燈條模塊

    WS2812RGB燈帶 ????? 通過零知標(biāo)準(zhǔn)開發(fā)板平臺上驅(qū)動WS2812RGB燈珠,包括WS2812B的供電電壓、接線和代碼實(shí)現(xiàn)。通過創(chuàng)建延時函數(shù)和設(shè)置級聯(lián)數(shù)據(jù),實(shí)現(xiàn)對RGB燈珠的
    的頭像 發(fā)表于 02-19 15:09 ?1076次閱讀
    零知開源——玩轉(zhuǎn)<b class='flag-5'>WS2812B</b>燈條模塊

    esp32用什么軟件編程

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

    ESP32-C3開發(fā)板ROM里預(yù)燒錄的數(shù)據(jù)有沒有辦法讀出來?

    請問ESP32-C3開發(fā)板ROM里預(yù)燒錄的數(shù)據(jù)有沒有辦法讀出來
    發(fā)表于 07-23 07:54

    esp32-S3支持arduino編程嗎?

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

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

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

    請問esp32-c3不支持pcnt嗎?

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

    請問ESP32-C3藍(lán)牙如何獲取RSSI的值?

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

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

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

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

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

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

    ESP32-C3因?yàn)槠湫詢r比高,價格便宜性能又好一直是量產(chǎn)的首選芯片,隨著量產(chǎn)項目擴(kuò)大,對接云服務(wù)器的情況也增加了,接下來小啟給大家分享下啟明云端ESP32-C3模組——WT32C3系列模組/
    的頭像 發(fā)表于 05-12 08:04 ?795次閱讀
    啟明云端WT32<b class='flag-5'>C3</b>系列模組/<b class='flag-5'>開發(fā)板</b>連接AWS亞馬遜云方法
    主站蜘蛛池模板: 国产美女一区 | 91大神在线看 | 国产成人啪午夜精品网站 | 久草天堂| 午夜老司机福利 | 免费观看在线视频 | 特级淫片aaaaa片毛片 | 一级特黄aa毛片免费观看 | 国产叼嘿网站免费观看不用充会员 | 超级极品白嫩美女在线 | 欧美草比| 欧美一级精品高清在线观看 | 色综合久久88色综合天天 | 欧美成人三级网站 | 高清一级做a爱视频免费 | 日本成本人三级在线观看2018 | 全免费一级毛片在线播放 | 天天舔天天爽 | 天堂最新版在线www在线 | 色综合色综合色综合网址 | 欧美熟夫 | 久久夜夜肉肉热热日日 | 香蕉成人国产精品免费看网站 | 五月综合在线 | 性视频亚洲 | 乱j伦小说在线阅读 | 永久黄网站色视频免费观看99 | 中文字幕一区二区精品区 | 免费人成在线观看视频色 | 深夜在线观看大尺度 | 亚洲成a人片在线观看导航 亚洲成a人片在线观看尤物 | 亚洲欧美在线一区 | 扛着高跟鞋丝袜腿呻吟视频 | 57pao成人永久免费视频 | 色香蕉在线观看 | 正在播放羽月希与黑人bd在线 | 国产精品视频久久久 | aaa在线观看 | 日本特黄在线观看免费 | 亚洲阿v天堂2018在线观看 | 亚洲综合国产一区二区三区 |