欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

【試用體驗(yàn)】晶心ADP-Corvette-T1編程驅(qū)動(dòng)WS2812B炫彩LED

電子發(fā)燒友論壇 ? 2022-06-27 09:35 ? 次閱讀

昨天我在 DFRobot Beetle ESP32-C3開(kāi)發(fā)板開(kāi)發(fā)板上,成功用 Adafruit NeoPixel 擴(kuò)展庫(kù),驅(qū)動(dòng)了ws2812B炫彩點(diǎn)陣。具體可見(jiàn)文章:Arduino編程控制WS2812B炫彩LED,既然ADP-Corvette-T1開(kāi)發(fā)板也能用Arduino,那應(yīng)該可以把類(lèi)似的程序,按照ADP-Corvette-T1開(kāi)發(fā)板的Arduino支持,使用Adafruit NeoPixel 擴(kuò)展庫(kù)來(lái)驅(qū)動(dòng)WS2812B。


說(shuō)干就干,先在Adafruit NeoPixel 擴(kuò)展庫(kù)的Arduino開(kāi)發(fā)環(huán)境中,安裝Adafruit NeoPixel 擴(kuò)展庫(kù),方法如下:

9b4e4066-f4aa-11ec-a2f4-dac502259ad0.png

安裝完成后,開(kāi)發(fā)板選擇ADP-Corvette-T1,然后點(diǎn)擊編譯。
沒(méi)想到,杯具的事情發(fā)生了,錯(cuò)誤提示:Adafruit NeoPixel 擴(kuò)展庫(kù)不支持該開(kāi)發(fā)板。
不甘心,這么通用的WS2812B,一定要辦法驅(qū)動(dòng)起來(lái)。

仔細(xì)看了 ADP-Corvette-T1 的官方資料,了解到如下信息

9b6a4b6c-f4aa-11ec-a2f4-dac502259ad0.png

在開(kāi)發(fā)板上,提供了SPI數(shù)據(jù)傳輸接口,而WS2812B真是使用SPI來(lái)驅(qū)動(dòng)的。

詳細(xì)查看板子的定義:

9b7d3e70-f4aa-11ec-a2f4-dac502259ad0.png

IO11可復(fù)用為SPI/MOSI,剛好可以用作WS2812B的數(shù)據(jù)控制。

參考開(kāi)頭提供的文章,最終具體的連線如下:

9b9482f6-f4aa-11ec-a2f4-dac502259ad0.png

具體的實(shí)物連線如下:

9baec314-f4aa-11ec-a2f4-dac502259ad0.jpg

直接使用SPI底層設(shè)備來(lái)驅(qū)動(dòng),需要使用到Arduino官方的SPI庫(kù),其官方網(wǎng)址為:SPI - Arduino Reference

而在此之前,我還分享過(guò)另外一篇控制WS2812B的文章:Debian-StarFive下的SPI驅(qū)動(dòng)WS2812B炫彩燈珠,在該篇文章中,就詳細(xì)的說(shuō)明了,想要控制,應(yīng)該如何發(fā)送數(shù)據(jù)。


在上面的這篇分享中,控制的是單顆LED燈珠。在ADP-Corvette-T1開(kāi)發(fā)板上,這次我們要控制8*8點(diǎn)陣共64顆LED燈珠。

通過(guò)對(duì)Arduino官方的SPI庫(kù)資料的學(xué)習(xí),最終完成了演示代碼,實(shí)現(xiàn)了流水燈的效果。


在該演示代碼中,同時(shí)包括:
1. 串口調(diào)試輸出
2. 板載LED控制
3. SPI控制WS2812B

代碼展示:

9bc2c558-f4aa-11ec-a2f4-dac502259ad0.png

上述代碼的具體說(shuō)明:


1. 全局定義:


