電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>DIY Arduino轉(zhuǎn)向信號自行車安全背心

DIY Arduino轉(zhuǎn)向信號自行車安全背心

2022-11-15 | zip | 0.71 MB | 次下載 | 2積分

資料介紹

描述

“LightVest”是一款?開源的 Arduino轉(zhuǎn)向信號自行車安全背心,旨在成為一種可穿戴技術(shù)。產(chǎn)品是一種自行車套裝,旨在增加騎車人的能見度,尤其是在夜間。此外,改善騎自行車者與路上其他駕車者和行人的溝通和意圖。

背景背景:

這是一個有點奇怪的挑戰(zhàn)。我想看看我們?nèi)绾螌㈨椖孔兂山鉀Q現(xiàn)實世界問題的“產(chǎn)品”。自舉500美元的投資。4 周后,介紹 LightVest。

注意:本項目是為您改進(jìn)和開發(fā)而設(shè)計的。隨意貢獻(xiàn),并探索更多用例。(下面的 GitHub 回購)

現(xiàn)在我們已經(jīng)解決了所有問題,讓我們開始吧!

LightVest 概述

總體而言,LightVest 是一種由微控制器控制的燈帶,可安全地應(yīng)用于可穿戴織物,例如背心。從這一點出發(fā),我們可以在這個想法的基礎(chǔ)上,使其防風(fēng)雨、輕便、便攜,甚至可以與其他設(shè)備通信。

特征

  • 輕便的防風(fēng)雨 LED 背心(帶有 IP67 級 LED)
  • 轉(zhuǎn)向信號燈– 完全可編程的 RGB LED
  • 用于控制燈光的無線遙控器(帶有四個完全可定制的按鈕)
  • ?連接到您的自行車的自行車支架
  • 開/關(guān)開關(guān)按鈕
  • Go Hand's Free 使用內(nèi)置加速度計- 控制來自自行車把手的轉(zhuǎn)向信號。
  • SmartMode –?通過電話發(fā)送數(shù)據(jù)并跟蹤您的旅程

LightVest 包括:

  • 背面的菱形指示器
  • 肩部前燈條

下表解釋了每個 LED 段的功能:

pYYBAGNy3i-AT9xRAAA_ojchRLA874.png
轉(zhuǎn)向信號指示的基本功能概述
?

詳細(xì)來說,Bike Remote 和 LED Bike Vest 有兩個 Arduino(微控制器),它們通過藍(lán)牙相互通信。

LED背心的工作原理是使用Arduino根據(jù)用戶的動作控制一組LED燈條(WS2812B)。Arduino 還可以通過 LED 燈條控制可單獨尋址的 RGB LED。

自行車遙控器有四個可定制的按鈕。當(dāng)按下按鈕時,會向 LightVest 的 Arduino 發(fā)送一個值,根據(jù)接收到的特定值觸發(fā) LED 燈條/WS2812B 以特定方式點亮。

示例 #1:

動作:當(dāng)您按下遙控器的右按鈕時

通信:值“R”(代表 Right 通過藍(lán)牙發(fā)送到 LED Vest 微控制器)

結(jié)果:LED 燈條將點亮 LED 燈條的右箭頭。

但您可能也想知道,“這意味著您每次需要轉(zhuǎn)彎時都需要按下遙控器……如果我騎自行車怎么辦?!”

這就是陀螺儀(MPU6050)發(fā)揮作用的地方。使用 MPU6050 的相對位置/方向,我們可以確定自行車是左轉(zhuǎn)還是右轉(zhuǎn)。因此,基于上述相同的原理,我們可以將遙控器安裝到自行車把手上并做同樣的事情。

示例 #2

行動:當(dāng)您向右轉(zhuǎn)動車把時。

微控制器:陀螺儀檢測向右方向的相對變化。值“R”(代表右)通過藍(lán)牙發(fā)送到 LED Vest 微控制器。

