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

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

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

3天內不再提示

LED帽子的制作教程

454398 ? 來源:wv ? 2019-09-04 14:14 ? 次閱讀

我一直想做一個Arduino項目,但在我的家人被邀請參加之前從未有任何好的想法?;ㄉ诘拿弊优蓪?。有兩個星期的交付時間,我很好奇我是否可以計劃和執行動作敏感的LED動畫帽。結果我可以!我可能有點過火,但總項目花費大約80美元。通過實驗和一些編碼,你可以少花錢。

戴著帽子的目標如下:

讓一組燈從中心前移動帽子到后面,每側有一盞燈

改變前后帽子傾斜所決定的燈光行程的速度

帽子樂隊允許燈光反轉向下傾斜(即模擬重力對燈光的影響)

根據帽子從左向右的傾斜度改變顏色

感覺震動,并顯示特殊效果

感覺佩戴者旋轉,并顯示特殊效果

將其完全包含在帽子中

步驟1:需要的部件

我使用了以下主要組件(包括非聯屬亞馬遜鏈接):

Teensy LC微控制器 - 由于體積小,我在常規Arduino上選擇了它,它有一個特殊的連接來控制我的LED,以及st榮獲圖書館和社區支持。

基于Bosch BNO055的位置傳感器 - 老實說是我發現的第一個文檔之一。有更便宜的選擇,但是一旦你弄清楚博世它會為你做很多事情你將不得不做的代碼

WS2812可尋址LED燈條 - 我選擇1米長的144個LED每米。具有這種密度有助于燈光看起來更像是在移動,而不是按順序點亮單個元素。

以及以下次要組件:

帽子 - 任何帶帽帶的帽子都可以。這是來自當地商店的6美元帽子。如果背面有接縫,則更容易接線。注意帽帶是否粘在一起,因為這也會造成一些額外的困難。這個是沿著頂部縫制的,但是底部很容易拉起來。

4.7K歐姆電阻器

3x AAA電池盒 - 使用3節AAA電池輸出電壓,完全符合電子設備所需的范圍,簡化了操作。 AAA比AA更容易融入帽子,并且仍然具有很好的運行時間。

規格電線 - 我使用了之前LED項目中的一些實心電線。

烙鐵和焊料

一些與帽子內部顏色相匹配的氨綸和線程

建議,但可選:

電池線的快速連接器

幫助工具,這些東西非常小且難以焊接

步驟2:修改帽子

你需要戴帽子的地方安裝電子設備和電池的地方。我的妻子專業從事服裝工作,所以我向她尋求建議和幫助。我們最終創造了兩個氨綸口袋。朝向前部的第一個較小的口袋像帽子本身一樣指向,這樣當安裝電子設備時,位置傳感器可以很好地固定到位,但如果需要可以很容易地移除。朝向后面的第二個口袋是將電池組固定到位。

口袋中播放的線條與帽子的顏色相匹配,所有的長度都是冠線。根據帽子和材料的風格,它是由YMMV用這種技術制成的。

我們還發現帽子帶在一側折疊成自己,并且在那個位置完全縫到帽子上。我們不得不移除原始接縫,以便在帶下運行LED。在制作期間,它用銷釘固定,然后在完成時用匹配的線縫合。

最后,我們打開帽子背面的接縫,如果它被帶子覆蓋。我們將LED附帶的線束穿過該接縫,并將條帶中的第一個LED排列在接縫上。然后我們將LED包裹在帽子周圍并將條帶向下切割,使最后一個LED緊挨著第一個LED。只需使用帽帶即可將LED燈條固定到位,但根據您的帶和材料,您可能需要通過縫合或粘合來固定LED。

步驟3:連線

Teensy電路板和LED可以在3.3V至5V的任何地方工作。這就是我選擇使用3節AAA電池的原因,4.5v的輸出電壓很好地適用于該范圍,并且它們具有足夠的運行時間,因為我將LED編程為工作方式。你應該能夠超過8小時的運行時間。

接線電源