1). 使用SPI.h,確定使用SPI庫(kù)
2). 定義燈珠、引腳信息
3). 定義要發(fā)送的數(shù)據(jù)信息;關(guān)于其具體的定義,可以查看 Debian-StarFive下的SPI驅(qū)動(dòng)WS2812B炫彩燈珠
4). 定義當(dāng)前要點(diǎn)亮的燈珠
5). 定義lgiht_n函數(shù),表示通過(guò)SPI發(fā)送控制數(shù)據(jù),當(dāng)前燈珠發(fā)送點(diǎn)亮數(shù)據(jù),其他的發(fā)送熄滅數(shù)據(jù);具體顏色,根據(jù)i值取余取前面定義的顏色。

2. 啟動(dòng)設(shè)置部分:setup()


1). 設(shè)置串口速度
2). 設(shè)置D13為輸出,用于控制板載的LED3(在板子背面)
3). 定義SPI的傳送參數(shù);具體的參數(shù)說(shuō)明,后面詳細(xì)的說(shuō)。

3. 循環(huán)部分:loop()


1). 串口輸出當(dāng)前要點(diǎn)亮的LED燈珠
2). 根據(jù)當(dāng)前要點(diǎn)亮的燈珠序號(hào)取2的余,來(lái)亮滅LED3
3). 點(diǎn)亮指定的LED燈珠
4). 延時(shí)
5). 指向下一刻燈珠;如果達(dá)到最大,則從頭開(kāi)始。

在上面的代碼中,SPI參數(shù)設(shè)置部分,尤為重要。
要設(shè)置SPI參數(shù),有兩種辦法:


1). SPI.setclockDivider():相對(duì)于系統(tǒng)時(shí)鐘設(shè)置SPI時(shí)鐘分頻器。
關(guān)于分頻器的基本知識(shí),我在定時(shí)器使用基礎(chǔ):使用系統(tǒng)時(shí)基定時(shí)器和基本定時(shí)器閃爍LED 分享中,有講過(guò)。
因?yàn)?ADP-Corvette-T1開(kāi)發(fā)板 的最高頻率為 96MHz,我們找一個(gè)接近 6.4MHz的分頻。


分頻器可以使用的系統(tǒng)定義為:
SPI_CLOCK_DIv2,SPI_CLOCK_DIV4,SPI_CLOCK_DIV8, SPI_CLOCK_DIV16,SPI_CLOCK_DIV32,SPI_CLOCK_DIV64,SPI_CLOCK_DIV128
在其中,16分之一接近6.4MHz,所以這里可以使用SPI_CLOCK_DIV16。
在該方式下,其他的參數(shù)使用默認(rèn)值即可。

2). SPI.beginTransaction()
通過(guò)傳入 SPISettings()獲取的定義參數(shù)來(lái)初始化SPI設(shè)備;
SPISettings()具體定義為:SPISettings(speedMaximum,dataOrder,dataMode)
其中:
speedMaximum:表示時(shí)鐘
dataOrder:表示數(shù)據(jù)發(fā)送優(yōu)先順序,MSBFIRST表示高位優(yōu)先,LSBFIRST表示低位優(yōu)先。
dataMode:表示SPI的四種操作模式:
2.1) 模式0:默認(rèn)值,時(shí)鐘通常為低電平(CPOL = 0),數(shù)據(jù)在從低電平到高電平(前沿)(CPHA = 0)的轉(zhuǎn)換時(shí)采樣。
2.2)模式1:時(shí)鐘通常為低電平(CPOL = 0),數(shù)據(jù)在從高電平到低電平(后沿)(CPHA = 1)的轉(zhuǎn)換時(shí)采樣。
2.3)模式2:時(shí)鐘通常為高電平(CPOL = 1),數(shù)據(jù)在從高電平到低電平(前沿)(CPHA = 0)的轉(zhuǎn)換時(shí)采樣。
2.4)模式3:時(shí)鐘通常為高電平(CPOL = 1),數(shù)據(jù)在從低電平到高電平(后沿)(CPHA = 1)的轉(zhuǎn)換時(shí)采樣。

