第1步:工具和材料
雖然有很長的材料清單,但我在ebay上收集了所有組件成本。便宜組件的缺點是運輸速度很慢,但我有時間等待。
工具
鉆
烙鐵
熱膠槍
鑿子
鉗子
材料
20 x WS2812B 5050 RGB LED
1 x 0.1uF電容器
3 x 1 kohm電阻器
1 x 470 ohm電阻器
1 x 820歐姆電阻器
1 x 10 kohm電阻器
3 x NPN開關晶體管
1 x紅色LED
1 x LDR
1 x IR傳感器
1 x IR遙控器
1 x DS3231 RTC
GDP2846A TF卡MP3解碼板
1 x 4歐姆揚聲器
原型板
各種杜邦連接器
連接線
18號銅線
5v電源
浮木
第2步:硬件
完整的電路按照上面附圖。
現在它已經完成,看起來相對簡單,但由于這是我迄今為止嘗試過的最大項目,因此隨著項目的進展,設計的各個元素被添加并進行了測試。這個迭代設計周期允許添加和測試新功能,同時限制錯誤檢查的范圍,如果出現錯誤。
我將在接下來的幾個步驟中詳細介紹一些絆腳石你經歷了同樣的痛苦。
步驟3:硬件 - LED陣列
LED陣列通過將各個LED焊接到銅線結構而形成。結構可以根據您的特殊口味進行修改,并且可以根據您的需要進行調整,增加藝術性或簡約性。
導線需要很厚才能支撐結構,但也要足夠精細,以便將其焊接到LED上的連接焊盤上。我使用了18號線。
框架由連接到VCC的連續電路和用于GND的單個提升器組成。然后進行信號的第三次連接。信號連接需要將LED串聯“菊花鏈”,鏈條從LED開始指示小時。電線上的尾部留有很長時間,因為它們將穿過外殼,然后彎曲以將其固定到位。 GND線將在外殼內連接在一起。
陣列標記在一塊廢木上。標記需要考慮到您焊接在LED背面的事實,因此是相反的。我忘記了我的第一次嘗試,雖然錯誤得以糾正,但框架并沒有我想要的那么好,所以制作了第二個版本。
在木頭上鉆孔以保持當銅焊接時,LED就位。您將找到最適合您的方法,但我首先單獨構建了列,然后在外部添加最終幀之前添加了它們之間的信號連接。
檢查所有連接并仔細檢查以確保不存在焊橋。此時我將陣列連接到Arduino并編寫了一個簡單的程序來測試所有LED是否正常工作。
我最初認為IR接收器是項目中的次要組件,我錯了!
用于控制LED的時序非常精確被用于處理IR遠程命令接收的中斷破壞了。這可以通過不使用遙控器來控制時鐘來解決,但我很頑固并決定這就是我想要的!一個不同的LED封裝(四線而不是三個)可能也解決了這個問題,但我已經有了LED,看到上面,我很頑固!
解決方案是一個單獨的arduino接收到的命令來自IR遙控器然后通過串行鏈路將它們發送到時鐘Arduino。這意味著時鐘不處理中斷,并且可以根據主循環中的需要動作接收串行消息。
解決方案實際上非常簡單但是需要一些修補才能理解為什么添加遠程功能時,時鐘停止工作。這證明了隨著項目的進展構建和測試每個組件的優勢。當添加遙控器后時鐘停止時,很容易確定故障必須與此相關。
電線被焊接到IR接收器的引腳并進行熱收縮。杜邦連接器被壓接但未插入殼體中。這是為了允許它們插入體內而不需要太大的孔。
步驟5:硬件 - 音頻模塊
音頻模塊的附加功能是可選的,可以省略或用簡單的壓電蜂鳴器代替。但是,二進制時鐘的更好的警報音是撥號調制解調器音調序列!!!
GPD2846A TF卡MP3解碼板允許播放存儲在micro SD卡上的音頻文件。它有一個內置放大器,因此揚聲器可以直接連接到解碼板。解碼器板以重復循環播放卡上的文件。這意味著可以通過選擇“下一步”來啟動警報,并且將重復音調直到選擇“播放/暫停”按鈕。 “prev”選擇僅需要通過長按來控制音量(按下軟件長度由軟件控制)。
帶有晶體管的簡單開關電路用于將音頻模塊連接到Arduino。 Jason Smith在此講解中提供的說明用于確定開關布置。對互聯網的研究表明,有些人將正電壓連接到正確的開關墊;但是,我的測量表明它們直接連接到地面(這也是我不需要將地線連接到這些焊盤的原因)。我不知道我是否遺漏了一些東西,但我可以說我所實施的工作正常。
揚聲器導線應切成一定長度并焊接到解碼板上。將電線焊接到三個按鈕輸入和電源連接器。使用dupont連接器終止。將解碼器板粘貼到揚聲器背面,以最大限度地減少安裝所需的空間。
在VCC和GND之間使用0.1uF電容來濾除噪聲。這是非常重要的。沒有它,Arduinos‘會在音頻開始時重置。
步驟6:硬件 - 次要組件
以下描述了設計中使用的其他組件。所有這些都相對簡單,但我們會對其進行描述,以便您可以關注,重復和改進我所做的工作。
實時時鐘(RTC)
RTC模塊(DS3231)用于確保即使從時鐘斷電也能保持時間。 DS3231聲稱非常準確,可以跟蹤日期和時間。對于此項目,僅使用時間,但這對所需的連接沒有影響。
標題已從模塊中移除并替換為電線。這是為了讓設備占用更小的空間,這對于將所有電子設備安裝在一塊浮木中非常重要!電纜的末端用杜邦連接器終止。
調光器
光敏電阻(LDR)用于測量環境光并改變顯示亮度。一個10k電阻用于構建分壓器電路,然后由arduino讀取并轉換為數字值。然后,該值用于計算LED陣列的亮度。此項是可選的,如果您決定刪除,則應更新代碼以在調用Set_Brightness函數時返回靜態值。
應在代碼內調整上下亮度級別以適合您的情況,我已經將最大亮度設置為相對較低的水平,因為即使在光線充足的房間里也發現它非常明亮。如果LED太亮,顯示屏很難讀取。
將電線焊接到LDR的支腳上,連接熱縮管并用杜邦連接器端接。
報警指示
A紅色LED指示是否設置了警報。連接的電阻是820歐姆,選擇它是為了確保LED相對暗淡并且沒有將注意力集中在它上面。如果您愿意,可以增加或減少價值。這個項目是可選的,但如果沒有它,你就不會知道報警的狀態,我建議把它包括在內。
將電線焊接到LED的支腳上,連接熱縮管并用杜邦連接器端接。/p》
步驟7:硬件 - 主電路板
原型板用于安裝Arduinos和其他電子元件。這包括每個板外項目的連接器的標題。
花一些時間考慮每個組件的位置,以最大限度地減少所需的連接,并允許輕松創建軌道。我最終得到了電路板一端的所有連接器,其中VCC和GND軌道在電路板上運行。
除了簡化連接之外,還要確保最終布局能夠成為可能。包含在您選擇的外殼內,您仍然可以訪問Arduinos上的USB連接器以上載所需的任何代碼更改。
兩個Arduinos之間的串行連接在一端有一個插頭。這是為了允許在代碼上傳期間斷開連接。
步驟8:軟件
代碼分為兩個程序,一個用于Arduino充當紅外接收器,另一個用于時鐘。
紅外接收器
在上傳紅外接收器代碼之前,遙控器發送的十六進制值需要確定。 IRremote庫附帶標題為“IRrecvDemo”的示例代碼。上傳到Arduino時,按鍵的十六進制值顯示在Arduino IDE的串行監視器中。
需要記錄七個鍵的值,然后輸入“IR Receiver”的定義部分。我不確定為什么,但我的遙控器每個按鈕有兩個代碼,發送的代碼隨機出現。該軟件允許遠程發送任何代碼。
所需的按鈕是:
向上
向下
向左
向右
警報
靜音
時間
二進制時鐘
注釋包含在代碼中,并提供了實現的說明。
上傳代碼后,將使用以下說明:
設置時間:按時間然后 Up 或向下設置小時,按向右然后向上或向下設置分鐘,按右返回時鐘
設置鬧鐘:按鬧鐘,然后按向上或向下設置小時,按向右然后向上或向下設置分鐘,按向右返回時鐘
關閉鬧鐘(設置時):按鬧鐘
打開睡眠:按睡眠
設置顯示顏色:按向左或向右循環選擇顏色
設置鬧鐘音量:按向上或向下提高或降低音量
播放鬧鈴:當鬧鐘未被激活時,按睡眠。
第9步:身體
我決定在時鐘體上使用一些浮木。這件作品需要足夠大,以便能夠將其挖空以容納電子設備,但不要太大而不能放在架子上。我認為身體的選擇也是在找到“正確的”片之前在海灘上游蕩幾天的借口!
替代材料可以用于身體。其范圍從一塊新木材到混凝土澆筑。您的想象力是唯一阻止制作真正獨特時鐘的東西!
一旦選擇了您的身體,您需要考慮安裝各種組件的位置以及需要鉆孔的位置。
首先為硬件制作腔體。這應該盡可能大,以簡化安裝,但仍保持木材的強度。我的作品實際上是一些交織在一起的根,所以必須小心不要完全敲掉。工具可用性有限,因此通過用大鉆頭鉆多個孔然后用鑿子將其平滑來制造腔。在進行測試時,測試是否適合cicuit板,以確保腔體足夠大。
完成后,可以為揚聲器安裝額外的切口。在這樣做時,請考慮下面對電路板的干擾以及如何進行各種連接。
然后為各種組件鉆孔。測量LED陣列引線的間距,并且實際上證明是構造鉛筆的厚度。這用于獲得正確的孔間距。旨在使所有組件緊密貼合,以簡化它們的粘合。
鉆完所有孔后,用噴霧密封劑涂上木材。我選擇了一種低光澤產品。
第10步:最終裝配
噴霧消失后,清除各種組件的孔。
LED陣列是第一個安裝的組件。將引線推過孔直到達到所需的高度。然后將GND引線彎曲,使它們相互接觸并焊接。連接電線用于VCC,GND和信號。電纜的末端用杜邦連接器終止。然后使用熱膠以確保陣列中沒有移動。
將靜態袋切割并膠合到位以覆蓋顯示器的裸銅線。這是為了確保它們在插入原型板時不會短路。可以使用支架來實現相同的目標,但我有靜電袋并且沒有任何支架!
然后將所有其他組件安裝到位。使用熱膠將每個固定到位。一旦傳感器被固定,Dupont外殼就安裝在IR傳感器電纜上。
接下來安裝了原型板和RTC。兩者都用一個小螺釘固定。此時連接所有電纜,最后將揚聲器/音頻模塊放置到位并固定。
底座上有一塊輕微的巖石,這是通過添加幾個橡膠腳來糾正的。支腳還確保揚聲器螺釘不與工作臺表面接觸。
第11步:完成了!
如果你設法做到這一點,你將有一個完整的,希望獨特的時鐘。請發布您的作品!
此時我無需改變或改進設計。我的兒子們建議顯示器應該自動改變顏色,或者只是隨機間隔發瘋。我喜歡他們思考的方式,并且可能很快就會這樣做。
-
二進制
+關注
關注
2文章
803瀏覽量
42154 -
時鐘
+關注
關注
11文章
1883瀏覽量
132845
發布評論請先 登錄
評論