結(jié)果:LED 燈條將點亮 LED 燈條的右箭頭。

您可以通過查看由人類手勢控制的機械臂來了解更多關(guān)于加速度計如何工作的信息,這將在這方面進(jìn)行更詳細(xì)的介紹。

零件清單側(cè)重于 Prototype 的面包板實現(xiàn),這是開發(fā)/實驗背心的理想選擇。有關(guān)零件清單的更多詳細(xì)信息,請訪問Building Lightvest 原創(chuàng)文章。

工作原理 - WS2812B LED 燈條。

仔細(xì)看,WS2812B LED 燈條由 5050 個 RGB LED 燈組成,集成了一個更小的 WS2812B LED 驅(qū)動器。

由于它由 RGB 燈組成,我們可以控制 RGB(紅、綠、藍(lán))十六進(jìn)制值的強度,以提供我們喜歡的顏色色調(diào)以及要點亮的單個 LED。

令人興奮的部分是我們可以只用數(shù)據(jù)線上的一個 Arduino 引腳來控制整個條帶。此外,當(dāng)前 LED 的數(shù)據(jù)輸出焊盤連接到下一個 LED 的輸入焊盤。

注意:具有諷刺意味的是(盡管很漂亮),所有 LED 都依賴于一條線(5V、DATA、GND)。單個 LED 的任何破損/問題都會影響 LED 的其余部分。

LED線路的分類:

  • 5V
  • 數(shù)據(jù)(迪)
  • 接地

每個 LED 在全亮度下消耗 ~ 20mA。鑒于此 LightVest 有多達(dá) 90 個 LED。我們需要在 5V 電壓下運行約 2000maH。

對于較少數(shù)量的 LED,Arduino 5V 可以處理這個問題。

對于此實施,我們使用 5V、22000maH RC 電池作為外部電源

下圖顯示了 Arduino 設(shè)置和 LED 燈條,以生成如下所示的彩虹 LED 燈條。

注意:在 LED 和燈帶之間使用了一個 330 歐姆的電阻器,以減少該線路上的噪聲,以避免顏色出現(xiàn)故障。

此外,5V 和 GND(接地)之間的 100uF 以平滑電源。

筆記:

  • LED燈條是IP67防水保護(hù)的LED燈條,可以承受很好的暴雨。但是,請勿嘗試浸入水中。
  • 雖然 WS2812B/LED 燈帶非常靈活,但請避免反復(fù)彎曲燈帶,這可能會導(dǎo)致連接松動/斷裂。

您可以在下面的示例中找到 LED 燈條 Neo-Pixel 的代碼。有關(guān) LED 燈條的更多上下文和其他用途,請訪問帶有轉(zhuǎn)向信號指示燈的電動滑板。

切割 WS2812B LED 燈條

?
pYYBAGNy3jiAfp1yAAEreOtY9CI113.jpg
連接器焊盤處切割 LED 燈條
?

這個 LED 燈條需要以某種方式連接到可穿戴的衣服上。然而,LED 燈條和電子設(shè)備需要以某種方式拆卸以進(jìn)行清洗。防水且足夠小,可以將電子設(shè)備安全地放入背心。

幸運的是,這些是靈活的 LED 燈條,可以切割成任何長度并重新連接成任何形狀。請記住,重新連接 LED 燈條的主要方法有兩種:

  • 焊接
  • 使用夾式連接器

無論哪種方式都很好。然而,對于這個版本,夾子連接器用于重新連接 LED 燈條,因為它是一種更清潔的解決方案,只需簡單的夾子即可。

?
poYBAGNy3juAXNZeAACjlesZMFA950.jpg
LightVest - 重新連接 LED 燈條
?

LightVest – 面包板實現(xiàn):

LightVest 包括:

  • LED 自行車背心 – LED 燈條,我是 Arduino
  • 自行車套裝遙控器 - 通過藍(lán)牙控制 LED 燈條