演示代碼中,具體傳入的為:SPISettings(6400000, MSBFIRST, SPI_MODE0),表示時(shí)鐘為6.4MHz對(duì)應(yīng)值,高位優(yōu)先,操作模式為默認(rèn)值。

編寫(xiě)好代碼后,編譯下載,就能運(yùn)行起來(lái):

9be252ec-f4aa-11ec-a2f4-dac502259ad0.png

打開(kāi)串口,Ardunio的串口工監(jiān)視器,就能看到串口輸出的信息,會(huì)顯示當(dāng)前要點(diǎn)亮的燈珠;
把板子翻過(guò)來(lái),可以看到背后的LED3在狂閃,因?yàn)榇a中設(shè)置的delay為100毫秒,1秒得有10次。
再看WS2812B炫彩8*8點(diǎn)陣,燈珠按順序點(diǎn)亮并熄滅。
具體效果,如視頻所示。

如在前兩篇分享的控制WS2812B的文章中所說(shuō),你可以根據(jù)自己的需要,讓這塊WS2812B炫彩8*8點(diǎn)陣呈現(xiàn)出更復(fù)雜的效果,行動(dòng)起來(lái)吧!

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

    關(guān)注

    242

    文章

    23375

    瀏覽量

    663387
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1852

    瀏覽量

    85671
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【敏矽微ME32G070開(kāi)發(fā)板免費(fèi)體驗(yàn)】點(diǎn)亮WS2812B燈板

    0001 1001 0000 0000 0000 1100]驅(qū)動(dòng)方式 目前關(guān)于WS2812B大概有三種驅(qū)動(dòng)方法: 1)GPIO配合機(jī)器空周期直接驅(qū)
    發(fā)表于 01-07 23:58

    基于瑞薩FPB-RA4E2智能床頭燈項(xiàng)目——2串口藍(lán)牙通訊

    ;lt;= 1; b <<= 1; pR++; pG++; pB++; } } void WS2812B_Task(void) { uint8_
    發(fā)表于 11-22 22:13

    基于瑞薩FPB-RA4E2智能床頭燈項(xiàng)目——1編譯環(huán)境搭建與點(diǎn)亮驅(qū)動(dòng)ws2812全彩LED

    (FSP_SUCCESS== err); sci_spi_extended_cfg_tsci_spi_extended_cfg_t1; WS2812B
    發(fā)表于 11-22 21:34

    【RA8D1試用活動(dòng)】RA8D1B-CPKCOR開(kāi)發(fā)板移植linux

    【RA8D1試用活動(dòng)】RA8D1B-CPKCOR開(kāi)發(fā)板移植linux
    的頭像 發(fā)表于 11-16 01:02 ?333次閱讀
    【RA8D<b class='flag-5'>1</b><b class='flag-5'>試用</b>活動(dòng)】RA8D<b class='flag-5'>1B</b>-CPKCOR開(kāi)發(fā)板移植linux

    論如何使用WS2812以及類(lèi)似燈珠

    ? ?WS2812 LED燈珠,這是一種非常流行的可尋址RGB LED。每個(gè)WS2812 LED內(nèi)部集成了控制電路,因此可以通過(guò)一個(gè)數(shù)據(jù)輸入
    的頭像 發(fā)表于 09-30 15:11 ?650次閱讀
    論如何使用<b class='flag-5'>WS2812</b>以及類(lèi)似燈珠

    在AvaotaA1全志T527開(kāi)發(fā)板上驅(qū)動(dòng)WS2812 RGB LCD

    對(duì)應(yīng) R,G,B 三種顏色)數(shù)據(jù),剩余的數(shù)據(jù)經(jīng)過(guò)內(nèi)部整形處理電路整形放大后通過(guò) DO 端口開(kāi)始轉(zhuǎn)發(fā)輸出給下一個(gè)級(jí)聯(lián)的 LED 。因此,每經(jīng)過(guò)一個(gè) LED ,數(shù)據(jù)減少 24bit。 WS28
    發(fā)表于 07-22 10:45

    WS2812是否可以反轉(zhuǎn)UART的輸出?

    是否可以反轉(zhuǎn) UART 的輸出。輸出 1 而不是 0,輸出 0 而不是 1。 問(wèn)題背景:按照以下方案使用 UART 控制 WS2812: (1)XX XXX XX(0). 具有 7
    發(fā)表于 07-15 07:37

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

    neopixel #import ws2812 import time GBIO_IN = Pin(40,Pin.OUT)# 控制信號(hào)輸入引腳 LED_NUM = 15 # LED燈的數(shù)量
    發(fā)表于 06-05 06:17

    開(kāi)源項(xiàng)目!可編程的磁懸浮桌面氛圍燈(Arduino+WS2812

    ,喜歡的初學(xué)者可以來(lái)嘗試一下。 材料清單 Arduino Nano x 1 PLA 材料 x 若干 LED 燈帶(WS2812 60led/m)x 若干 12.7mm x 5mm 磁
    發(fā)表于 06-03 11:53

    【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】利用 OpenMV 實(shí)現(xiàn) AprilTag 跟蹤以及通過(guò)串口通訊控制 Arduino 驅(qū)動(dòng) LED 燈帶

    作為下位機(jī)接收坐標(biāo)信息并將信息轉(zhuǎn)化為 LED 矩陣坐標(biāo),再通過(guò) FastLED 庫(kù)實(shí)現(xiàn)對(duì) WS2812b 燈帶的 LED 操控。 開(kāi)發(fā)現(xiàn)況 由于手頭上的 WS2812b 燈帶連接觸點(diǎn)
    發(fā)表于 05-31 00:01

    STM32F030 MDA+PWM驅(qū)動(dòng)ws2812b,起始的50US的低電平是怎么產(chǎn)生?

    STM32F030 MDA+PWM 驅(qū)動(dòng) ws2812b,起始的50US的低電平怎么產(chǎn)生? 現(xiàn)在dma+pwm,倒是可以產(chǎn)生一個(gè)800K hz的驅(qū)動(dòng)數(shù)據(jù),但是WS2812要求有50US
    發(fā)表于 04-12 07:23

    SPI+DMA對(duì)Ws2812數(shù)據(jù)總是有一個(gè)高電平為什么?

    SPI+DMA對(duì)Ws2812數(shù)據(jù)總是有一個(gè)高電平 時(shí)鐘沒(méi)錯(cuò),發(fā)送給DMA的數(shù)據(jù)大小也沒(méi)問(wèn)題,想不明白還有有哪里的原因
    發(fā)表于 03-15 07:55

    STM32F051C8 PA0不能以DMA的方式輸出PWM,沒(méi)有正確波形輸出是哪里出了問(wèn)題?

    實(shí)現(xiàn)功能:用STM32F051C8的PA0驅(qū)動(dòng)WS2812B 彩色LED燈條; 實(shí)現(xiàn)方法和工具:1.使用Cubemx 生成代碼;2.配置PA0,PA0為PWM輸出; 配置方式:打開(kāi)Cu
    發(fā)表于 03-13 06:20

    5050RGB三合一LED WS2850B數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《5050RGB三合一LED WS2850B數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 03-07 18:16 ?1次下載

    麥爵士madrix麥覺(jué)仕幻彩燈條燈帶的基本認(rèn)識(shí)以及測(cè)點(diǎn)編程調(diào)試方法解析

    第一,幻的分類(lèi)幻(燈帶,點(diǎn)光源,線條燈)可以分為3大類(lèi),第一種是單線SPI/TTL協(xié)議,最常見(jiàn)就是VVC(正極)-DAT(數(shù)據(jù)線)-GND。海外最知名的型號(hào)是WS2812B相比來(lái)說(shuō),外置型更穩(wěn)
    的頭像 發(fā)表于 02-27 20:58 ?5657次閱讀
    麥爵士madrix麥覺(jué)仕幻彩燈條燈帶的基本認(rèn)識(shí)以及測(cè)點(diǎn)<b class='flag-5'>編程</b>調(diào)試方法解析