資料介紹
描述
你們知道Nanoleaf嗎?
所以我做了這個類似Nanoleaf的設備,里面沒有 RGB LED,取而代之的是,它有白光,由觸摸開關控制。
這是一種精美的照明設置,可以照亮您的房間,并且由于其形狀而看起來很惡心。
此外,它根本與光明會、鳳凰燈事件或金字塔無關。
我對觸摸開關進行了一些修改,使其更加靈敏,因此可以在半空中打開或關閉此燈。
只要把你的手靠近三角形的中心部分,就會觸發Light Sequence,順便說一下,這種通過拳頭來開關這個燈的方法,我稱之為LightFu。
- 在第一次點擊時,它將開始閃爍
- 在第二次點擊時,它將滿負荷發光
- 第三次輕按時,LED 將以 50% 的電量發光
- 第四次點擊將關閉燈。
我首先在 Fusion360 中設計了這個燈光設置,然后通過使用 fusion PCB Layout,我在我的 OrCAD 軟件中準備了它的 PCB,然后我從PCBWAY 獲得了這個項目的 PCB。
我組裝了 PCB,然后組裝了整個燈,這花了將近兩天的地獄般的工作,但是是的,差不多就是這樣。
此外,整個設置由可能的 Attiny13 MCU 提供支持。
這個項目很長,我將解釋這盞燈的整個構建過程,所以請坐下來嘗試享受旅程。
所需材料
這些是我在這個項目中使用的所有材料
- 定制 PCB x 4(由 PCBWAY 提供)
- Attiny13A SOIC8
- 8205S MOSFET IC
- LED JK3030 Cree LED 0.5W x 90pc
- 1.5 歐姆 2W 電阻器
- IN5399 二極管
- 3D 打印外殼底座 x 4
- LID-擴散器 x 3
- LID- 蓋 x 1
- 墊片 x 3
- M3 螺栓 x 3
- M3 螺母 x 3
- 大圓頭螺釘 2.4mm x 12
- TTP223 觸摸板模塊
- 頭針
- Arduino Nano(用于閃爍 Attiny13)
入門,基本思路
這里的基本思想是模擬一個三角形燈,可以使用 3D 打印機、定制 PCB 和少量組件輕松復制。
白光可以用類似的基于 RGB LED 的 PCB 代替,這是該設置的另一個特點,它用途廣泛,可以更改或排列成各種形狀,因為我們可以像這樣排列不同形狀的三角形。
計算機輔助設計
首先,我準備了一個三角形盒子或一個有蓋子的外殼。
此蓋子將由透明 PLA 打印,主體本身將由黑色 PLA 制成。
在這個三角形體內,我添加了這個電路,它比身體的內壁略小。
為了從這個三角形中制作一個單一的集體光,我只是將整個身體復制了三遍,然后以這樣的方式排列它,每個三角形體將位于中心體的每一側。
為了將所有三個主體與中心部分連接起來,我添加了一些定制的 3D 打印墊片,當它們通過螺母和螺栓連接時,它們將用作兩個主體之間的墊片。
簡而言之,我們只需要一種設計,即三角形主體(底座 + LID),我們可以通過將它們與襯套螺母和螺栓連接在一起來創建一堆其他三角形。
PCB設計
在準備好整個結構的主體后,我使用了 PCB 的 cad 繪圖中的測量值,并在我的 PCB Designing Suite 中為 PCB 準備了基本輪廓。
但在制作 PCB 之前,我們首先必須制作一個包含所有重要內容的原理圖。
帶有零件細節的原理圖和功能
這是這個項目的示意圖。
這個原理圖很容易理解,總共有 30 個 LED 并聯,它們都是由這個 Mosfet 作為開關設置驅動的,然后與 attiny MCU 連接。
好吧,等等,這是一個有趣的問題,為什么我在這個項目中沒有使用 Arduino 板,為什么是 attiny?
這里的答案是 Arduino 板的成本和過度殺傷力。
(Attiny13 的成本約為 0.5 美元,Arduino 板(克隆)的成本約為 5 美元)
在這個項目中,我只使用了一個數字引腳和一個模擬引腳,那么我為什么要選擇一個具有 13 個數字引腳和 5 個模擬引腳的設備根本不會被使用。
此外,我需要一個更小尺寸的 MCU,而服裝正好符合我的要求。
Attiny 在一側有用于編程的 ICSP 分線引腳,在另一側有一個用于觸摸板模塊的連接器引腳。
基本上,Attiny 將控制 mosfet 的柵極,LED 將相應地打開或關閉。
完成原理圖后,我準備了電路板布局,這也不是很復雜。
我將在這個項目中使用 FR4 板,鋁 PCB 也是一種選擇,但很難在單面板上準備這樣的設置,所以我將使用 FR4 版本。
為了散熱,我添加了更寬的銅線,可以更好地散熱。此外,我將使用 5V 2A 充電器為該設置供電,因此它不會變得足夠熱,因為該設置包含白色 LED,每個 LED 消耗 0.5W 的功率并且它們都是并聯的,因此大約 90 個 LED x 0.5W = 45W .
45W 會發熱很多,因此限制此設置的功率和熱量的一種選擇是使用功率較小的充電器(5V 2A = 10W)。
通過為設置提供更少的功率,我們可以限制功率和熱量。
從 PCBWAY 獲取 PCB
完成設計后,我將其 Gerber 數據導出并發送到PCBWay以獲取樣品。
我在一周內收到了 PCB,PCB 的整體質量非常棒。
至于阻焊層顏色,我訂購了綠色阻焊層顏色。
我已經使用 PCBWAY 服務很長時間了,它們很棒。
真的很喜歡 PCB 的整體質量。
查看PCBWAY ,以更低的成本獲得出色的 PCB 服務!
接下來是組裝過程。
組裝過程
這個PCB的組裝過程包括四個主要的東西,它們是
- 錫膏點膠
- 取放過程
- 熱板回流
- 并添加 THT 組件。
#1焊膏
首先,我們在每個元件焊盤上放置焊膏。
我正在使用幾天前購買的這種焊膏,以及焊膏分配注射器。
#2挑選和放置
錫膏點膠后,我們將元件一個一個地添加到指定的位置,本例中為 30 個 LED。我必須制作總共 3 個 LED 板和一個控制板。
制作這個控制板的過程是一樣的,我在PCB的焊盤上添加了焊膏,然后在正確的位置添加了組件。
#3電爐
將組件添加到其位置后,我們小心地提起 PCB 并將其放在 SMT 加熱板上。
我正在使用我的 DIY SMT Hotplate,從這里了解更多信息-
熱板將 PCB 從下方加熱到焊膏熔化溫度,一旦 PCB 達到該溫度,焊膏就會熔化,所有組件都會焊接到它們的焊盤上。
我們抬起PCB,然后將其放在較冷的表面上稍微冷卻一下,以冷卻PCB的熱量。
然后我們只需對剩余的 LED 板和控制器板重做整個過程。
#4 THT 組件
在三塊 LED 板和一塊控制器板的熱板回流之后,我們必須將其余組件添加到 PCB,包括電阻器、接頭引腳和觸摸板模塊。
添加THT組件后,我們這里的焊接工作就完成了。
部分完成。
我仍然需要測試所有的板子,為此,我必須將主草圖添加到 Attiny13 MCU。
代碼和預測試
int switchPin = 4; //4
int led1Pin = 0; //0
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
int val;
int val2;
int buttonState;
int Mode ; //= 0;
void setup()
{
pinMode(switchPin, INPUT_PULLUP);
pinMode(led1Pin, OUTPUT);
buttonState = digitalRead(switchPin);
}
void loop(){
val = digitalRead(switchPin); // read input value and store it in val
delay(10); // 10 milliseconds is a good amount of time
val2 = digitalRead(switchPin); // read the input again to check for bounces
if (val == val2) { // make sure we got 2 consistant readings!
if (val != buttonState) { // the button state has changed!
if (val == HIGH) { // check if the button is pressed
if (Mode == 0) {
Mode = 1;
} else {
if (Mode == 1) {
Mode = 2;
} else {
if (Mode == 2) {
Mode = 0;
}
}
}
}
}
buttonState = val; // save the new state in our variable
}
// Now do whatever the lightMode indicates
if (Mode == 0) { // FLIP FLOP
digitalWrite(led1Pin, LOW);
}
if (Mode == 1) {
analogWrite(led1Pin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
}
if (Mode == 2) {
digitalWrite(led1Pin, HIGH);
delay(50);
digitalWrite(led1Pin, LOW);
delay(50);
}
}
為了刷新 attiny13,我使用我的舊 Arduino 作為 ISP 設置,我準備用于閃存和燒錄 attiny MCU 的引導加載程序。
從這里檢查整個事情以獲得非常詳細的版本 -?
簡而言之,我們首先必須根據此原理圖將 Attiny 與 Arduino 作為 ISP 編程器連接起來。
- 我們將 Arduino 的 VCC 作為 ISP 連接到 Attiny 的 VCC,
- 地到地
- 重置為引腳 D10(Arduino Nano)
- Mosi 到引腳 D11(Arduino Nano)
- 味噌到 D12(Arduino Nano)
- 和 SCK 到 D13(Arduino Nano)
哦,在這個刷機過程之前,你還需要 Attiny13 核心文件。
您可以從這里下載 - https://github.com/MCUdude/MicroCore
- 我們首先選擇正確的 MCU,在我們的例子中是 attiny13,不要忘記選擇正確的 COM 端口。
- 然后我們選擇正確的程序員,在我們的例子中是“Arduino as ISP”
- 然后我們點擊Burn Bootloader選項,這需要幾秒鐘,
- 現在我們轉到草圖菜單并選擇“使用程序員上傳”選項和 BANG。
您已成功將草圖上傳到此 Attiny13 MCU。
現在我們做這個項目的測試部分。
我用控制器板焊接了一個 LED 三角形,并添加了一個 3.7V 的鋰電池。
現在我們只需觸摸TTP223 模塊,我們的設置就可以工作了。
在第二次按下或觸摸時,設置會閃爍,在第三次點擊時,它會關閉。
- 第一次點擊啟動淡入淡出序列,
- 第二次點擊使 LED 閃爍,第三次點擊關閉所有內容。
后來我刪除了這個閃爍序列并添加了一個不同的功能,讓我們可以控制光強度,然后讓電路板褪色。
這是最終的代碼。
int switchPin = 4; //4
int led1Pin = 0; //0
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
int val;
int val2;
int buttonState;
int Mode ; //= 0;
void setup()
{
pinMode(switchPin, INPUT_PULLUP);
pinMode(led1Pin, OUTPUT);
buttonState = digitalRead(switchPin);
}
void loop(){
val = digitalRead(switchPin); // read input value and store it in val
delay(10); // 10 milliseconds is a good amount of time
val2 = digitalRead(switchPin); // read the input again to check for bounces
if (val == val2) { // make sure we got 2 consistant readings!
if (val != buttonState) { // the button state has changed!
if (val == HIGH) { // check if the button is pressed
if (Mode == 0) {
Mode = 1;
} else {
if (Mode == 1) {
Mode = 2;
} else {
if (Mode == 2) {
Mode = 3;
} else {
if (Mode == 3) {
Mode = 0;
}
}
}
}
}
}
buttonState = val; // save the new state in our variable
}
// Now do whatever the lightMode indicates
if (Mode == 0) { // FLIP FLOP
digitalWrite(led1Pin, LOW);
}
if (Mode == 1) {
analogWrite(led1Pin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
}
if (Mode == 2) {
digitalWrite(led1Pin, HIGH);
delay(50);
}
if (Mode == 3) {
analogWrite(led1Pin, 100);
delay(50);
}
}
在確保一切正常之后,我們繼續下一步,將整個事情放在一起。
總裝
對于最終組裝,我首先使用 3 個 M3 大圓頭螺釘將 PCB 添加到底座三角形主體內。
我一共準備了4個三角形底座,3個LED板,1個控制器。
最后,這是四個半成品機身,每個機身都配備了 PCB。
現在我們必須把所有東西放在一起。
將三角形設置放在一起
以及如何做到這一點?好吧,我們將控制器部分放在中間,并將其他三個 LED 燈條添加到中心三角形的每一側。
在兩個身體之間,我們必須將這個帶有螺母和螺栓的定制 3D 打印墊片放在一起。
我在這里使用 M3 尺寸。
我們必須總共執行 3 次這個過程,然后,我們將得到這個巨大的三角形結構,幾乎類似于光明會三角形,但無論如何,
它非常堅固,這是這里的目標,讓它變得堅固,這樣它就可以承受它的重量,因為我會把這個裝置掛在墻上,并且會放幾年。
接下來是接線。
接線
這個設置的接線是這樣的,
Attiny13 控制 Mosfet 設置正確,因此我們必須將三個三角形 PCB 并聯連接在一起,然后將其添加到 mosfet 作為開關設置。
我使用這種接線方案來完成所有連接。
基本上,90 個 LED 都是并聯的。
我在PCB中犯了一個錯誤
如果使用直接電源供電,此設置將消耗大量電流,因此為了限制電流,我添加了這個 janky 電阻器和二極管以稍微降低電壓,這樣 LED 就不會因過熱而短路。
現在,在這之后,我用強力膠將這個 0.3 毫米的銅片添加到中央蓋的底部。
這里的目標是完全覆蓋蓋子的底部,以便銅覆蓋大部分區域。在此之后,我在這個銅片和觸摸板之間添加了一根電線。觸摸板模塊在阻焊層上沒有開口,所以我劃傷了觸摸板區域并在其上手動焊線。
最后的潤色(將擴散器永久添加到三角形主體上)
最后,我用一點熱膠將中央蓋子永久地添加到身體上,我知道使用熱膠不是永久的解決方案,但我很確定這會持續很長時間。
我也對所有三個剩余三角形的擴散器蓋做了這個。
這就是結果!
它看起來像一個大手里劍,佐助在火影忍者中的那個。
撇開玩笑不談,這個項目現在已經完成,剩下要做的就是測試部分了。但在此之前,這是最后一步或指導步驟之類的。
電源詳情
現在,正如我之前提到的,這個設置有一個臨時的降壓電阻和內部添加的二極管,這完全是臨時的,所以我不會用更高的電源為其供電,而是使用通用的 5V 2A 智能手機充電器。
我在這個項目中使用了一個 5.5mm DC Barrel 插孔,所以我必須制作一個 Barrel 插孔到 USB 電纜來為這個設置供電。
這是我做的一些測量
衰減模式下的電流消耗 - 5V 在 0.600A-1.24A
HIGH 模式下的電流消耗 - 1.37A 時 5V
50% 模式下的電流消耗 - 5V 在 0.58A-0.64A
關閉狀態下的電流圖 - 0A
最終結果/LIGHTFu 演示
這是此設置的工作原理,我們將手靠近中央三角形部分,燈在其第一種模式下打開。這是衰落序列。
然后我們再次執行此操作,燈光停止其淡入淡出序列并保持在高模式。
在此之后,在第三次點擊或觸摸時,燈光會降低到 50% 亮度,最后在第四次點擊或觸摸時,燈光會熄滅。
這就是你可以控制這盞燈的方法。
另外,我設計了一種很酷的方法來觸發這個光,通過打孔。
不要打燈,而是將拳頭或手掌放在燈光附近,然后將拳頭向后退并再打一拳,然后重復此順序,您將擁有一個不錯的拳頭或武術訓練伙伴。
我將這種技術命名為LightFu ,我知道這很愚蠢,但這是一個很好的塑形方法。只是打孔和光將通過打開和關閉為您提供支持。
好吧,今天就到這里了,如果這個燈光項目很亮,請留下喜歡或評論,我很快就會回來做另一個項目。
劇透,這是另一個燈光設置!
另外,非常感謝PCBWAY對這個項目的支持,請記住,如果您需要任何 PCB 服務,PCBWAY是可以提供好東西的人。
再次感謝,再見。
- 智能家居控制系統方案開源資料
- 由觸摸開關控制的TriGlow
- 基于Arduino硬件光控燈制作資料 6次下載
- 開源網絡協議分析器WireShark軟件下載 15次下載
- 渾源軟件項目中的代碼結構和開源組件綜述 5次下載
- ThinkPHP 6.0完全開發手冊資源下載 13次下載
- 開源課程行動倡議及科學導論綜述 6次下載
- 收藏!姿態估計開源項目匯總資料下載
- 開源高精度電壓電流表庫侖計容量測試下載 36次下載
- 過度均衡眼圖的抖動分解資料下載
- WIFI智能開源電熱水器的原理圖和源代碼免費下載 46次下載
- 主流的開源硬件有哪些詳細資料說明
- 如何使用物聯網操作系統Zephyr實現“連續集成”開源軟件的詳細說明
- 程序員過度封裝的弊端 0次下載
- MAX882 鎖定穩壓器防止電池過度放電 0次下載
- 淺談代碼優化與過度設計 447次閱讀
- 利用開源軟件的最佳實踐 464次閱讀
- 推薦GitHub上與嵌入式相關的高星開源項目 967次閱讀
- 前沿開源技術領域的開源大數據一一解讀 1005次閱讀
- 構建開源芯片生態需要什么要的 4327次閱讀
- 2020年開源的六大發展趨勢 4257次閱讀
- 開源過程中的5件注意事項 3548次閱讀
- 開源與云的一些爭論 3200次閱讀
- 物聯網十大經典開源操作系統 1w次閱讀
- 全年開源項目的盤點和總結 3231次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細分析 7186次閱讀
- 開源存儲的六大優勢 3975次閱讀
- 解析訓練集的過度擬合與欠擬合 8068次閱讀
- 11個機器學習開源項目 2767次閱讀
- 開源硬件究竟有多“Open”?看完這個你就清楚了 6939次閱讀
下載排行
本周
- 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開發指南
- 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次下載 | 免費
評論
查看更多