我將電池盒和LED的正極和負極引線連接在一起,然后焊接到適當位置的Teensy上。電池的正極需要連接到圖中Teensy的右上方引腳(在電路板上標記為Vin),負極可以連接到任何標有GND的引腳。方便地,有一個直接位于電路板的另一側,或緊鄰Vin引腳。電路板的完整引腳圖可以在本頁底部找到。在某些情況下,當您訂購電路板時,會包含紙質副本。

如果您計劃運行一次只打開幾個LED的代碼,您可以從Teensy為LED供電本身,通過使用3.3v輸出和GND,但是如果你試圖拉太多電力,你可能會損壞電路板。因此,為了給自己提供最多選擇,最好將LED直接連接到電池電源。

連接LED

我選擇了Teensy LC這個項目因為它有一個引腳,可以更容易地連接可尋址的LED。在電路板的底部,左邊第二個引腳鏡像引腳#17,但也有3.3v。這被稱為上拉電阻,而在其他電路板上,您必須連接一個電阻器來提供該電壓。對于Teensy LC,您可以直接從該引腳連接到LED數據線。

接線位置傳感器

有些BNO055電路板的電壓要嚴格得多,只需3.3v。因此,我在Teensy上的專用3.3v輸出端連接了BNO055板上的Vin,這是右側的第3個引腳。然后,您可以將BNO055上的GND連接到Teensy上的任何GND。

BNO055位置傳感器使用I2c與Teensy通信。 I2c需要上拉,所以我將兩個4.7K歐姆電阻從Teensy上的3.3v輸出連接到引腳18和19.然后將引腳19連接到BNO055板上的SCL引腳,并將18連接到SDA引腳。/p》

接線提示/技巧

為了做這個項目,我使用的是實線而不是擱淺。實心焊絲的一個優點是焊接到這樣的原型板上。您可以剝去一些電線,將其彎曲90度,然后將其插入其中一個端子的底部,這樣電線的切割端就會粘在電路板上方。然后,您只需要少量焊料將其固定在端子上,您就可以輕松切除多余的焊料。

實心線可能更難以使用,因為它傾向于保持彎曲的方式。然而,對于這個項目來說這是一個優勢。我切割和塑造我的電線,使得位置傳感器的方向一致,因為我從帽子中插入并移除了電子元件以進行調整和編程。

步驟4:編程

現在所有東西都已組裝好,你需要一個Arduino兼容的編程工具。我使用了實際的Arduino IDE(適用于Linux,Mac和PC)。您還需要Teensyduino軟件與Teensy板接口。該項目大量使用FastLED庫來進行LED的顏色和位置編程。

校準

您要做的第一件事就是去Kris Winer為BNO055提供優秀的GitHub存儲庫并下載他的BNO_055_Nano_Basic_AHRS_t3.ino草圖。在串行監視器運行時安裝該代碼,它將告訴您BNO055板是否正常聯機并通過其自檢。它還將引導您校準BNO055,這將在以后為您提供更一致的結果。

花式LED草圖入門

專門附加了Fancy LED hat的代碼,也附加在我的GitHub存儲庫中。我計劃對代碼進行更多調整,這些調整將發布在GitHub repo上。此文件反映了此Instructable發布時的代碼。下載并打開草圖后,您需要更改一些內容。要更改的大多數重要值都在#define語句的最頂層:

第24行:#define NUM_LEDS 89 - 將其更改為LED條上的實際LED數量

第28行:#define SERIAL_DEBUG false - 您可能希望將此設置為true,以便在串行監視器上看到輸出

位置檢測代碼

位置檢測和大部分調整都從742行開始,經過802.我們從位置傳感器獲取俯仰,滾轉和偏航數據并將其用于設定值。根據電子設備的安裝方式,您可能需要更改這些設備。如果您將位置傳感器的芯片朝向帽子的頂部安裝,并且電路板上印有的X旁邊的箭頭指向帽子的前部,您應該看到以下內容:

Pitch正在點頭。

滾動正在傾斜你的頭,例如觸摸你的耳朵

偏航是哪個方向。你面對的是(北方,西方等)。

如果您的電路板安裝在不同的方向,您需要交換俯仰/轉動/偏航以使它們按照您的意愿行事。

