資料介紹
描述
不久前,我構(gòu)建了我的Touch-A-Mole游戲,它是 Whack-A-Mole 游戲的一個(gè)版本,它使用 4x4 電容式觸摸板,每個(gè)觸摸板的中間都裝有 LED。在構(gòu)建它時(shí),我想如果我用雙色 LED 代替單色 LED,我可以把它變成井字游戲的一個(gè)版本。
Touch Tic-Tac-Toe 游戲演示
設(shè)計(jì)
我選擇使用 ATtiny3216 微處理器作為游戲的大腦。它有足夠的引腳來控制 LED、按鈕和揚(yáng)聲器。它可以以 20MHz 運(yùn)行,具有 32k 的閃存和 2k 的 RAM。
雙色 LED 是共陰極,陽(yáng)極成列連接,并通過限流電阻連接到 ATtiny3216 上的引腳。陰極成排連接,由 ATtiny3216 控制的晶體管啟用。
4x4 電容式觸摸開關(guān)面板由兩條信號(hào)線控制。雖然 PCB 有時(shí)會(huì)標(biāo)記這些引腳 SCL 和 SDA,但它不使用 I2C 協(xié)議。它們實(shí)際上只是時(shí)鐘引腳和數(shù)據(jù)引腳,它們使用專有的兩線協(xié)議。
我設(shè)計(jì)了一個(gè) PCB 來固定 LED 和表面貼裝組件。如果您希望將電路板商業(yè)化或您可以自己制作,則已包含 Eagle 文件。我用碳粉的方法來制作我的。
建造
首先添加 SMD 組件。我發(fā)現(xiàn)在焊接 SMD 元件時(shí)使用焊膏比使用卷盤中的焊料更容易。
如果您的電路板是單面的,請(qǐng)?zhí)砑渔溄印?/font>
在觸摸板上的 3/6 引腳之間連接一個(gè)鏈接,以啟用所有 16 個(gè)觸摸板。
小心地在每個(gè)觸摸板中間為 LED 鉆一個(gè) 2.5 毫米的孔。當(dāng)心 PAD 5。有一條軌道非常靠近打擊墊底面的中心。如果你打破它(我在我的構(gòu)建中做了),你需要刮掉孔兩側(cè)的抗蝕劑并焊接一些鍍錫銅線以繞過孔。
當(dāng)我建造我的時(shí),我先添加了 LED,然后在焊接所有組件后添加了墊片。我建議您先打印并添加墊片,然后將它們粘到 PCB 上。插入 LED(確保它們的方向正確),但不要焊接它們。將觸摸板放在墊片上并向下推每個(gè) LED,使它們位于各自孔的中間,并且在將它們焊接到位之前硬靠在觸摸板上。
添加連接兩塊板的四根鍍錫銅線(VCC、GND、SCL、SDO)。
3D 打印保險(xiǎn)杠并將組件添加到其中。
最后使用 UPDI 程序員上傳代碼(見下一節(jié))。
編程
ATtiny3216 是新一代 ATtiny 微處理器的一部分。與 ATtiny85 等早期系列不同,新品種使用 RESET 引腳對(duì) CPU 進(jìn)行編程。要對(duì)其進(jìn)行編程,您需要一個(gè) UPDI 程序員。我用 Arduino Nano 做了一個(gè)。您可以在Create Your Own UPDI Programmer中找到完整的構(gòu)建說明。它還包含將megaTinyCore板添加到 IDE 的說明。
USB 插座為游戲提供電源 (5V)。ATtiny3216 處理器的 UPDI 引腳連接到 USB 插座上的 D+ 引腳。這允許使用定制電纜對(duì) ATtiny3216 進(jìn)行編程。USB Mini 插頭可在 eBay 上買到,或者您可以剪斷舊的 USB Mini 電纜。
玩游戲
通電后,計(jì)算機(jī)將邁出第一步。所有后續(xù)游戲,而單位保留權(quán)力將假定玩家首先開始。
該軟件
當(dāng)計(jì)算機(jī)需要移動(dòng)時(shí),它會(huì)嘗試每個(gè)可用的方格并評(píng)估移動(dòng)的結(jié)果。為此,對(duì)于它測(cè)試的每個(gè)方格,它必須測(cè)試用戶可以做出的每一個(gè)可能的移動(dòng)并評(píng)估這些移動(dòng)中的每一個(gè)。這個(gè)過程以遞歸方式繼續(xù),直到棋盤滿了,沒有贏家,或者玩家贏了,或者電腦贏了。這意味著要評(píng)估的測(cè)試總數(shù)(假設(shè)計(jì)算機(jī)啟動(dòng))為 16!或大約 21 萬億個(gè)排列。顯然,使用 20MHz 處理器,這將需要很長(zhǎng)時(shí)間。同樣在 4x4 游戲中,計(jì)算機(jī)在評(píng)估每一步棋時(shí)需要測(cè)試 19 種獲勝組合。
為了使游戲具有可玩性,它看起來只有 3 到 4 步。它有點(diǎn)松散,因?yàn)槿绻l(fā)現(xiàn)它不可能獲勝的情況,它基本上會(huì)認(rèn)輸并選擇任何可用的方格。
在 Game.h 中有以下幾行:
//Comment out for 4x4 tic-tac-toe
//#define _3X3
//Comment out to store winning table in RAM (reduces CPU cyles in evaulation function)
//#define WINNING_MOVES_IN_RAM
//Comment out to use C version of evaluateBoard function
//#define EVAL_IN_ASSEMBLER
取消注釋 #define _3X3 行會(huì)將游戲配置為僅使用左上角的 9 個(gè)觸摸板。您無法擊敗 3x3 游戲,因?yàn)樗梢灶A(yù)見到游戲結(jié)束。你能做的最好的就是平局。
取消注釋 #define WINNING_MOVES_IN_RAM 會(huì)將獲勝組合表放入 RAM 而不是閃存中。RAM 比閃存快,但由于只有 2K 可用 RAM,由于遞歸游戲評(píng)估,堆棧確實(shí)需要它。
不要取消注釋#define EVAL_IN_ASSEMBLER。我試圖看看我可以加快評(píng)估板功能的速度。任何速度增加都不明顯。
- 觸摸感應(yīng)arduino工廠開源分享
- 免觸摸開關(guān)開源構(gòu)建
- Arduino科技井字游戲
- Arduino迷宮游戲開源分享
- 基于Arduino的井字游戲機(jī)器人 0次下載
- 液晶記憶游戲開源分享
- Arduino井字游戲和熄燈游戲開源分享
- 意大利字時(shí)鐘開源分享
- Arduino掃雷游戲開源分享
- 觸摸屏Theremin開源分享
- 液晶游戲開源分享
- DIY Arduino井字游戲
- 接口usb游戲開源分享
- 使用HTML5實(shí)現(xiàn)井字棋小游戲的算法和代碼講解
- 鋼筋混凝土屋面井字梁裂縫的分析與處理
- 快速掌握C語(yǔ)言關(guān)鍵字 390次閱讀
- 觸摸按鍵的工作原理是什么 7296次閱讀
- 電容觸摸屏原理 電容觸摸屏和電阻觸摸屏有什么區(qū)別 5094次閱讀
- 使用Rust和Nomad進(jìn)行開源游戲服務(wù)器管理 661次閱讀
- 觸摸屏靜電浪涌保護(hù)解決方案 1531次閱讀
- 基于制造帶有電容式觸摸屏的數(shù)碼運(yùn)動(dòng)相機(jī) 2452次閱讀
- dfrobot十字/一字兩用螺絲刀簡(jiǎn)介 1743次閱讀
- 電阻觸摸屏和電容觸摸屏哪個(gè)更具有優(yōu)勢(shì) 1.5w次閱讀
- 液晶觸摸屏中的可編程控邏輯 1261次閱讀
- MSC-51單片機(jī)的3字節(jié)和4字節(jié)浮點(diǎn)數(shù)計(jì)算程序分析 4328次閱讀
- 智能觸摸開關(guān)有哪些品牌_智能觸摸開關(guān)十大名牌 4.2w次閱讀
- 觸摸延時(shí)開關(guān)接線圖解_觸摸延時(shí)開關(guān)原理圖_觸摸延時(shí)開關(guān)電路 7.1w次閱讀
- 觸摸屏技術(shù)是誰發(fā)明的_觸摸屏技術(shù)的發(fā)展歷程 2.9w次閱讀
- 觸摸延時(shí)開關(guān)電路圖_觸摸延時(shí)開關(guān)原理圖_觸摸延時(shí)開關(guān)如何接線 3.8w次閱讀
- 基于MeeGo的電容式觸摸屏驅(qū)動(dòng)設(shè)計(jì) 1393次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費(fèi)下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數(shù)據(jù)手冊(cè)免費(fèi)下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數(shù)據(jù)手冊(cè)免費(fèi)下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機(jī)控制開發(fā)板用戶指南
- 5.78MB | 8次下載 | 免費(fèi)
- 5STC15系列常用寄存器匯總免費(fèi)下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實(shí)現(xiàn)
- 2.94MB | 4次下載 | 免費(fèi)
- 7PCB圖繪制實(shí)例操作
- 2.92MB | 2次下載 | 免費(fèi)
- 8零死角玩轉(zhuǎn)STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費(fèi)
- 2免費(fèi)開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 137次下載 | 免費(fèi)
- 4A7159和A7139射頻芯片的資料免費(fèi)下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數(shù)據(jù)手冊(cè)免費(fèi)下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測(cè)試電源的紋波
- 0.36 MB | 19次下載 | 免費(fèi)
- 7PIC16F716 數(shù)據(jù)手冊(cè)免費(fèi)下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統(tǒng)EMC試驗(yàn)方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論
查看更多