下圖顯示了面包板的實現(xiàn)。

?
pYYBAGNy3j6AcgsUAAEqQGtY4vY484.png
LightVest 遙控器的 Fritzing 圖 - (面包板)
?

完成所有設(shè)置后,當(dāng)您按下四個按鈕之一(每個按鈕代表一個方向)時,遙控器代碼將用作具有四個按鈕的無線遙控器。

自行車背心遙控器

對應(yīng)的 LED 燈會亮起,表示按鍵已成功按下。結(jié)果,將使用 HC05 藍(lán)牙模塊通過藍(lán)牙將值從遠(yuǎn)程 Arduino 發(fā)送到 Bike Vest Arduino。

?
poYBAGNy3kKACy-WAAEV_EeoxFY544.png
帶 MPU6050 的 LightVest 遙控器的 Fritzing 圖 - (面包板)
?

自行車背心套裝 - 代碼概述

LED Vest 接收遠(yuǎn)程發(fā)送的值。根據(jù)提供的值:

L - 左

D – 向下

U - 向上

R – 右

LightVest 遠(yuǎn)程 Arduino 將調(diào)用與接收到的值相關(guān)的函數(shù)。例如值 'L' 調(diào)用 stripLeft(); 功能

電池,安全

當(dāng)談到 LightVest 時,牢記安全很重要。因此,電池需要足夠小以適合自行車背心,并且足夠耐用以承受劇烈跌落和外部撞擊。

Li-Po 是最初的選擇。它小巧緊湊。但它落下的地方是它沒有太多的保護(hù),如果它被損壞或刺破,可能會成為一個問題。

作為替代方案,Lion RC 電池組被用作次佳替代方案。它堅固耐用,可以承受更惡劣的條件。我們必須妥協(xié)的唯一因素是尺寸。因此,LED 遙控器和 Suit 電子設(shè)備的占用空間會稍大一些。

但是,為了保持一定的安全水平,這是值得的。如果您還有其他選擇,請在評論中留下。

設(shè)計 – 背心組裝

LightVest 是完全可定制的,可以應(yīng)用于選擇的可穿戴設(shè)備。

注意:請記住隱藏任何明線并使用防風(fēng)雨材料,例如 IP67 防風(fēng)雨涂層 LED 燈條。在您對背心的耐候性完全滿意之前,請避免在雨天使用這款 LightVest。

您可以使用 3D 打印外殼保護(hù)電路,并用塑料套管覆蓋裸露的 L 型連接器,使其免受“菱形”指示器的影響。

LED燈條是如何可拆卸的?

對于這個初始原型,我們的目標(biāo)是讓燈帶易于拆卸,以便清潔衣物。考慮到這一點,通過反復(fù)試驗——最好的方法是使用 Velcro 緊固件將條帶固定到位。

4 個放置的 Velcro 緊固件可以環(huán)繞 LED 指示燈以將指示燈固定到位。

3D 打印和縮小外形

如果您希望 3D 打印相同的外殼,您可以在下面找到指向 .STL 文件的鏈接:

PCB設(shè)計

?
poYBAGNy3keAFNiXAAEvQxLBr2A805.jpg
LightVest PCB 組裝
?

PCB 旨在最終確定我們對面包板實施的了解并保持所有部件就位。如果您想創(chuàng)建自己的,可以在此處獲取 Light Vest PCB 的原理圖。(Fritzing & Eagle CAD 文件)。

使用 JLCPCB 構(gòu)建您自己的 PCB:https ://jlcpcb.com/DEK

代碼

下面的代碼概述了 LightVest 如何工作的基本功能,以及如何對 LED 燈條進(jìn)行編程。以及與遙控器通信:

LED 套裝

