歡迎您光臨本站 登入註冊首頁

自製三維電子骰子

admin @ 2014-03-26 , reply:0

概述

一、設計思路   首先應將電子骰子做成一個能夠投擲和滾動的小正立方體,並在立方體的6個表面上分別安裝能夠顯示不同點數的發光二極體,由裝在立方體內部的9V小型電池通過限流電……

一、設計思路
    首先應將電子骰子做成一個能夠投擲和滾動的小正立方體,並在立方體的6個表面上分別安裝能夠顯示不同點數的發光二極體,由裝在立方體內部的9V小型電池通過限流電阻為這些發光二極體供電。然而,由於骰子6個面上的點數不同,每個面上安裝的發光二極體只數也各不相同,使骰子的重心不可能正好位於骰子正立方體的中心,必然存在偏移。於是,經投擲后,骰子最輕的一面位於頂上的幾率遠大於其他面,該面點數出現的機會就比其他“較重的”面多得多,最終使骰子失去了可信性和公正性。
    怎麼辦?經過一番思考後我們得出結論:在骰子的每個面上都安裝7隻發光二極體,使它的重心位於立方體的中心。這樣投擲時,每個面最終位於頂上的幾率相同,而在投擲后6個面卻顯示不同的隨機值,從而保證骰子的公正性。顯然,此方案需要功能比較複雜的電路才能實現。當骰子被投擲出去時,首先要檢測骰子的滾動狀態。為此,用一隻水銀傾斜式開關來擔任此任務,這樣即便只是搖動骰子也能獲得與滾動一樣的效果。接著,要產生出現在骰子6個面上的隨機數值,此任務由一隻微控制器(即單片機晶元)來擔任,以便使骰子保持較小的體積,使用起來更加得心應手。
    需要考慮的另一個設計問題是:怎樣將主電路板與其他5塊電路板連接起來?如果連線太多,則不僅麻煩還很不好看。為了減少連線的數量,決定在各電路板之間採用串列連接,在每塊電路板上用一隻移位寄存器IC來驅動所在面上的7隻發光二極體。這樣在6塊電路板之間就只需連接4根線,其中兩根用於供電,一根用來傳送數據,另一根用來傳送時鐘信號。
    此外,還要考慮骰子的消耗電流和電源開關,這裡顯然不能使用普通的電源開關,因為骰子表面不允許有任何東西突出在外,否則電源開關就會妨礙骰子滾動,甚至有可能因滾動中受壓而自我關斷。解決此問題的辦法是,在骰子其中一面的凹處安裝一隻接通電源的按鍵開關,並使電路在骰子停止滾動時自動斷開電源。

二、主電路板
  圖1是本電子骰子的主板電路圖.其核心是Atmel公司生產的AT89C2051-12PI微控制器(IC1),可以將它用於本電子骰子的軟體。該微控制器晶元內部具有保存程序的快閃記憶體,無需外接存儲器。晶體X1與電容C1、C2組成時鐘振蕩器,IC1通過它的I/O引腳直接驅動7隻發光二極體,由於使用了小電流發光二極體,無需使用額外的緩衝器。
 
圖1電子骰子主板電路圖
 
圖2 2號電路板及其餘4塊電路板的電路圖
    電源部分與常見的電路稍有不同,因為我們要用按鍵來使電路接通電源,而由微控制器自己來切斷電源。這一功能是由晶體管T1、T2及其周邊電路來實現的,K2是連接9V電池的插座.當按下2號電路板上的按鍵開關S1時(參看圖2中的上圖),就有小電流從+9V經晶體管T1的基/射結、電阻R8、K3和S1流到地,使T1導通,電池開始為三端穩壓器78L05(IC2)供電,後者就對其餘電路提供穩定的+5V電源電壓。如果只是這樣,則當鬆開按鍵S1時,上述電流不再流過R8,會使電路失去電源而停止工作,這就要求在投擲骰子的過程中一直保持按下S1,使用起來很難操作。為了解決這一問題,另外增加了電阻R9、R11和晶體管T2,並由微控制器來驅動T2,當電路接通電源時,微控制器使T2也導通,T1基極電流就經R9和T2流到地,不再依賴於按下S1,如果微控制器發現骰子有幾分鐘沒有動過,它就停止驅動T2,使骰子自動切斷電源,當再次按下S1時,上述過程又再次重複。
    C5和R10用來為微控制器IC1產生上電複位信號.IC1產生的時鐘(CLK)和數據(DATA)信號經    插座K3送到2號電路板,K3 的其餘引腳則用來為2號電路板供電和連接該電路板上的按鍵開關S1。將按鍵開關S1裝在2號電路板上是因為主電路板上元件太多,擠不下了。

三、其餘電路板
  其餘的2號、6號電路板電路彼此基本相同,主要差別是2號電路板上有一隻按鍵開關,而其他電路板上沒有此開關。圖2中的上圖是2號電路板的電路圖,下圖則是其餘4塊電路板的電路圖,它們的輸出插座K2依次接到下一塊電路板的輸入插座K1。顯然,最後一塊電路板(即6號板)無需安裝輸出插座K2。
    這些電路板的核心是一隻74HCT4094移位寄存器(IC1)。該IC具有并行輸出寄存器,它在時鐘輸入信號的每個上升沿使IC里的8位數據移動1位,並使第1位取值為輸入數據,最後1位則通過該IC的⑨腳移出到下一塊電路板上移位寄存器的數據輸入端,這樣就有效地將所有電路板變成了一個龐大的移位寄存器。

