資料介紹
描述
不久前,我構(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。
![pYYBAGNYulCAJ4RsAARJXB6vi8Q704.png](https://file.elecfans.com/web2/M00/74/01/pYYBAGNYulCAJ4RsAARJXB6vi8Q704.png)
雙色 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 文件。我用碳粉的方法來制作我的。
![pYYBAGNYulWACInrAAR-BbxDVHA528.jpg](https://file.elecfans.com/web2/M00/74/01/pYYBAGNYulWACInrAAR-BbxDVHA528.jpg)
建造
首先添加 SMD 組件。我發(fā)現(xiàn)在焊接 SMD 元件時(shí)使用焊膏比使用卷盤中的焊料更容易。
如果您的電路板是單面的,請(qǐng)?zhí)砑渔溄印?/font>
![poYBAGNYulmAKzY7AAHt2H8EHAM291.jpg](https://file.elecfans.com/web2/M00/73/6F/poYBAGNYulmAKzY7AAHt2H8EHAM291.jpg)
在觸摸板上的 3/6 引腳之間連接一個(gè)鏈接,以啟用所有 16 個(gè)觸摸板。
![poYBAGNYulyAdodtAACQQOdK01g225.jpg](https://file.elecfans.com/web2/M00/73/6F/poYBAGNYulyAdodtAACQQOdK01g225.jpg)
小心地在每個(gè)觸摸板中間為 LED 鉆一個(gè) 2.5 毫米的孔。當(dāng)心 PAD 5。有一條軌道非常靠近打擊墊底面的中心。如果你打破它(我在我的構(gòu)建中做了),你需要刮掉孔兩側(cè)的抗蝕劑并焊接一些鍍錫銅線以繞過孔。
![pYYBAGNYul-AW6gAAAHXcoaYvcQ591.jpg](https://file.elecfans.com/web2/M00/74/01/pYYBAGNYul-AW6gAAAHXcoaYvcQ591.jpg)
當(dāng)我建造我的時(shí),我先添加了 LED,然后在焊接所有組件后添加了墊片。我建議您先打印并添加墊片,然后將它們粘到 PCB 上。插入 LED(確保它們的方向正確),但不要焊接它們。將觸摸板放在墊片上并向下推每個(gè) LED,使它們位于各自孔的中間,并且在將它們焊接到位之前硬靠在觸摸板上。
![poYBAGNYumOAa9F2AALUnvQzpE8016.jpg](https://file.elecfans.com/web2/M00/73/6F/poYBAGNYumOAa9F2AALUnvQzpE8016.jpg)
添加連接兩塊板的四根鍍錫銅線(VCC、GND、SCL、SDO)。
3D 打印保險(xiǎn)杠并將組件添加到其中。
最后使用 UPDI 程序員上傳代碼(見下一節(jié))。
![pYYBAGNYumaATOqCAAGzc5A39A0139.jpg](https://file.elecfans.com/web2/M00/74/01/pYYBAGNYumaATOqCAAGzc5A39A0139.jpg)
編程
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 電纜。
![pYYBAGNYummAVJnlAABeDUl3iRM501.jpg](https://file.elecfans.com/web2/M00/74/01/pYYBAGNYummAVJnlAABeDUl3iRM501.jpg)
玩游戲
通電后,計(jì)算機(jī)將邁出第一步。所有后續(xù)游戲,而單位保留權(quán)力將假定玩家首先開始。
![poYBAGNYumuALJRWAABFGm6oO34699.png](https://file.elecfans.com/web2/M00/73/6F/poYBAGNYumuALJRWAABFGm6oO34699.png)
該軟件
當(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)論