要調整滾動設置,您可以更改以下#define值:

ROLLOFFSET:在你的帽子穩定并且盡可能居中的情況下,如果Roll不為0,請根據差異進行更改。即如果您在帽子居中時看到在-20處滾動,請將其設為20。

ROLLMAX:用于滾動測量的最大值。戴帽子,右耳向右肩移動,最容易找到。使用串行監視器時,您需要使用長USB電纜。

ROLLMIN:用于滾動測量的最低值,用于向左傾斜時

同樣,對于Pitch:

MAXPITCH - 查找時的最大值

MINPITCH - 向下看時的最小值

PITCHCENTER - 直視前的音高值

如果在文件頂部將SERIALDEBUG設置為true,則應該看到Roll/Pitch/Yaw輸出的當前值串行監視器,以幫助調整這些值。

您可能想要更改的其他參數

MAX_LED_DELAY 35 - LED粒子可以最慢的移動。這是以毫秒為單位。這是從燈串中的一個LED移動到下一個LED的延遲。

MIN_LED_DELAY 10 - LED顆粒可以移動的禁食。如上所述它是以毫秒為單位。

結論

如果你走得這么遠,你應該有一個功能齊全,充滿樂趣的, LED帽子!如果你想用它做更多的事情,下一頁有一些關于改變設置和做自己的事情的高級信息。以及我的其余代碼正在做什么的一些解釋。

步驟5:高級和可選:代碼內部

影響和自旋檢測

影響/自旋檢測是使用BNO055的高G傳感器功能完成。您可以使用initBNO055()中的以下行來調整它的靈敏度:

第316行:BNO055_ACC_HG_DURATION - 事件必須持續多長時間

第317行: BNO055_ACC_HG_THRESH - 需要有多大的影響

第319行:BNO055_GYR_HR_Z_SET - 轉速閾值

第320行:BNO055_GYR_DUR_Z - 轉動甚至持續多長時間

兩個值均為8位二進制,目前影響設置為B11000000,即255中的192.

當檢測到撞擊或旋轉時,BNO055設置一個值,該值為代碼在循環的開頭尋找:

// Detect any interrupts triggered, i.e. due to high G

byte intStatus = readByte(BNO055_ADDRESS, BNO055_INT_STATUS);

if(intStatus 》 8) {

impact();

} else if(intStatus 》 0) {

spin();

}

在代碼中查找上面的void impact()行以更改影響時的行為,或者使用void spin()來更改旋轉行為。

助手

我創建了一個簡單的輔助函數(void setAllLeds()),用于快速將所有LED設置為單一顏色。一個用它來關閉它們:

setAllLeds(CRGB::Black);

或者你可以選擇FastLED庫識別的任何顏色:

setAllLeds(CRGB::Red);

還有一個fadeAllLeds ()函數將所有LED調暗25%。

粒子類

為了大大簡化布線,我想使用單個LED串,但讓它們表現得像多個字符串。由于這是我的第一次嘗試,我希望盡可能簡單,所以我將一個字符串視為兩個,中間的LED將在那里進行拆分。由于我們可以有偶數或奇數,我們需要考慮到這一點。我從一些全局變量開始:

/*

* Variable and containers for LEDs

*/

CRGB leds[NUM_LEDS];

static unsigned int curLedDelay = MAX_LED_DELAY;

static int centerLed = NUM_LEDS / 2;

static int maxLedPos = NUM_LEDS / 2;

static bool oddLeds = 0;

static bool particleDir = 1;

static bool speedDir = 1;

unsigned long dirCount;

unsigned long hueCount;

以及setup()中的一些代碼:

if(NUM_LEDS % 2 == 1) {

oddLeds = 1;

maxLedPos = NUM_LEDS/2;

} else {

oddLeds = 0;

maxLedPos = NUM_LEDS/2 - 1;

}

如果我們有奇數,我們想要使用1/2點作為中間,否則我們想要1/2點-1。這很容易看到10或11個LED:

11個LED:帶整數的11/2應該評估因為0到4是一半,6-10是另一半,5是在它們之間。我們在這種情況下將#5視為兩者的一部分,即兩個虛擬LED串都是#1

