介紹
在本文中,我將向您展開(kāi)介紹我是如何用一個(gè)簡(jiǎn)單的宜家桌子來(lái)制作一個(gè)使用藍(lán)牙、物理控件和LED矩陣的廉價(jià)交互式桌子。同時(shí)桌面能夠顯示音頻頻譜可視化器、一些游戲和動(dòng)畫(huà)。
有了項(xiàng)目的想法后,首先要做的就是定義一個(gè)詳盡的待辦事項(xiàng)清單、材料清單,并對(duì)代碼的外觀有一個(gè)深刻的了解。
為了應(yīng)對(duì)這一挑戰(zhàn),我為我的LEDMatrixonJava設(shè)計(jì)了一個(gè)模擬器。此步驟的目的是設(shè)置使設(shè)備正常工作所需的主要功能和算法。這樣做還能讓我更具體地知道完成我的項(xiàng)目需要哪些硬件(尤其是輸入)。
該程序顯示一個(gè)12x12的顏色網(wǎng)格,并使用類(lèi)似于“FastLED.show();”的方法刷新此網(wǎng)格ArduinoFastLED庫(kù)用來(lái)控制矩陣的函數(shù)。該程序顯示菜單并能夠啟動(dòng)幾種模式:顯示圖像/動(dòng)畫(huà)/文本,運(yùn)行康威的生活游戲,俄羅斯方塊,蛇,乒乓球,西蒙游戲等。
在制作中我遇到的第一個(gè)問(wèn)題,是需要在程序中定義一些靜態(tài)圖像。Arduino的規(guī)范不允許我使用.jpg或.png圖像,我必須處理24位像素的二維數(shù)組(以十六進(jìn)制定義為0xRRGGBB)。為了讓制作過(guò)程變得更容易,我編寫(xiě)了另一個(gè)Java程序,它將12x12位圖圖像轉(zhuǎn)換為所需的2D數(shù)組。
只要最終仿真模擬器符合我的期望,就可以開(kāi)始著手購(gòu)買(mǎi)該項(xiàng)目所需的所有組件。
2.如何讀取音頻信號(hào)?
我的桌子的主要功能之一是能在我聽(tīng)音樂(lè)時(shí)在屏幕上實(shí)時(shí)顯示音頻頻譜。為了實(shí)現(xiàn)這一點(diǎn),我使用了一個(gè)運(yùn)算放大器(TL072)將電壓集中在2.5V左右并對(duì)其進(jìn)行放大。Arduino現(xiàn)在能夠讀取和分析提供的音頻信號(hào),該電路焊接在原型板上。
3.布線(xiàn)和3D打印
我購(gòu)買(mǎi)了150個(gè)LED燈條長(zhǎng)5米(或16.4英尺)。這意味著我的12x12屏幕至少是(500/150*12)=40cm寬和長(zhǎng)。為了以后有更充足的靈活性,我訂購(gòu)了一塊405x405mm的白色亞克力玻璃,并用鉆頭和鋸子在桌子上打了一個(gè)410x410mm的孔。
7歐元的IkeaLack桌子非常便宜,并且里面是空的,這對(duì)于我們的項(xiàng)目來(lái)說(shuō)很有幫助。(順便說(shuō)一句,制作過(guò)程中在你身邊放一個(gè)真空吸塵器可以防止你吸入木屑)
完成主孔后,我在桌子的側(cè)面鉆了4個(gè)40毫米的圓形孔,用于放置4個(gè)控制按鈕,并在桌子底部鉆了一個(gè)小孔,用于放置母電源插頭。之后,我在主控制界面的位置上做了一個(gè)方孔。這個(gè)界面上的按鈕非常小并且彼此靠近,這點(diǎn)需要格外注意。
為了解決這個(gè)問(wèn)題,我在Fusion360上設(shè)計(jì)了我的界面并通過(guò)3D打印的方式制作。接下來(lái)我在上面涂了一層底漆,看到這種飾面,我非常滿(mǎn)意。
再接著是時(shí)候進(jìn)行布線(xiàn)工作了,我已經(jīng)將所有東西焊接并粘合到位,如下圖所示。
4.制作畫(huà)面
我認(rèn)為這是我最不引以為豪的部分。我強(qiáng)烈建議您使用非常柔軟的泡沫板甚至激光切割機(jī)來(lái)制作像樣的網(wǎng)格。我每12個(gè)LED切割一次LED燈帶,制作12個(gè)小燈帶,然后將它們粘在410x410mm泡沫板上(接線(xiàn)完成)。然后我粘上了一個(gè)用美工刀制作的泡沫板網(wǎng)格。最后,我將丙烯酸玻璃粘在網(wǎng)格頂部并為L(zhǎng)ED矩陣供電以進(jìn)行測(cè)試。美工刀的問(wèn)題在于頂部的網(wǎng)格不是很平坦,并且像素沒(méi)有完全對(duì)齊。
一旦在表格中安裝并接線(xiàn),矩陣就可以執(zhí)行我們通過(guò)USB端口提供給Arduino的代碼。
5.安卓控制器
我使用MITAppInventor軟件制作了一個(gè)非常簡(jiǎn)單的Android應(yīng)用程序來(lái)通過(guò)藍(lán)牙控制我的桌子。
6.拓展
之后我可能還會(huì)調(diào)試一些功能,改進(jìn)一些功能,并且對(duì)其他一些功能進(jìn)行重編程。
我還想在屏幕和桌子之間的縫隙中切割并安裝一些L型鋁條,使其看起來(lái)更漂亮、更干凈
-
led
+關(guān)注
關(guān)注
242文章
23153瀏覽量
658611 -
藍(lán)牙
+關(guān)注
關(guān)注
114文章
5775瀏覽量
169866 -
交互式
+關(guān)注
關(guān)注
0文章
25瀏覽量
9695
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論