資料介紹
描述
不久前,我構(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 微處理器作為游戲的大腦。它有足夠的引腳來(lái)控制 LED、按鈕和揚(yáng)聲器。它可以以 20MHz 運(yùn)行,具有 32k 的閃存和 2k 的 RAM。
![pYYBAGNYulCAJ4RsAARJXB6vi8Q704.png](https://file.elecfans.com/web2/M00/74/01/pYYBAGNYulCAJ4RsAARJXB6vi8Q704.png)
雙色 LED 是共陰極,陽(yáng)極成列連接,并通過(guò)限流電阻連接到 ATtiny3216 上的引腳。陰極成排連接,由 ATtiny3216 控制的晶體管啟用。
4x4 電容式觸摸開(kāi)關(guān)面板由兩條信號(hào)線控制。雖然 PCB 有時(shí)會(huì)標(biāo)記這些引腳 SCL 和 SDA,但它不使用 I2C 協(xié)議。它們實(shí)際上只是時(shí)鐘引腳和數(shù)據(jù)引腳,它們使用專(zhuān)有的兩線協(xié)議。
我設(shè)計(jì)了一個(gè) PCB 來(lái)固定 LED 和表面貼裝組件。如果您希望將電路板商業(yè)化或您可以自己制作,則已包含 Eagle 文件。我用碳粉的方法來(lái)制作我的。
![pYYBAGNYulWACInrAAR-BbxDVHA528.jpg](https://file.elecfans.com/web2/M00/74/01/pYYBAGNYulWACInrAAR-BbxDVHA528.jpg)
建造
首先添加 SMD 組件。我發(fā)現(xiàn)在焊接 SMD 元件時(shí)使用焊膏比使用卷盤(pán)中的焊料更容易。
如果您的電路板是單面的,請(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è)的抗蝕劑并焊接一些鍍錫銅線以繞過(guò)孔。
![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àn)下一節(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)建說(shuō)明。它還包含將megaTinyCore板添加到 IDE 的說(shuō)明。
USB 插座為游戲提供電源 (5V)。ATtiny3216 處理器的 UPDI 引腳連接到 USB 插座上的 D+ 引腳。這允許使用定制電纜對(duì) ATtiny3216 進(jìn)行編程。USB Mini 插頭可在 eBay 上買(mǎi)到,或者您可以剪斷舊的 USB Mini 電纜。
![pYYBAGNYummAVJnlAABeDUl3iRM501.jpg](https://file.elecfans.com/web2/M00/74/01/pYYBAGNYummAVJnlAABeDUl3iRM501.jpg)
玩游戲
通電后,計(jì)算機(jī)將邁出第一步。所有后續(xù)游戲,而單位保留權(quán)力將假定玩家首先開(kāi)始。
![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è)過(guò)程以遞歸方式繼續(xù),直到棋盤(pán)滿了,沒(méi)有贏家,或者玩家贏了,或者電腦贏了。這意味著要評(píng)估的測(cè)試總數(shù)(假設(shè)計(jì)算機(jī)啟動(dòng))為 16!或大約 21 萬(wàn)億個(gè)排列。顯然,使用 20MHz 處理器,這將需要很長(zhǎng)時(shí)間。同樣在 4x4 游戲中,計(jì)算機(jī)在評(píng)估每一步棋時(shí)需要測(cè)試 19 種獲勝組合。
為了使游戲具有可玩性,它看起來(lái)只有 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è)觸摸板。您無(wú)法擊敗 3x3 游戲,因?yàn)樗梢灶A(yù)見(jiàn)到游戲結(jié)束。你能做的最好的就是平局。
取消注釋 #define WINNING_MOVES_IN_RAM 會(huì)將獲勝組合表放入 RAM 而不是閃存中。RAM 比閃存快,但由于只有 2K 可用 RAM,由于遞歸游戲評(píng)估,堆棧確實(shí)需要它。
不要取消注釋#define EVAL_IN_ASSEMBLER。我試圖看看我可以加快評(píng)估板功能的速度。任何速度增加都不明顯。
- 觸摸感應(yīng)arduino工廠開(kāi)源分享
- 免觸摸開(kāi)關(guān)開(kāi)源構(gòu)建
- Arduino科技井字游戲
- Arduino迷宮游戲開(kāi)源分享
- 基于Arduino的井字游戲機(jī)器人 0次下載
- 液晶記憶游戲開(kāi)源分享
- Arduino井字游戲和熄燈游戲開(kāi)源分享
- 意大利字時(shí)鐘開(kāi)源分享
- Arduino掃雷游戲開(kāi)源分享
- 觸摸屏Theremin開(kāi)源分享
- 液晶游戲開(kāi)源分享
- DIY Arduino井字游戲
- 接口usb游戲開(kāi)源分享
- 使用HTML5實(shí)現(xiàn)井字棋小游戲的算法和代碼講解
- 鋼筋混凝土屋面井字梁裂縫的分析與處理
- 快速掌握C語(yǔ)言關(guān)鍵字 390次閱讀
- 觸摸按鍵的工作原理是什么 7296次閱讀
- 電容觸摸屏原理 電容觸摸屏和電阻觸摸屏有什么區(qū)別 5094次閱讀
- 使用Rust和Nomad進(jìn)行開(kāi)源游戲服務(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次閱讀
- 智能觸摸開(kāi)關(guān)有哪些品牌_智能觸摸開(kāi)關(guān)十大名牌 4.2w次閱讀
- 觸摸延時(shí)開(kāi)關(guān)接線圖解_觸摸延時(shí)開(kāi)關(guān)原理圖_觸摸延時(shí)開(kāi)關(guān)電路 7.1w次閱讀
- 觸摸屏技術(shù)是誰(shuí)發(fā)明的_觸摸屏技術(shù)的發(fā)展歷程 2.9w次閱讀
- 觸摸延時(shí)開(kāi)關(guān)電路圖_觸摸延時(shí)開(kāi)關(guān)原理圖_觸摸延時(shí)開(kāi)關(guān)如何接線 3.8w次閱讀
- 基于MeeGo的電容式觸摸屏驅(qū)動(dòng)設(shè)計(jì) 1393次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論