10個LED:10/2是5.但是由于計算機從0開始計算,我們需要刪除一個。那么我們一半有0 - 4,另一半有5 - 9。第一個虛擬字符串的#1將是4,第二個虛擬字符串的#1將是#5。

然后在我們的粒子代碼中,我們必須從我們的整體位置進行一些計數到LED燈串的實際位置:

if(oddLeds) {

Pos1 = centerLed + currPos;

Pos2 = centerLed - currPos;

} else {

Pos1 = centerLed + currPos;

Pos2 = (centerLed -1) - currPos;

}

代碼還具有粒子可以改變方向的條件,因此我們還必須考慮到這一點:

if(particleDir) {

if((currPos == NUM_LEDS/2) && oddLeds){

currPos = 0;

} else if((currPos == NUM_LEDS/2 - 1) && (!oddLeds)){

currPos = 0;

} else {

currPos++;

}

} else {

if((currPos == 0) && oddLeds){

currPos = centerLed;

} else if((currPos == 0) && (!oddLeds)){

currPos = centerLed - 1;

} else {

currPos--;

}

}

所以我們使用預期的方向(particleDir ),計算下一個應該點亮的LED,但是我們還必須考慮我們是否已經到達LED燈串的實際端點,或者我們的中心點,它們也作為每個虛擬串的結束。

一旦我們發現了這一切,我們會根據需要點亮下一個燈光:

if(particleDir) {

if(oddLeds) {

Pos1 = centerLed + currPos;

Pos2 = centerLed - currPos;

} else {

Pos1 = centerLed + currPos;

Pos2 = (centerLed -1) - currPos;

}

} else {

if(oddLeds) {

Pos1 = centerLed - currPos;

Pos2 = centerLed + currPos;

} else {

Pos1 = centerLed - currPos;

Pos2 = (centerLed -1) + currPos;

}

}

leds[Pos1] = CHSV(currHue, 255,255);

leds[Pos2] = CHSV(currHue, 255,255);

FastLED.show();

}

為什么要把它作為一個類?實際上,這非常簡單,并不需要在課堂上。但是我有未來計劃更新代碼以允許一次發生多個粒子,并且有些工作正在逆向而其他粒子正在進行中。我認為使用多個粒子進行自旋檢測有很多可能性。

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

    關注

    242

    文章

    23256

    瀏覽量

    660629
