資料介紹
描述
不久前,我構建了我的Touch-A-Mole游戲,它是 Whack-A-Mole 游戲的一個版本,它使用 4x4 電容式觸摸板,每個觸摸板的中間都裝有 LED。在構建它時,我想如果我用雙色 LED 代替單色 LED,我可以把它變成井字游戲的一個版本。
Touch Tic-Tac-Toe 游戲演示
設計
我選擇使用 ATtiny3216 微處理器作為游戲的大腦。它有足夠的引腳來控制 LED、按鈕和揚聲器。它可以以 20MHz 運行,具有 32k 的閃存和 2k 的 RAM。
雙色 LED 是共陰極,陽極成列連接,并通過限流電阻連接到 ATtiny3216 上的引腳。陰極成排連接,由 ATtiny3216 控制的晶體管啟用。
4x4 電容式觸摸開關面板由兩條信號線控制。雖然 PCB 有時會標記這些引腳 SCL 和 SDA,但它不使用 I2C 協議。它們實際上只是時鐘引腳和數據引腳,它們使用專有的兩線協議。
我設計了一個 PCB 來固定 LED 和表面貼裝組件。如果您希望將電路板商業化或您可以自己制作,則已包含 Eagle 文件。我用碳粉的方法來制作我的。
建造
首先添加 SMD 組件。我發現在焊接 SMD 元件時使用焊膏比使用卷盤中的焊料更容易。
如果您的電路板是單面的,請添加鏈接。
在觸摸板上的 3/6 引腳之間連接一個鏈接,以啟用所有 16 個觸摸板。
小心地在每個觸摸板中間為 LED 鉆一個 2.5 毫米的孔。當心 PAD 5。有一條軌道非??拷驌魤|底面的中心。如果你打破它(我在我的構建中做了),你需要刮掉孔兩側的抗蝕劑并焊接一些鍍錫銅線以繞過孔。
當我建造我的時,我先添加了 LED,然后在焊接所有組件后添加了墊片。我建議您先打印并添加墊片,然后將它們粘到 PCB 上。插入 LED(確保它們的方向正確),但不要焊接它們。將觸摸板放在墊片上并向下推每個 LED,使它們位于各自孔的中間,并且在將它們焊接到位之前硬靠在觸摸板上。
添加連接兩塊板的四根鍍錫銅線(VCC、GND、SCL、SDO)。
3D 打印保險杠并將組件添加到其中。
最后使用 UPDI 程序員上傳代碼(見下一節)。
編程
ATtiny3216 是新一代 ATtiny 微處理器的一部分。與 ATtiny85 等早期系列不同,新品種使用 RESET 引腳對 CPU 進行編程。要對其進行編程,您需要一個 UPDI 程序員。我用 Arduino Nano 做了一個。您可以在Create Your Own UPDI Programmer中找到完整的構建說明。它還包含將megaTinyCore板添加到 IDE 的說明。
USB 插座為游戲提供電源 (5V)。ATtiny3216 處理器的 UPDI 引腳連接到 USB 插座上的 D+ 引腳。這允許使用定制電纜對 ATtiny3216 進行編程。USB Mini 插頭可在 eBay 上買到,或者您可以剪斷舊的 USB Mini 電纜。
玩游戲
通電后,計算機將邁出第一步。所有后續游戲,而單位保留權力將假定玩家首先開始。
該軟件
當計算機需要移動時,它會嘗試每個可用的方格并評估移動的結果。為此,對于它測試的每個方格,它必須測試用戶可以做出的每一個可能的移動并評估這些移動中的每一個。這個過程以遞歸方式繼續,直到棋盤滿了,沒有贏家,或者玩家贏了,或者電腦贏了。這意味著要評估的測試總數(假設計算機啟動)為 16!或大約 21 萬億個排列。顯然,使用 20MHz 處理器,這將需要很長時間。同樣在 4x4 游戲中,計算機在評估每一步棋時需要測試 19 種獲勝組合。
為了使游戲具有可玩性,它看起來只有 3 到 4 步。它有點松散,因為如果它發現它不可能獲勝的情況,它基本上會認輸并選擇任何可用的方格。
在 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 行會將游戲配置為僅使用左上角的 9 個觸摸板。您無法擊敗 3x3 游戲,因為它可以預見到游戲結束。你能做的最好的就是平局。
取消注釋 #define WINNING_MOVES_IN_RAM 會將獲勝組合表放入 RAM 而不是閃存中。RAM 比閃存快,但由于只有 2K 可用 RAM,由于遞歸游戲評估,堆棧確實需要它。
不要取消注釋#define EVAL_IN_ASSEMBLER。我試圖看看我可以加快評估板功能的速度。任何速度增加都不明顯。
- 觸摸感應arduino工廠開源分享
- 免觸摸開關開源構建
- Arduino科技井字游戲
- Arduino迷宮游戲開源分享
- 基于Arduino的井字游戲機器人 0次下載
- 液晶記憶游戲開源分享
- Arduino井字游戲和熄燈游戲開源分享
- 意大利字時鐘開源分享
- Arduino掃雷游戲開源分享
- 觸摸屏Theremin開源分享
- 液晶游戲開源分享
- DIY Arduino井字游戲
- 接口usb游戲開源分享
- 使用HTML5實現井字棋小游戲的算法和代碼講解
- 鋼筋混凝土屋面井字梁裂縫的分析與處理
- 快速掌握C語言關鍵字 185次閱讀
- 觸摸按鍵的工作原理是什么 4849次閱讀
- 電容觸摸屏原理 電容觸摸屏和電阻觸摸屏有什么區別 2818次閱讀
- 使用Rust和Nomad進行開源游戲服務器管理 517次閱讀
- 觸摸屏靜電浪涌保護解決方案 1140次閱讀
- 基于制造帶有電容式觸摸屏的數碼運動相機 2255次閱讀
- dfrobot十字/一字兩用螺絲刀簡介 1559次閱讀
- 電阻觸摸屏和電容觸摸屏哪個更具有優勢 1.5w次閱讀
- 液晶觸摸屏中的可編程控邏輯 1186次閱讀
- MSC-51單片機的3字節和4字節浮點數計算程序分析 4161次閱讀
- 智能觸摸開關有哪些品牌_智能觸摸開關十大名牌 4.2w次閱讀
- 觸摸延時開關接線圖解_觸摸延時開關原理圖_觸摸延時開關電路 6.9w次閱讀
- 觸摸屏技術是誰發明的_觸摸屏技術的發展歷程 2.8w次閱讀
- 觸摸延時開關電路圖_觸摸延時開關原理圖_觸摸延時開關如何接線 3.8w次閱讀
- 基于MeeGo的電容式觸摸屏驅動設計 1313次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多