四、製作
    各電路板的製作與一般方法稍有不同。為了避免因元件引腳伸出電路板而導致骰子滾動時損壞傢具表面,對6塊電路板的大多數元件採用了表面安裝式貼片元件,對它們的IC也採用表面安裝式IC插座。為了縮短電路板之間的連線,6塊電路板各有自己的印板圖,見圖7。其中,主電路板(即1號板)上的元件最多,2號板上裝有按鍵開關S1,其餘4塊電路板的電路彼此相同,只是輸入和輸出插座的位置有所不同,因而它們的印板圖也有所不同。
    焊電路板之前,先將貼片式元件和IC插座的引腳向外打彎,並按照它們在印板上的實際安裝位置剪去引腳的過長部分,再用小功率電烙鐵將它們逐一貼焊在相應的電路板上。每塊電路板上各有7個用來安裝發光二極體的小孔,它們分別構成骰子6個面上的點狀圖形。安裝前,先按照圖3所示將42隻發光二極體的引腳打彎成形,再逐一焊接到位,使每隻發光二極體的頂部與電路板的另一面保持平齊即可。焊接時注意發光二極體的陽極和陰極不要焊錯。
 
圖3  發光二極體的焊裝示意圖
    除雙列直插式IC外.還有少數元件(如晶體和水銀傾斜式開關等)採用的是普通引腳,為了使它們不致穿過電路板來進行焊接,對這些元件也要進行表面安裝式焊接,即將它們的引腳剪短並打彎90°再貼焊在電路板上,但要注意,不要將它們的引腳留得過短而不便於焊接。

五、接線和試驗
  6塊電路板焊好后,即可參照圖4將它們連接起來。各電路板之間的連線長度取為5cm左右為宜,如果取得過短,則下一步難以將它們組裝在一起,但也不宜取得過長而使連線變得過於鬆散,連接時應仔細參照圖5所示的詳細接線圖,不要接錯。
 
圖4 6塊電路板的詳細接線圖
    電路板連接完畢即可將IC分別插在各電路板上相應的IC插座上,注意各IC的方向不要插錯.然後仔細檢查每塊電路板,確信一切無誤再接上9V電池進行通電試驗,此時6塊電路板均平鋪在桌面上,便於操作,這是試驗電子骰子和排除故障的最佳時機,如果6塊電路板已經組裝成一個小立方體,則電路板之間的空間變得非常狹小,再發現故障就很難下手了。試驗時,按一下2號板上的開關S1,如果6塊電路板上的發光二極體顯示隨機的點數,則說明電子骰子已開始工作。再搖動一下1號板來模仿骰子滾動,如果骰子6個面上顯示的點數隨之出現有規則的變化,而且幾秒鐘后變化的速度逐漸變慢並最後顯示滾動結果的點數,則說明本電子骰子工作正常,否則應檢查和排除故障。

六、總裝
    至此,電路已能正常工作,但看起來還不像是一個真正的骰子,現在需要把6塊電路板組裝成一個立方體,使它成為一個可以投擲和滾動的骰子。圖5給出6塊電路板組成一個立方體的具體位置。組裝時,先參照圖5將4號板平放在桌面上,再將2號板、3號板、5號板和6號板分別垂直地放在4號板的4個邊沿,然後用4小段長度合適的塑料角材和粘接劑(DIY商店有售)逐一將它們的接合處粘接在一起,構成圖6所示的形狀。等粘接劑固化后,再安裝位於立方體頂上的1號板。
 
圖5 6塊電路板組成一個立方體的具體位置
 
圖6已粘接5塊電路板的骰子外觀
    由於電池是裝在骰子裡面的,為便於日後更換電池,1號板應用螺釘來加以固定,而不應粘死。為此,可利用分佈在1號板4個邊上的4個Φ3mm孔和與之對應的4段塑料角材來固定它。方法是,先在1號板周圍與它接合的其他4個板的邊沿各粘上一段塑料角材,待粘接劑固化后,將1號板平放在這4段角材上面,在1號板4個Φ3mm孔下面的塑料角材上細心地各鑽一個小2.5mm的孔,再用Φ3mm絲錐給它們攻上螺紋。這樣,就可以用4顆Φ3mm螺釘將1號板與其他板組裝成一個立方體了。如果要將螺紋做得更結實一些,可先在鑽孔處粘接一片塑料以增大角材的厚度,再進行鑽孔和攻絲。
    然後,將電池接好並裹上棉毛或泡沫橡膠等鬆軟的絕緣材料,再塞入骰子內部,電池周圍應填滿絕緣材料,以免骰子滾動時電池與周圍電路板上的元件接觸而產生短路,最後用螺釘裝上1號板,按各人的愛好對骰子表面進行一番裝飾,本電子骰子即可投入使用。
 
圖7電路印板圖


[admin via 研發互助社區 ] 自製三維電子骰子已經有4212次圍觀

http://cocdig.com/docs/show-post-43702.html