收藏 人收藏

    評論

    相關推薦

    HDI板盲孔制作常見缺陷及解決

    HDI板是一種高密度互連印刷電路板,其特點是線路密度高、孔徑小、層間連接復雜。在HDI板的制作過程中,盲孔的制作是一個關鍵步驟,同時也是常見的缺陷發生環節。以下是根據搜索結果總結的HDI板盲孔制作的常見缺陷及其解決方法。
    的頭像 發表于 11-02 10:33 ?250次閱讀

    AIGC在視頻內容制作中的應用前景

    AIGC(Artificial Intelligence Generated Content,人工智能生成內容)在視頻內容制作中的應用前景廣闊,主要體現在以下幾個方面: 一、提高視頻內容制作效率
    的頭像 發表于 10-25 15:44 ?507次閱讀

    開關電源設計與制作

    電子發燒友網站提供《開關電源設計與制作.doc》資料免費下載
    發表于 10-24 16:36 ?5次下載

    光刻掩膜版制作流程

    光刻掩膜版的制作是一個復雜且精密的過程,涉及到多個步驟和技術。以下是小編整理的光刻掩膜版制作流程: 1. 設計與準備 在開始制作光刻掩膜版之前,首先需要根據電路設計制作出掩模的版圖。這
    的頭像 發表于 09-14 13:26 ?611次閱讀

    AI+XR打造內容制作新范式 隨幻科技全新虛擬制作方案首秀BIRTV2024

    基于隨幻ZONE數字化影棚和XR-PRO帶深度LED虛擬制作系統這兩套全新的技術方案,隨幻科技將持續探索與不同內容形式的結合,并進行這一技術方案在業內團隊與高校的培訓合作。
    的頭像 發表于 08-28 16:56 ?359次閱讀
    AI+XR打造內容<b class='flag-5'>制作</b>新范式 隨幻科技全新虛擬<b class='flag-5'>制作</b>方案首秀BIRTV2024

    單片機POV LED流水燈制作

    電子發燒友網站提供《單片機POV LED流水燈制作.docx》資料免費下載
    發表于 05-28 14:34 ?3次下載

    帽子互動娛樂科技公司(NASDAQ: BHAT)宣布人工智能&quot;艾琳&quot;將擔任首席信息官

    香港2024年5月15日?/美通社/ --?在人工智能技術的引領下,藍帽子互動娛樂公司(交易代碼:BHAT)今天宣布,一位由公司自主研發的AI數字人"艾琳"將出任公司的首席信息官(CIO)。這位AI
    的頭像 發表于 05-15 13:59 ?414次閱讀

    cadence LOGO如何制作

    電子發燒友網站提供《cadence LOGO如何制作.docx》資料免費下載
    發表于 03-07 14:28 ?0次下載

    NGC9825LED高天棚燈

    led
    樂清市大浪電器有限公司
    發布于 :2024年02月22日 09:16:58

    使用Arduino Nano制作一個4×4×4 LED立方體

    在這個項目中,我們將使用 Arduino Nano 制作一個很酷的 4×4×4 LED立方體。LED 立方體,也稱為 LED矩陣,可以照亮您的房間、學習空間或創客區域,使其看起來非常酷
    的頭像 發表于 02-11 12:07 ?3190次閱讀
    使用Arduino Nano<b class='flag-5'>制作</b>一個4×4×4 <b class='flag-5'>LED</b>立方體

    新綸柔性光學封裝材料:助力柔性LED透明顯示

    顯示來使用,也可以應用于特殊顯示領域,比如用來制作創意異形屏,柱形屏、球形屏、曲面屏等,被廣泛應用于玻璃幕墻、商場廣告、展覽展示、創意藝術景觀等場景。 玻璃幕墻 商場電梯廣告 展廳 藝術效果 二、LED軟膜屏 目前,柔性LED
    的頭像 發表于 01-25 16:10 ?805次閱讀

    常見LED閃光燈電路圖講解

    LED閃光燈就是使用發光二極管(LED制作的閃光燈。它與傳統的閃光燈相比,有體積小、色彩豐富、節能等優點。
    的頭像 發表于 01-05 17:28 ?6129次閱讀
    常見<b class='flag-5'>LED</b>閃光燈電路圖講解

    Arduino制作循跡小車教程

    Arduino制作循跡小車完全教程
    發表于 01-05 11:09 ?7次下載
    主站蜘蛛池模板: 99RE6这里只有精品国产AV| 国产传媒在线观看| 国内精品久久久久久久999下| 蜜柚视频网在线观看免费| 性感尼姑风流寺| FREEHDXXXX学生妹| 久久草香蕉频线观| 手机在线免费| proburn中文破解版下载| 精品伊人久久久| 乡土女性网动态图解| vagaa哇嘎黄短片| 久久青青草视频在线观| 亚洲H成年动漫在线观看不卡| 成人在免费观看视频国产| 麻豆XXXX乱女少妇精品-百度| 亚洲国产成人在线| 国产成人在线网站| 秋霞影院福利电影| 97一期涩涩97片久久久久久久| 久久爱狠狠综合网| 亚洲AV无码乱码国产麻豆P| 搞基福利社| 青柠在线视频| 99精品影视| 久热这里只有精品99国产6| 亚洲日本激情| 国内精品人妻无码久久久影院蜜桃| 视频成人永久免费看| 成人网络电视破解版| 欧美精品乱码99久久蜜桃| 18黄女脱内衣| 久久视频在线视频| 伊人久久精品线影院| 狠狠色综合久久丁香婷婷| 午夜黄视频| 国产精品99精品无码视亚| 日久精品不卡一区二区| 被黑人做的白浆直流| 欧美亚洲精品真实在线| caoporn 超碰免费视频|