步驟1:收集材料
可選自動背光調光組件僅在床邊時鐘
Arduino Board - Arduino Mega 2560(第1,2和3項可作為捆綁訂單購買)
觸摸屏Arduino Shield - 3.2英寸Mega Touch LCD擴展板屏蔽
觸摸屏 - 用于Arduino Mega 2560的3.2英寸TFT LCD顯示屏+觸摸屏
實時時鐘模塊 - DS3231 RTC
錄音機模塊 - ISD1820錄音機
用于3D打印機的PLA燈絲
用于粘合箱體的兩部分環氧樹脂
USB線2米長USB充電器(用于時鐘電源)
熱膠槍
電纜束帶X 3
電阻器270k歐姆
0.5瓦時才需要電阻47歐姆
光依賴電阻(LDR)
步驟2:打印3D案例
我在Creality Ender 3上打印了時鐘盒。所有3D打印文件和案例說明都可以在Thingiverse上找到
步驟3:構建電路
整個電路包含一個實時時鐘,Arduino Mega,聲音模塊,觸摸屏和屏幕Sheild。
1。實時時鐘
將實時時鐘安裝在Arduino Mega背面,如圖所示。我用熱膠槍和泡沫包裝,以確保它們不接觸,并有一些緩沖吸收運動。在我的例子中,我將2個RTC支路直接焊接到Arduino,并使用連接線將5v和GND連接到Arduino。
2。錄音模塊
這些非常酷且易于使用。以與上述類似的方式,使用泡沫和熱膠將模塊和揚聲器定位在Arduino背面,注意確保它們不接觸。聲音模塊由Arduino上的D8觸發,因此需要根據提供的電路圖連接電源和電源。
第3。自動背光調光器(可選)
如果您打算用作床頭鐘,那么您可能希望在夜間自動調暗背光,這樣就不會影響您的睡眠。 (如果沒有,那么你可以跳過這一步!)不幸的是,TFT屏幕中的背光硬連接到+ 3.3v并且無法使用Arduino進行調整。這意味著我們必須將其斷開并重新連接到Arduino上的PWM引腳以控制背光亮度。我想這樣做,對組件上的引腳或軌道造成的損壞最小,因此采用了以下方法。請仔細按照以下步驟進行操作
(a)為實現這一目標,光敏電阻(LDR)位于設備背面以檢測光線。在機箱中鉆兩個3毫米的孔,然后將LDR支腿穿過孔。使用機柜內側的熱膠將支腿固定到位。在外殼內側焊接兩根導線,并按照電路圖連接它們。按照電路圖,在Arduino的A7上增加一個270k歐姆的電阻。
(b)取下TFT顯示器,并將其放在堅固的表面上。識別引腳19(LED_A)并小心地移除引腳底部的幾毫米塑料。按照上圖,將引腳彎曲并遠離連接器。檢查TFT Sheild是否可以緊密插入并且彎曲的插針不會妨礙插頭或插座。
(c)將47歐姆寄存器焊接到引腳上的彎曲處,并將電阻器的導線連接到Arduino Mega的D9。 Arduino D9引腳可以吸收高達40mA的電流,因此電阻將其限制在此范圍以內。將3.3v齊納二極管連接到同一引腳(LED_A),并按照圖表將其連接到地。這樣做的目的是保護背光免受過壓影響,因為它會將電壓調節到3.3V。
4.TFT屏幕和Arduino Shield
小心將3.2英寸TFT觸摸屏連接器推入TFT Arduino Shield。然后根據提供的圖片小心地連接到Arduino的頂部。 RTC有電池,即使斷電也會保留正確的時間。報警時間存儲在Arduino上的Eeprom中,這意味著如果斷電,它將被保留。
步驟4:加載代碼
項目在編譯和運行之前需要加載以下文件和庫。代碼是獨一無二的,圍繞庫的功能,硬件,一些自定義圖形以及我借用的其他項目構建。
請注意:開發該項目的代碼使用了IDE v1.06,并且一些必需的庫已過時。這意味著有些人在加載代碼時遇到了新的IDE 1.6及更高版本的問題。因此,為了簡單起見,我建議人們使用IDE v1.06,并在instructable步驟4底部的zip文件中包含正確的版本庫文件。
1。 Arduino IDE
我一直在使用早期版本的Arduino IDE,因此為了簡單起見,我建議您在安裝代碼之前在桌面計算機上下載Arduino IDE版本1.06 。你可以從這里獲得他的版本。
2。庫
這些需要下載并添加到計算機上運行的IDE(集成開發環境)中,用于編寫計算機代碼并將其上載到物理板。
UTFT.h和URtouch.h位于下面的zip文件中
Time.h位于下面的zip文件中
DS1307RTC.h位于下面的zip文件中
Wire.h和EEPROM.h已包含在IDE V1.06中
UTFT.h和URtouch.h的信用轉到Rinky-Dink Electronics我已經包含了這些zip文件,因為它顯示源網站已關閉。
4。 TFT屏幕變化
TFT屏幕和制造商的迷霧導致了這些筆記。
(a) Sainsmart - 如果您已購買在TFT設備背面標有Sainsmart的3.2英寸TFT屏幕,你會發現他們必須修改庫來解決顯示問題。如果您已經購買了Sainsmart TFT顯示器,則有以下修正
編輯文件“initlcd.h”并修改以下行
LCD_Write_COM_DATA(0x01,0x2B3F);
到
LCD_Write_COM_DATA(0x01,0x3B3F);
您需要重新啟動IDE,然后將代碼重新加載到Arduino。
(b。) TFT控制器芯片組 - 購買了3.2英寸TFT屏幕的人可能會發現他們也可能擁有兩種不同芯片組中的一種“SSD1289”或“ILI9341”。令人煩惱的是,在網上區分差異并不容易。好消息是它很容易修復。如果你在加載代碼后得到一個空白的屏幕,那可能是因為它是一個ILI9341控制器。
要修復你需要對代碼進行以下更改。編輯代碼并修改以下代碼行
來自
UTFT myGLCD(SSD1289,38,39,40,41);//參數應調整為您的Display/Schield模型
到
UTFT myGLCD(ILI9341_16,38,39,40,41);//參數應調整為您的Display/Schield模型
現在嘗試重新加載代碼Arduino。
(c。)倒置觸摸屏控件
一些制造商有報道d Y軸觸摸屏按鈕已反轉。 @dissy確定了這方面的修復,其中兩行代碼要更改以翻轉觸摸屏讀數。
執行查找:“yT = myTouch.getY();”將其更改為:“yT = 240 - myTouch.getY();”
不要忘記搜索兩次,第一個用于控制時鐘模式下的pacman,第二個用于設置菜單。
5。圖形文件
當您開始加載到Arduino時,我在下面包含的一組位圖文件需要與Arduino代碼位于同一子目錄中。因此,請下載以下文件并使用IDE加載。
6。設置時鐘
代碼加載成功后按屏幕中央,這將顯示設置屏幕。使用菜單以24小時格式設置時間和鬧鐘。按SAVE按鈕存儲設置。 RTC有電池,即使斷電也會保留正確的時間。報警時間存儲在EEPROM中,這意味著如果有電源切斷,它將被保留。
7。測試警報
聲音模塊用于提供鬧鐘。 ISD1820由Arduino D8引腳控制。通過將聲音播放到麥克風中,同時按下ISD1820上的錄制按鈕,可以輕松添加聲音。就我而言,我從另一臺設備播放的音頻文件中錄制了原始的Pac-Man介紹音樂。一旦錄制完聲音,就可以通過按PLAY-E按鈕測試錄音,該按鈕應通過揚聲器播放聲音。使用設置菜單將時鐘時間和鬧鐘時間分開設置幾分鐘。務必“設置”警報并按“保存”菜單按鈕。一旦回到主屏幕,警報應該在時間發生時響起。關閉警報可以通過按觸摸屏面板的中心來完成設置屏幕。
8。觸摸屏校準
一些制造商發現設置屏幕上的按鈕與TFT觸摸控件不對齊。在這些情況下,觸摸屏需要校準。這可以通過使用觸摸屏校準代碼和URtouch庫中提供的說明輕松完成。如果您發現此問題,請按照以下說明操作。
9。四種不同的程序可供選擇
1。街機時鐘 - DK馬里奧,太空侵略者和吃豆子動畫
2。 Pacman Clock - 具有時鐘功能的互動動畫吃豆人/Pacman女士游戲
3。 DK Clock - 具有時鐘功能的交互式動畫DK游戲
4。 Tumble Ghost - 基于Flappy Bird的動畫Pacman Ghost游戲
第5步:完全放入
1.添加外部電源
最后一步是添加外部電源。使用鉆頭,在機柜背面添加一個孔。將USB電纜穿過后面板,然后根據電路圖將USB電纜VCC,GND,D +和D-線連接到Arduino USB連接器的底座。這有兩個優點,首先是Arduino Mega Boards的USB輸入具有過流保護功能;其次,您可以使用USB線上傳代碼更改,而無需拆除盒子。將電源線絕緣層熱粘到Arduino背面,以便在組裝前后面板時提供電纜張力保護。在距離Arduino連接6-8厘米的電源線上,將電纜扎帶緊緊纏繞在電纜外殼上的電纜上,從而為電纜添加電線夾。當USB電纜通過抵住外殼內部而拉動時,電纜扎帶應避免接頭張緊。
2。將電子元件安裝在外殼中
將電路放在前面板頂部,并帶有四個孔導向器,這樣可使屏幕在切口中居中對齊。接通電路電源,以便可以看到前面板屏幕,檢查屏幕圖像是否處于正確位置,然后使用熱膠粘合到位。結果是與方形屏幕緊密貼合,方形屏幕位于切口孔的中心。
3。最終組裝
輕輕將前面板推到后面板上,然后輕輕拉動USB電源線以占用后面板中的松弛部分。線夾在這里很有用,應該保護線路的任何損壞。插上USB充電器就可以了。
-
時鐘
+關注
關注
11文章
1901瀏覽量
133231
發布評論請先 登錄
【VisionFive 2單板計算機試用體驗】2、打造復古游戲機(Batocera鏡像+FBNeo虛擬機, 多款游戲ROM分享)
樹莓派復古游戲,你會選哪一個?

唯卓仕推出Vintage Z1復古機頂閃光燈:閃光燈賽道卷出新天際

樹莓派復古游戲機:用科技重現經典,讓童年永不落幕!

樹莓派復古游戲“雙雄會”,Batocera 和 RetroPie 誰更懂你?

開源項目!手把手教你制作一個互動式LED墻壁時鐘!
TLC2574將單片機時鐘倍頻,采集的都是固定的數值,這是為什么?
時序約束一主時鐘與生成時鐘

本源產品丨100MHz時鐘功分器

評論