資料介紹
描述
“LightVest”是一款?開源的 Arduino轉向信號自行車安全背心,旨在成為一種可穿戴技術。該產品是一種自行車套裝,旨在增加騎車人的能見度,尤其是在夜間。此外,改善騎自行車者與路上其他駕車者和行人的溝通和意圖。
背景背景:
這是一個有點奇怪的挑戰(zhàn)。我想看看我們如何將項目變成解決現實世界問題的“產品”。自舉500美元的投資。4 周后,介紹 LightVest。
注意:本項目是為您改進和開發(fā)而設計的。隨意貢獻,并探索更多用例。(下面的 GitHub 回購)
現在我們已經解決了所有問題,讓我們開始吧!
LightVest 概述
總體而言,LightVest 是一種由微控制器控制的燈帶,可安全地應用于可穿戴織物,例如背心。從這一點出發(fā),我們可以在這個想法的基礎上,使其防風雨、輕便、便攜,甚至可以與其他設備通信。
特征
- 輕便的防風雨 LED 背心(帶有 IP67 級 LED)
- 轉向信號燈– 完全可編程的 RGB LED
- 用于控制燈光的無線遙控器(帶有四個完全可定制的按鈕)
- ?連接到您的自行車的自行車支架
- 開/關開關按鈕
- Go Hand's Free 使用內置加速度計- 控制來自自行車把手的轉向信號。
- SmartMode –?通過電話發(fā)送數據并跟蹤您的旅程
LightVest 包括:
- 背面的菱形指示器
- 肩部前燈條
下表解釋了每個 LED 段的功能:
詳細來說,Bike Remote 和 LED Bike Vest 有兩個 Arduino(微控制器),它們通過藍牙相互通信。
LED背心的工作原理是使用Arduino根據用戶的動作控制一組LED燈條(WS2812B)。Arduino 還可以通過 LED 燈條控制可單獨尋址的 RGB LED。
自行車遙控器有四個可定制的按鈕。當按下按鈕時,會向 LightVest 的 Arduino 發(fā)送一個值,根據接收到的特定值觸發(fā) LED 燈條/WS2812B 以特定方式點亮。
示例 #1:
動作:當您按下遙控器的右按鈕時
通信:值“R”(代表 Right 通過藍牙發(fā)送到 LED Vest 微控制器)
結果:LED 燈條將點亮 LED 燈條的右箭頭。
但您可能也想知道,“這意味著您每次需要轉彎時都需要按下遙控器……如果我騎自行車怎么辦?!”
這就是陀螺儀(MPU6050)發(fā)揮作用的地方。使用 MPU6050 的相對位置/方向,我們可以確定自行車是左轉還是右轉。因此,基于上述相同的原理,我們可以將遙控器安裝到自行車把手上并做同樣的事情。
示例 #2
行動:當您向右轉動車把時。
微控制器:陀螺儀檢測向右方向的相對變化。值“R”(代表右)通過藍牙發(fā)送到 LED Vest 微控制器。
結果:LED 燈條將點亮 LED 燈條的右箭頭。
您可以通過查看由人類手勢控制的機械臂來了解更多關于加速度計如何工作的信息,這將在這方面進行更詳細的介紹。
零件清單側重于 Prototype 的面包板實現,這是開發(fā)/實驗背心的理想選擇。有關零件清單的更多詳細信息,請訪問Building Lightvest 原創(chuàng)文章。
工作原理 - WS2812B LED 燈條。
仔細看,WS2812B LED 燈條由 5050 個 RGB LED 燈組成,集成了一個更小的 WS2812B LED 驅動器。
由于它由 RGB 燈組成,我們可以控制 RGB(紅、綠、藍)十六進制值的強度,以提供我們喜歡的顏色色調以及要點亮的單個 LED。
令人興奮的部分是我們可以只用數據線上的一個 Arduino 引腳來控制整個條帶。此外,當前 LED 的數據輸出焊盤連接到下一個 LED 的輸入焊盤。
注意:具有諷刺意味的是(盡管很漂亮),所有 LED 都依賴于一條線(5V、DATA、GND)。單個 LED 的任何破損/問題都會影響 LED 的其余部分。
LED線路的分類:
- 5V
- 數據(迪)
- 接地
每個 LED 在全亮度下消耗 ~ 20mA。鑒于此 LightVest 有多達 90 個 LED。我們需要在 5V 電壓下運行約 2000maH。
對于較少數量的 LED,Arduino 5V 可以處理這個問題。
對于此實施,我們使用 5V、22000maH RC 電池作為外部電源。
下圖顯示了 Arduino 設置和 LED 燈條,以生成如下所示的彩虹 LED 燈條。
注意:在 LED 和燈帶之間使用了一個 330 歐姆的電阻器,以減少該線路上的噪聲,以避免顏色出現故障。
此外,5V 和 GND(接地)之間的 100uF 以平滑電源。
筆記:
- LED燈條是IP67防水保護的LED燈條,可以承受很好的暴雨。但是,請勿嘗試浸入水中。
- 雖然 WS2812B/LED 燈帶非常靈活,但請避免反復彎曲燈帶,這可能會導致連接松動/斷裂。
您可以在下面的示例中找到 LED 燈條 Neo-Pixel 的代碼。有關 LED 燈條的更多上下文和其他用途,請訪問帶有轉向信號指示燈的電動滑板。
切割 WS2812B LED 燈條
這個 LED 燈條需要以某種方式連接到可穿戴的衣服上。然而,LED 燈條和電子設備需要以某種方式拆卸以進行清洗。防水且足夠小,可以將電子設備安全地放入背心。
幸運的是,這些是靈活的 LED 燈條,可以切割成任何長度并重新連接成任何形狀。請記住,重新連接 LED 燈條的主要方法有兩種:
- 焊接
- 使用夾式連接器
無論哪種方式都很好。然而,對于這個版本,夾子連接器用于重新連接 LED 燈條,因為它是一種更清潔的解決方案,只需簡單的夾子即可。
LightVest – 面包板實現:
LightVest 包括:
- LED 自行車背心 – LED 燈條,我是 Arduino
- 自行車套裝遙控器 - 通過藍牙控制 LED 燈條
下圖顯示了面包板的實現。
完成所有設置后,當您按下四個按鈕之一(每個按鈕代表一個方向)時,遙控器代碼將用作具有四個按鈕的無線遙控器。
自行車背心遙控器
對應的 LED 燈會亮起,表示按鍵已成功按下。結果,將使用 HC05 藍牙模塊通過藍牙將值從遠程 Arduino 發(fā)送到 Bike Vest Arduino。
自行車背心套裝 - 代碼概述
LED Vest 接收遠程發(fā)送的值。根據提供的值:
L - 左
D – 向下
U - 向上
R – 右
LightVest 遠程 Arduino 將調用與接收到的值相關的函數。例如值 'L' 調用 stripLeft(); 功能
電池,安全
當談到 LightVest 時,牢記安全很重要。因此,電池需要足夠小以適合自行車背心,并且足夠耐用以承受劇烈跌落和外部撞擊。
Li-Po 是最初的選擇。它小巧緊湊。但它落下的地方是它沒有太多的保護,如果它被損壞或刺破,可能會成為一個問題。
作為替代方案,Lion RC 電池組被用作次佳替代方案。它堅固耐用,可以承受更惡劣的條件。我們必須妥協(xié)的唯一因素是尺寸。因此,LED 遙控器和 Suit 電子設備的占用空間會稍大一些。
但是,為了保持一定的安全水平,這是值得的。如果您還有其他選擇,請在評論中留下。
設計 – 背心組裝
LightVest 是完全可定制的,可以應用于選擇的可穿戴設備。
注意:請記住隱藏任何明線并使用防風雨材料,例如 IP67 防風雨涂層 LED 燈條。在您對背心的耐候性完全滿意之前,請避免在雨天使用這款 LightVest。
您可以使用 3D 打印外殼保護電路,并用塑料套管覆蓋裸露的 L 型連接器,使其免受“菱形”指示器的影響。
LED燈條是如何可拆卸的?
對于這個初始原型,我們的目標是讓燈帶易于拆卸,以便清潔衣物。考慮到這一點,通過反復試驗——最好的方法是使用 Velcro 緊固件將條帶固定到位。
4 個放置的 Velcro 緊固件可以環(huán)繞 LED 指示燈以將指示燈固定到位。
3D 打印和縮小外形
如果您希望 3D 打印相同的外殼,您可以在下面找到指向 .STL 文件的鏈接:
PCB設計
PCB 旨在最終確定我們對面包板實施的了解并保持所有部件就位。如果您想創(chuàng)建自己的,可以在此處獲取 Light Vest PCB 的原理圖。(Fritzing & Eagle CAD 文件)。
使用 JLCPCB 構建您自己的 PCB:https ://jlcpcb.com/DEK
代碼
下面的代碼概述了 LightVest 如何工作的基本功能,以及如何對 LED 燈條進行編程。以及與遙控器通信:
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 并設置 LED 燈條的亮度。將串口設置為波特率 9600 以啟動藍牙通信
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);
}
與機械臂實現類似,在循環(huán)部分,我們不斷評估是否有任何新數據來自遙控器的藍牙。如果為真,我們將傳入變量存儲在“狀態(tài)變量”中。根據發(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 上的完整存儲庫以訪問以下內容:
代碼
- LightVest – 自行車遙控器
- LightVest – 背心
鏈接到原理圖
- LightVest – 自行車遙控器
- LightVest – 背心
圖表(Fritzing)
- LightVest – 自行車遙控器
- LightVest – 背心
Git 回購
- 帶有所有鏈接的回購
輕便背心鏈接:lightvest.io
結論
文章寫到此結束。如果您想了解 LightVest 是如何啟動的,包括挑戰(zhàn)和業(yè)務重心。這是LightVest 創(chuàng)業(yè)文章(從商業(yè)角度來看)。
LightVest 的目的是成為一個可以構建和創(chuàng)新的開源項目。您看到的當前版本是 V1.0。雖然,它本身很實用。仍有相當大的空間可以改進。
如:
- 占用空間更小的遙控器
- 可穿戴技術占用空間更小
- 移除 LED 燈條的新設計
- 燈光指示功能
- 添加很酷的新功能
如果您想構建自己的,或貢獻更多功能,請隨時在此 repo 上構建。我們可以進一步優(yōu)化什么會很有趣!
- 基于Arduino的自行車數字碼表 0次下載
- 自行車安全物聯網
- DIY電動自行車并測量電動機轉速
- PCB制作的自行車交通轉向燈
- 電動自行車充電樁介紹 14次下載
- 《電動自行車養(yǎng)護與修理精答》pdf 0次下載
- 高配版自平衡自行車原理圖下載 0次下載
- 電動自行車通用智能充電器的設計.
- 鋰離子電池在電動自行車上的應用 20次下載
- 電動自行車安全技術規(guī)范GB國家標準免費下載 30次下載
- 基于單片機的自行車測速系統(tǒng)仿真 80次下載
- DIY:《極品飛車》——自行車控制器 5次下載
- 電動自行車電路圖
- APPLICATIONS電動自行車
- 電動自行車解決方案
- 關于電動自行車易著火 322次閱讀
- 自動自行車燈電路原理圖講解 1797次閱讀
- MPF42791 在電動自行車中的應用 717次閱讀
- 為電動自行車設計高效的動力系統(tǒng) 1409次閱讀
- 使用廉價組件的電子自行車定向燈電路 1412次閱讀
- 自行車騎行指示燈電路圖解析 6719次閱讀
- 電動自行車控制器的分類及失效原因分析 6630次閱讀
- 如何制作一個自行車輪胎的防滑裝置? 7782次閱讀
- 鋰電池電動自行車有什么優(yōu)缺點_鋰電池電動自行車價格多少 6.6w次閱讀
- 電動自行車鋰電池組保護電路設計 6927次閱讀
- 無需充電的全自動自行車指示燈DIY詳解 1.2w次閱讀
- 自制電動自行車快速充電器 1w次閱讀
- 單片機設計:簡易的自行車里程表 6175次閱讀
- 電動自行車控制器的技術原理解析 2972次閱讀
- 自行車回安全光柵電路-Bicycle back Safety 3993次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多