因此,我們組合了一個低分辨率像素顯示器、一個旋轉(zhuǎn)模具和 4 個雙鍵遙控器,所有這些都裝在一個大約 50x50 厘米的便攜式盒子中。
主電路
在盒子內(nèi)部,主要組件是一個 Teensy 3.5 微控制器,它提供足夠的 CPU 速度和 RAM 來處理復(fù)雜的圖形動畫和處理旋轉(zhuǎn)六角模具的步進(jìn)電機(jī)。一個 12V 8A 電源為步進(jìn)電機(jī)和 LED 顯示屏提供足夠的電力。對于 Teensy 以及顯示器和遠(yuǎn)程 LED,12V 需要下變頻為 5V。
1 / 4 ? M?DBOX 內(nèi)部的電路。
?
顯示器
顯示器的像素由以 19??x19 矩陣排列的 WS2812B LED 燈帶制成。每個 LED 都可以通過使用 SPI 傳輸 8 位 R、G 和 B 數(shù)據(jù)來單獨(dú)尋址。LED 位于木制矩陣后面,以防止像素之間的交叉光,上面覆蓋著模糊紙和有機(jī)玻璃板。
1 / 10 ?基于 WS2812B LED 的 19x19 像素顯示屏
?
六角模具
該模具由兩個 3d 打印的半部分制成,并裝有一個 LED 燈來照亮模具分?jǐn)?shù)的點(diǎn)。Nema17 步進(jìn)電機(jī)旋轉(zhuǎn)模具。RPR220 光反射傳感器位于帶有絕緣膠帶的金屬盤下方。傳感器記錄金屬和絕緣膠帶之間的反射變化,以校準(zhǔn)步進(jìn)電機(jī)的零位。從這個零位置和步進(jìn)電機(jī)在擲骰過程中必須采取的步數(shù)可以確定結(jié)果。步進(jìn)電機(jī)必須小心加速和減速,以免在此過程中錯過步驟。
軟件
使用了以下庫(作者的巨大功勞):
FastLED ( https://github.com/FastLED/FastLED )AccelStepper ( https://www.airspayce.com/mikem/arduino/AccelStepper/ )
其余的是用 C++ 為 Arduino IDE 編程的。
游戲
經(jīng)典的 Mensch ?rgere Dich Nicht(又名 Parcheesi 或 Ludo)
Gurke 類似于 Pong 的多人游戲版本,在傳遞骰子時添加了 boni。
更多游戲正在開發(fā)中...
評論