電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>觸摸井字游戲開源分享

觸摸井字游戲開源分享

2022-10-28 | zip | 0.39 MB | 次下載 | 免費

資料介紹

描述

不久前,我構(gòu)建了我的Touch-A-Mole游戲,它是 Whack-A-Mole 游戲的一個版本,它使用 4x4 電容式觸摸板,每個觸摸板的中間都裝有 LED。在構(gòu)建它時,我想如果我用雙色 LED 代替單色 LED,我可以把它變成井字游戲的一個版本。

Touch Tic-Tac-Toe 游戲演示

設(shè)計

我選擇使用 ATtiny3216 微處理器作為游戲的大腦。它有足夠的引腳來控制 LED、按鈕和揚聲器。它可以以 20MHz 運行,具有 32k 的閃存和 2k 的 RAM。

pYYBAGNYulCAJ4RsAARJXB6vi8Q704.png
示意圖
?

雙色 LED 是共陰極,陽極成列連接,并通過限流電阻連接到 ATtiny3216 上的引腳。陰極成排連接,由 ATtiny3216 控制的晶體管啟用。

4x4 電容式觸摸開關(guān)面板由兩條信號線控制。雖然 PCB 有時會標記這些引腳 SCL 和 SDA,但它不使用 I2C 協(xié)議。它們實際上只是時鐘引腳和數(shù)據(jù)引腳,它們使用專有的兩線協(xié)議。

我設(shè)計了一個 PCB 來固定 LED 和表面貼裝組件。如果您希望將電路板商業(yè)化或您可以自己制作,則已包含 Eagle 文件。我用碳粉的方法來制作我的。

pYYBAGNYulWACInrAAR-BbxDVHA528.jpg
PCB 可容納 16 個 LED 并安裝在 XC4602 觸摸按鍵模塊下方
?

建造

首先添加 SMD 組件。我發(fā)現(xiàn)在焊接 SMD 元件時使用焊膏比使用卷盤中的焊料更容易。

如果您的電路板是單面的,請?zhí)砑渔溄印?/font>

poYBAGNYulmAKzY7AAHt2H8EHAM291.jpg
添加 SMD 組件和鏈接
?

在觸摸板上的 3/6 引腳之間連接一個鏈接,以啟用所有 16 個觸摸板。

poYBAGNYulyAdodtAACQQOdK01g225.jpg
添加鏈接以啟用所有 16 個觸摸板
?

小心地在每個觸摸板中間為 LED 鉆一個 2.5 毫米的孔。當(dāng)心 PAD 5。有一條軌道非??拷驌魤|底面的中心。如果你打破它(我在我的構(gòu)建中做了),你需要刮掉孔兩側(cè)的抗蝕劑并焊接一些鍍錫銅線以繞過孔。

pYYBAGNYul-AW6gAAAHXcoaYvcQ591.jpg
添加 USB 插座、LED 和揚聲器
?

當(dāng)我建造我的時,我先添加了 LED,然后在焊接所有組件后添加了墊片。我建議您先打印并添加墊片,然后將它們粘到 PCB 上。插入 LED(確保它們的方向正確),但不要焊接它們。將觸摸板放在墊片上并向下推每個 LED,使它們位于各自孔的中間,并且在將它們焊接到位之前硬靠在觸摸板上。

poYBAGNYumOAa9F2AALUnvQzpE8016.jpg
將墊片粘到 PCB 上,將觸摸矩陣線粘到 PCB 上
?

添加連接兩塊板的四根鍍錫銅線(VCC、GND、SCL、SDO)。

3D 打印保險杠并將組件添加到其中。

最后使用 UPDI 程序員上傳代碼(見下一節(jié))。

pYYBAGNYumaATOqCAAGzc5A39A0139.jpg
將程序集添加到保險杠并上傳代碼
?

編程

ATtiny3216 是新一代 ATtiny 微處理器的一部分。與 ATtiny85 等早期系列不同,新品種使用 RESET 引腳對 CPU 進行編程。要對其進行編程,您需要一個 UPDI 程序員。我用 Arduino Nano 做了一個。您可以在Create Your Own UPDI Programmer中找到完整的構(gòu)建說明。它還包含將megaTinyCore板添加到 IDE 的說明。

USB 插座為游戲提供電源 (5V)。ATtiny3216 處理器的 UPDI 引腳連接到 USB 插座上的 D+ 引腳。這允許使用定制電纜對 ATtiny3216 進行編程。USB Mini 插頭可在 eBay 上買到,或者您可以剪斷舊的 USB Mini 電纜。

pYYBAGNYummAVJnlAABeDUl3iRM501.jpg
用于我的自制 UPDI 編程器的 USB-Mini 連接器電纜
?

玩游戲

通電后,計算機將邁出第一步。所有后續(xù)游戲,而單位保留權(quán)力將假定玩家首先開始。

poYBAGNYumuALJRWAABFGm6oO34699.png
4x4井字游戲規(guī)則
?

該軟件

當(dāng)計算機需要移動時,它會嘗試每個可用的方格并評估移動的結(jié)果。為此,對于它測試的每個方格,它必須測試用戶可以做出的每一個可能的移動并評估這些移動中的每一個。這個過程以遞歸方式繼續(xù),直到棋盤滿了,沒有贏家,或者玩家贏了,或者電腦贏了。這意味著要評估的測試總數(shù)(假設(shè)計算機啟動)為 16!或大約 21 萬億個排列。顯然,使用 20MHz 處理器,這將需要很長時間。同樣在 4x4 游戲中,計算機在評估每一步棋時需要測試 19 種獲勝組合。

為了使游戲具有可玩性,它看起來只有 3 到 4 步。它有點松散,因為如果它發(fā)現(xià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 行會將游戲配置為僅使用左上角的 9 個觸摸板。您無法擊敗 3x3 游戲,因為它可以預(yù)見到游戲結(jié)束。你能做的最好的就是平局。

取消注釋 #define WINNING_MOVES_IN_RAM 會將獲勝組合表放入 RAM 而不是閃存中。RAM 比閃存快,但由于只有 2K 可用 RAM,由于遞歸游戲評估,堆棧確實需要它。

不要取消注釋#define EVAL_IN_ASSEMBLER。我試圖看看我可以加快評估板功能的速度。任何速度增加都不明顯。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費