制作一個交互式街機床頭鐘
這是一個交互式街機床頭鐘,帶有觸摸屏和動畫街機人物,并且您可以錄制您選擇的鬧鐘聲音。
該項目包括一個 3D 打印案例和四個可供選擇的獨立程序
Arcade Clock - DK Mario、Space Invaders 和 Pac-Man 動畫
Pacman Clock - 具有時鐘功能的交互式動畫吃豆人游戲
DK Clock - 具有時鐘功能的交互式動畫DK游戲
Tumble Ghost - 基于 Flappy Bird 的動畫吃豆人幽靈游戲
對于喜歡重溫 80 年代街機游戲角色的懷舊情懷的人來說,制作起來充滿樂趣,也是一份很棒的禮物。
第 1 步:收集材料
Arduino 板 - Arduino Mega 2560
觸摸屏 Arduino 擴展板 - 3.2“ Mega Touch LCD 擴展板擴展板
觸摸屏 - 用于 Arduino Mega 2560 的 3.2” TFT LCD 顯示屏 + 觸摸屏
實時時鐘模塊 - DS3231 RTC
錄音機模塊-ISD1820錄音機
3D打印機用PLA燈絲
用于將外殼粘合在一起的兩部分環氧樹脂
熱膠槍
束線帶 X 3
僅在床頭鐘的情況下才需要可選的自動背光調光組件:
電阻 270k 歐姆
穩壓二極管 3.3v
0.5 瓦電阻 47 歐姆
光敏電阻 (LDR)
第 2 步:打印 3D 外殼
你可以在此找到我的3D打印外殼文件。
第 3 步:構建電路
整個電路包含實時時鐘、Arduino Mega、聲音模塊、觸摸屏和屏幕屏蔽。
實時時鐘
如圖所示,將實時時鐘安裝在 Arduino Mega 背面。我使用了熱膠槍和包裝泡沫以確保它們不會接觸并且有一些緩沖來吸收運動。就我而言,我將 2 個 RTC 腿直接焊接到 Arduino 上,并使用連接線將 5v 和 GND 連接到 Arduino。
錄音模塊
這些真的很酷且易于使用。以與上述類似的方式,使用泡沫和熱膠將模塊和揚聲器放置在 Arduino 的背面,注意確保它們與接觸絕緣。聲音模塊是由 Arduino 上的 D8 觸發的,所以這個和電源需要按照提供的電路圖連接。
自動背光調光器(可選)
如果您打算用作床頭鐘,那么您可能希望在晚上自動調暗背光,以免影響您的睡眠。(如果沒有,那么你可以跳過這一步!)不幸的是,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。
TFT屏幕和Arduino Shield
小心地將 3.2‘ TFT 觸摸屏連接器推入 TFT Arduino Shield。然后按照提供的圖片小心地連接到 Arduino 的頂部。RTC 有一塊電池,因此即使斷電也能保持正確的時間。鬧鐘時間存儲在 Arduino 上的 Eeprom 中,這意味著如果停電,它將保留。
第 4 步:加載代碼
該項目將需要在編譯和運行之前加載以下文件和庫。代碼是獨一無二的,圍繞著我借用的庫、硬件、一些自定義圖形和其他項目的功能構建。
請注意:此項目的代碼開發使用了 IDE v1.06,并且一些所需的庫已過時。這意味著有些人在加載代碼時遇到了新的 IDE 版本 1.6 及更高版本的問題。因此,為了簡單起見,我建議人們使用 IDE v1.06,并在教程第 4 步底部的 zip 文件中包含正確版本的庫文件。
Arduino IDE
我一直在使用早期版本的 Arduino IDE,因此為了簡單起見,我建議您在安裝代碼之前在臺式機上下載 Arduino IDE 1.06 版。你可以從這里得到他的版本。
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.)倒置觸摸屏控制
一些制造商報告說 Y 軸觸摸屏按鈕已被反轉。確定了對此的修復,其中兩行代碼要更改以翻轉觸摸屏讀數。
查找:“yT = myTouch.getY();” 將其更改為:“yT = 240 - myTouch.getY();”
不要忘記搜索兩次,第一個實例是在時鐘模式下控制 pacman,第二個是在設置菜單中。
圖形文件
當您開始加載到 Arduino 中時,我在下面包含了一組位圖文件,它們需要與 Arduino 代碼位于同一子目錄中。因此下載以下文件并使用 IDE 進行加載。
設置時鐘
成功加載代碼后,按屏幕中心,這應該會調出設置屏幕。使用菜單以 24 小時格式設置時間和鬧鐘。按 SAVE 按鈕保存設置。RTC 有一塊電池,因此即使斷電也能保持正確的時間。鬧鐘時間存儲在 EEPROM 中,這意味著如果斷電,它會保留。
測試警報
Sound 模塊用于提供警報。ISD1820 由 Arduino D8 引腳控制。通過向麥克風播放聲音,同時按下 ISD1820 上的錄制按鈕,可以輕松添加聲音。就我而言,我從另一個設備播放的音頻文件中錄制了原始的 Pac-Man 介紹音樂。錄制聲音后,可以通過按下 PLAY-E 按鈕來測試錄音,該按鈕應通過揚聲器播放聲音。使用設置菜單將時鐘時間和鬧鐘時間設置為相隔幾分鐘。請務必“設置”警報并按下“保存”菜單按鈕。返回主屏幕后,警報應在時間到來時響起。可以通過按下觸摸屏面板的中心來關閉警報,從而進入設置屏幕。
觸摸屏校準
一些制造商發現設置屏幕上的按鈕與 TFT 觸摸控件不對齊。在這些情況下,觸摸屏需要校準。這可以通過使用 URtouch 庫中提供的觸摸屏校準代碼和說明輕松完成。如果您發現此問題,請按照這些說明進行操作。
四種不同的程序可供選擇
1. 街機時鐘 - DK 馬里奧、太空侵略者和吃豆人動畫 2。Pacman Clock - 具有時鐘功能的交互式動畫 Pacman/Ms Pacman 游戲
3. DK Clock - 具有時鐘功能的交互式動畫DK游戲
4. Tumble Ghost - 基于 Flappy Bird 的 Pacman Ghost 動畫游戲
第5步:把它們放在一起
增加外部電源
最后一步是添加外部電源。使用鉆頭,在機柜背面添加一個孔。將 USB 電纜穿過后面板,然后按照電路圖將 USB 電纜 VCC、GND、D+ 和 D- 線連接到 Arduino USB 連接器的底座。這有兩個好處,首先Arduino Mega Boards的USB輸入具有過流保護,其次,您可以使用USB電纜上傳代碼更改而無需拆卸盒子。將電源線絕緣層熱粘合到 Arduino 背面,以在組裝前后面板時防止電纜張力。在距離 Arduino 連接 6-8 厘米的電源線上,將電纜扎帶緊緊地圍繞在外殼內側的電纜上,為電纜添加一個線夾。
在機箱中安裝電子設備
將電路放置在前面板頂部,帶有四個孔導向器,該導向器應將屏幕中心對準切口。打開電路電源,您可以看到前面板屏幕,檢查屏幕圖像是否處于正確位置,然后用熱膠將其粘合到位。結果是與位于切口孔中心的方形屏幕緊密配合。
總裝
將前面板輕輕推到后面板上,然后輕輕拉動 USB 電源線以收緊后面板的松弛部分。線夾在這里很有用,可以保護接線的任何損壞。插入 USB 充電器,您就可以開始使用了。
-
鬧鐘
+關注
關注
0文章
77瀏覽量
27064 -
交互式
+關注
關注
0文章
26瀏覽量
9707 -
DIY設計
+關注
關注
2文章
59瀏覽量
19801
發布評論請先 登錄
相關推薦
評論