#include 
#ifdef __AVR__
#include  // Required for 16 MHz Adafruit Trinket
#endif
#define LED_BACK    5
#define LED_LEFT    4
#define LED_RIGHT   6
// How many NeoPixels are attached to the Arduino?
#define LED_COUNT 52 // Define the number of LEDs in the strip
char state = 0; // Changes value from ASCII to char
int light_delay = 50; //How long to keep the LED on for (ms)

將 NeoPixel 條帶聲明為對象

// Declare our NeoPixel strip_back object:
Adafruit_NeoPixel strip_back(LED_COUNT, LED_BACK, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip_left(LED_COUNT, LED_LEFT, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip_right(LED_COUNT, LED_RIGHT, NEO_GRB + NEO_KHZ800);

初始化 NeoPixels 并設(shè)置 LED 燈條的亮度。將串口設(shè)置為波特率 9600 以啟動藍(lán)牙通信

void setup() {
// These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
// Any other board, you can remove this part (but no harm leaving it):
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1);
#endif
// END of Trinket-specific code.
strip_back.begin();           // INITIALIZE NeoPixel strip_back object (REQUIRED)
strip_back.show();            // Turn OFF all pixels ASAP
strip_back.setBrightness(150); // Set BRIGHTNESS to about 1/5 (max = 255)
strip_left.begin();           // INITIALIZE NeoPixel strip_back object (REQUIRED)
strip_left.show();            // Turn OFF all pixels ASAP
strip_left.setBrightness(150); // Set BRIGHTNESS to about 1/5 (max = 255)
strip_right.begin();           // INITIALIZE NeoPixel strip_back object (REQUIRED)
strip_right.show();            // Turn OFF all pixels ASAP
strip_right.setBrightness(150); // Set BRIGHTNESS to about 1/5 (max = 255)
Serial.begin(9600);
delay(1000);
}

機械臂實現(xiàn)類似,在循環(huán)部分,我們不斷評估是否有任何新數(shù)據(jù)來自遙控器的藍(lán)牙。如果為真,我們將傳入變量存儲在“狀態(tài)變量”中。根據(jù)發(fā)送的值,這將觸發(fā) LED 燈條以指示左、右、剎車或危險燈。

// loop() function -- runs repeatedly
void loop() {
if (Serial.available() > 0) { // Checks whether data is comming from the serial port
state = Serial.read(); // Reads the data from the serial port
Serial.print(state); // Prints out the value sent
//Indcate Left
if (state == 'L') {
leftBlink();
delay(light_delay);
}
//Indicate Right
if (state == 'R') {
rightBlink();
delay(light_delay);
}
}
}

資源

訪問 Git 上的完整存儲庫以訪問以下內(nèi)容:

代碼

  • LightVest – 自行車遙控器
  • LightVest – 背心

鏈接到原理圖

  • LightVest – 自行車遙控器
  • LightVest – 背心

圖表(Fritzing)

  • LightVest – 自行車遙控器
  • LightVest – 背心

Git 回購

  • 帶有所有鏈接的回購

輕便背心鏈接:lightvest.io

結(jié)論

?

文章寫到此結(jié)束。如果您想了解 LightVest 是如何啟動的,包括挑戰(zhàn)和業(yè)務(wù)重心。這是LightVest 創(chuàng)業(yè)文章(從商業(yè)角度來看)。

LightVest 的目的是成為一個可以構(gòu)建和創(chuàng)新的開源項目。您看到的當(dāng)前版本是 V1.0。雖然,它本身很實用。仍有相當(dāng)大的空間可以改進(jìn)。

如:

  • 占用空間更小的遙控器
  • 可穿戴技術(shù)占用空間更小
  • 移除 LED 燈條的新設(shè)計
  • 燈光指示功能
  • 添加很酷的新功能

如果您想構(gòu)建自己的,或貢獻(xiàn)更多功能,請隨時在此 repo 上構(gòu)建。我們可以進(jìn)一步優(yōu)化什么會很有趣!

最后,支持我在 Patreon 上的未來項目。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費