背景
之前和朋友路過ACTION商店時(shí),我發(fā)現(xiàn)了一個(gè)價(jià)格可以接受的數(shù)字LED(包括12V電源適配器,甚至包括帶紅外遙控器的控制器)。于是我決定買下來并做一個(gè)可以和他們一起玩的賓果機(jī),方法則是用我的ArduinoUno來控制LED燈條。
盡管在包裝或LED燈條本身上沒有任何說明,但我發(fā)現(xiàn)這是一種燈條,由三個(gè)5050LED段組成,每3個(gè)LED使用一個(gè)WS2811驅(qū)動(dòng)器。
我將條帶連接到ArduinoUno以使用AdafruitNeoPixel庫(kù)和一些示例代碼(例如RGBWstrandtest)對(duì)其進(jìn)行試驗(yàn)。
起初我構(gòu)思了一場(chǎng)頭腦風(fēng)暴,并產(chǎn)生了使用這些東西制作A4大小的7段顯示器的想法。如上圖所示的七個(gè)條帶部分可以完成這項(xiàng)工作,另外還有一個(gè)用于顯示屏上的小數(shù)點(diǎn)。這就可以使用8個(gè)段分別有效地并且只需Arduino的一個(gè)輸出引腳來控制,并由ACTION包中已包含的12V適配器供電。
但現(xiàn)在只有一個(gè)7段顯示器,我能做什么?
我決定制作其中的2個(gè),并使用它們構(gòu)建一個(gè)賓果機(jī),在按下按鈕后顯示1到75之間的隨機(jī)數(shù)。
第1步:制作7段顯示器
顯示器的整個(gè)制作過程非常漫長(zhǎng)。制作的簡(jiǎn)短版本如下:
兩種A4尺寸的顯示器都是用傳統(tǒng)的方法和材料制成的。我使用的是激光切割機(jī)和3D打印機(jī),整個(gè)過程會(huì)有所不同,并且更加簡(jiǎn)單。
在制作的過程中,我還慢慢發(fā)現(xiàn),制作這個(gè)項(xiàng)目也非常具有挑戰(zhàn)性和樂趣味。
對(duì)于LED燈條,我使用了16個(gè)部分,每個(gè)部分是從ACTION的WS2811LED燈條上切割下來的。
這些段通過焊接線連接到條帶的+12V、GND和Do和Di,具體的操作方法你可以在互聯(lián)網(wǎng)上尋找。
外殼的新正面由宜家的白色半透明砧板材料制成。
使用模板從板頂部的涂漆層(黑色底漆)中切割出一部分。
一條音頻電纜(取自ACTION)用于通過220Ω電阻將7段顯示器與3根電線(12V、GND和數(shù)據(jù)輸入)連接到Arduino。
我修改了外殼以便更輕松插入音頻連接器。
第2步:制作記分牌
同時(shí)我準(zhǔn)備再做一個(gè)記分牌顯示器,以顯示生成的隨機(jī)數(shù)、一個(gè)用于生成新數(shù)字的按鈕和一個(gè)用于結(jié)束和啟動(dòng)新一輪的“賓果按鈕”。
記分牌使用與外殼相同的ACTION釘板制成。蓋板由深灰色切菜板制成,上面鉆有幾個(gè)孔洞。頂蓋由宜家砧板制成。兩層之間是相紙上的打印件和保護(hù)性透明箔。
另一面貼在砧板背面的有5個(gè)部分,每個(gè)部分又有15個(gè)WS2812LED加上3*8個(gè)LED條部分,用于顯示背光“BINGO”一詞。
第3步:制作硬件
針對(duì)硬件方面,我用的是Arduino和無焊面包板,以完成對(duì)LED燈條和7段顯示器的編碼和播放的初步實(shí)驗(yàn)。
大的瞬時(shí)按鈕連接到GND和Uno的數(shù)字IO引腳2,按下按鈕就開始生成新的隨機(jī)數(shù)。在短暫的“燈光秀1”之后,隨機(jī)數(shù)會(huì)顯示在兩個(gè)7段顯示器上。
用于在7段顯示器上創(chuàng)建數(shù)字的表格如下:
為了幫助構(gòu)建ArduinoSketch,我制作了一些簡(jiǎn)單的流程圖,這是一個(gè)用于非商業(yè)用途的免費(fèi)版本(一旦你習(xí)慣了一些固有的限制,就可以使它基于此正常工作)。
生成的數(shù)字存儲(chǔ)在一個(gè)名為SCORE[]的數(shù)組中,該數(shù)組由75個(gè)位置組成,用“0”或“1”填充。如果生成的新數(shù)已經(jīng)存在,則自動(dòng)生成一個(gè)新的隨機(jī)數(shù)。
新號(hào)碼在記分牌上亮起(有75個(gè)號(hào)碼),同時(shí)新號(hào)碼顯示在7段顯示器上
記分牌不斷顯示生成的所有隨機(jī)數(shù),直到達(dá)成有效的“BINGO”,一個(gè)名為“BINGO”的按鈕將以簡(jiǎn)短的“BingoLightShow”結(jié)束回合
達(dá)成后SCORE數(shù)組被清除,就可以開始新的一輪。
當(dāng)然,也可以隨時(shí)通過切換電源開關(guān)(斷開12V電源)來開始新一輪,這將重置Arduino并重新啟動(dòng)程序。
第4步:電子設(shè)備
我用了一個(gè)12V、2A充電器為整個(gè)BingoMachine供電。
Arduino電源插孔上的12V輸入已修改為啟用電源切換(開-關(guān))。
用于記分牌的99個(gè)LED(75+24)的5V電源是通過7805穩(wěn)壓器從12V輸入電源獲得的(它幾乎可以處理WS2812LED燈條吸收的電流),同時(shí)我有添加一個(gè)功率晶體管來處理主要由記分板內(nèi)的99個(gè)WS2812LED消耗的所需5V電源。我以這種方式為Arduino制作了草圖記分牌的電力需求適中。
Fritzing圖中的布局如下所示:
請(qǐng)注意,Bingo記分板上的7段LED部分(12V)以及照亮數(shù)字1-75的LED燈條均由Uno的同一個(gè)輸出引腳(6)控制。
-
led
+關(guān)注
關(guān)注
242文章
23306瀏覽量
661537 -
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
53文章
8256瀏覽量
146593 -
游戲機(jī)
+關(guān)注
關(guān)注
9文章
299瀏覽量
33488
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論