資料介紹
描述
在我的 Arduino 項(xiàng)目仍然無(wú)人認(rèn)領(lǐng)觸摸屏之后,我決定實(shí)現(xiàn)我兒時(shí)的夢(mèng)想,創(chuàng)建一個(gè)國(guó)際象棋程序。幾個(gè)月后它贏了我,但這沒(méi)什么大不了的,因?yàn)槲覜](méi)有任何國(guó)際象棋等級(jí),只是業(yè)余的。
該項(xiàng)目使用 Arduino Mega 2560,因?yàn)?Uno 上缺少可操作內(nèi)存、2.8 英寸觸摸屏、無(wú)源蜂鳴器和大約 2000 行代碼。
程序使用Negamax算法,迭代深化,某種殺手啟發(fā)式,時(shí)間控制。由于明顯的原因,沒(méi)有任何位板或哈希。評(píng)估功能比較復(fù)雜,但不會(huì)太多,反正除了材料之外,它計(jì)算人物活動(dòng),國(guó)王安全,棋子結(jié)構(gòu)。求解速度約為每秒 100-200 個(gè)節(jié)點(diǎn)。
游戲是根據(jù)國(guó)際象棋規(guī)則,包括過(guò)路,易位,典當(dāng)升級(jí)。平局也確定了。如果沒(méi)有看到任何有效的逃脫將死,算法也可能會(huì)放棄。
板子是可旋轉(zhuǎn)的,一步一步拖放,可以退一步??梢园才懦跏嘉恢?,或從串行端口以 FEN 格式加載。國(guó)際象棋游戲可以保存在 EEPROM 中并稍后下載,或以快速模式重播。
有一個(gè)將死搜索機(jī)制來(lái)解決國(guó)際象棋問(wèn)題。
3步找到將死
通過(guò)選擇平均思考時(shí)間 10sec - 30sec -1min - 3min 10min - 30min - 無(wú)限制來(lái)給出算法級(jí)別。10 秒的游戲?qū)ξ襾?lái)說(shuō)已經(jīng)足夠了,但可能會(huì)在 endspiel 或地平線(xiàn)效應(yīng)中出現(xiàn)一些問(wèn)題。在 1 分鐘內(nèi),我什至沒(méi)有嘗試獲勝——可能只是缺乏勤奮。
如果有人喜歡重復(fù)這個(gè)項(xiàng)目,并且屏幕不是同一型號(hào),我認(rèn)為校準(zhǔn)觸摸屏很困難,需要調(diào)整坐標(biāo)變換系數(shù)。稍后我將在更常見(jiàn)和更大的 3.5 英寸觸摸屏上重新制作草圖。
抱歉裝飾不佳 - 這是我的第一個(gè)公共項(xiàng)目。
感謝您的關(guān)注。
更新:2018 年 2 月 6 日:
正如我所承諾的,將草圖更新為 3.5 英寸 MCUFRIEND 觸摸屏 320x480 像素。添加了新的變種。
更新:2018 年 2 月 25 日:
GUI按鈕說(shuō)明:
開(kāi)始/停止- 開(kāi)始/停止 arduino 思考當(dāng)前步驟和制作步驟,停止不是立即的
白/黑棋子- 顯示現(xiàn)在播放的顏色,可變的
曲線(xiàn)箭頭 - 采取最后一步
10 秒.... - 選擇 arduino 意味著思考時(shí)間,在困難的情況下可能會(huì)超過(guò)兩倍,這是難度級(jí)別,從最簡(jiǎn)單到最難 10 秒 - 30 秒 - 1 分鐘 - 3 分鐘 - 10 分鐘 - 30 分鐘 - 無(wú)限制。困難級(jí)別我的意思是很難等待:)
黑/白迷你棋盤(pán)- 旋轉(zhuǎn)棋盤(pán)
問(wèn)號(hào) - Check Mate search 模式,用于解決國(guó)際象棋問(wèn)題,在此模式下算法只找到將死,在合理的時(shí)間內(nèi) 3-4 步,最多 6-7 步,沒(méi)有時(shí)間限制
Cellule board - 開(kāi)啟模式排列初始位置,打開(kāi)人物列表(按前面解釋過(guò)的棋子可以改變顏色),當(dāng)前人物通過(guò)選擇改變,可以通過(guò)按下單元格放置在板上,如果當(dāng)前人物為空,則單元格被清除盒子。
揚(yáng)聲器- 打開(kāi)聲音或靜音(幾乎)。
在排列位置模式中出現(xiàn)了額外的按鈕:
USB(FEN) - 從 USB 端口以 FEN 格式加載位置
開(kāi)始棋位- 開(kāi)始新的游戲
空板位置- 安排自定義位置
Running man - 從第一步快速重放位置,可能會(huì)停止
方形箭頭- 將當(dāng)前游戲保存在 EEPROM(arduino 的非易失性存儲(chǔ)器)中
箭頭到正方形 -從 EEPROM 加載游戲(之前保存)
關(guān)于如何玩 - 只需拖放圖形正確的顏色,非法步驟將不會(huì)做。使易位在易位后將國(guó)王移動(dòng)到最后一個(gè)位置。
更新:2018 年 3 月 9 日:
添加了 Arduino DUE 變體 320x480。
Arduino Mega Chess on DUE
使用 MCUFRIEND 3.5 英寸觸摸屏 ILI9486 和 Bodmer TFT_HX8357_Due 庫(kù)
https://github.com/Bodmer/TFT_HX8357_Due
修改為支持 ILI9486。帶有 URTouch 庫(kù)的觸摸屏 XPT2046。
EEPROM 被 DueFlashStorage 取代
https://github.com/sebnil/DueFlashStorage
添加了一些改進(jìn) - GUI(由于缺少readPixel功能而替換了更簡(jiǎn)單的離散移動(dòng)),添加了 3 秒模式,因?yàn)榕c Arduino 相比,算法的加速度大約是 5 倍,并且求解樹(shù)的最大深度增加了。
蜂鳴器也移至針腳 12。
更新:2018 年 3 月 15 日:
要在等待 5 秒后從棋盤(pán)的另一側(cè)添加自動(dòng)答案(可能會(huì)向后移動(dòng)),請(qǐng)?jiān)?loop() 過(guò)程中添加此粗體字符串
環(huán)形() {
gui();
if (!solving && rotate==cur_step%2 && millis()-lasttouch>5000) {solving=true; 最后觸摸=毫秒();}
如果(解決){
更新:2018 年 3 月 16 日:
草圖更新到 1.1 版。
更改日志:
等待 5 秒后從棋盤(pán)的另一側(cè)自動(dòng)播放。
算法發(fā)揮不太明確 - 增加了選擇具有相同估計(jì)的不同移動(dòng)的概率,而不是單個(gè)確定移動(dòng)。
一些小的改進(jìn)。
一些新的故障:)
現(xiàn)在正在開(kāi)發(fā)具有 3 按鈕界面且無(wú)觸摸屏的國(guó)際象棋項(xiàng)目,著眼于在 M5Stack 上使用。
更新:2018 年 3 月 22 日:
草圖更新到 1.2 版。
更改日志:
僅在首次亮相時(shí)自動(dòng)選擇不同動(dòng)作的概率 - 改變首次亮相而不是削弱主要游戲
更新:2018 年 3 月 30 日:
現(xiàn)在正在處理新項(xiàng)目 - 適應(yīng) M5Stack 的國(guó)際象棋。缺少觸摸屏、3 個(gè)按鈕界面、2 英寸屏幕太小...... GUI 全新,提供允許移動(dòng)以選擇 3 個(gè)按鈕。圖形藝術(shù)也更新了,根據(jù)小屏幕。
測(cè)試顯示,與 arduino 相比,速度提高了大約 15 倍。進(jìn)行中...
M5Stack 上的 Arduino 大型國(guó)際象棋
更新:2018 年 4 月 2 日:
草圖更新到 1.3 版。
更改日志:
穩(wěn)定性改進(jìn),評(píng)估功能調(diào)整
更新:2018 年 4 月 10 日:
用于 M5Stack 的 Arduino 大型國(guó)際象棋
更新: 2018年 9 月25 日:
為了項(xiàng)目的完整性,我嘗試制作 3D 打印案例。作為移動(dòng)電源,它將使用一節(jié)18650鋰電池,并由5v輸出DC-DC適配器/充電器供電,工作時(shí)間可能超過(guò)10小時(shí)。外殼尺寸也足以容納 3.5 英寸觸摸屏,至少我有一個(gè)版本,只有外殼蓋需要更換。
2.8英寸觸摸屏外殼
打印后,2.8 屏幕的觸摸屏窗口大小似乎有點(diǎn)額外,并且與我的 3.5 MCUFfriend 觸摸屏相對(duì)應(yīng),如圖所示。電源仍然來(lái)自 USB,因?yàn)槌潆娖髂K正在開(kāi)發(fā)中。
內(nèi)有 3.5 英寸觸摸屏的外殼
更新:2019 年 2 月 21 日:
添加了新項(xiàng)目 ESP32 國(guó)際象棋引擎
ESP32 國(guó)際象棋引擎在 Elometer 上測(cè)試
將來(lái)可能會(huì)與 Arduino Mega 國(guó)際象棋 GUI 結(jié)合使用。
更新: 2019 年3 月 12 日:
此外,我嘗試將 esp32 的國(guó)際象棋引擎用于 arduino mega。最后,它適合有限的 arduino 內(nèi)存,每個(gè)位置 2 分鐘顯示 1995 ELO 評(píng)級(jí)。結(jié)合 GUI 會(huì)減慢一點(diǎn),但不會(huì)太多,大約 10-30%,計(jì)算速度約為 500-1000 nps。
WAC.009 測(cè)試
更新: 2019 年3 月 21 日:
Arduino Mega Chess II 正在進(jìn)行中。令我驚訝的是,在 Elometer.net 上以最快的模式測(cè)試 1926 ELO raiting - 每個(gè)位置 5 秒 - 與我自己的可能性相去甚遠(yuǎn)。它位于 16 Mhz 8 位芯片上,具有 8K 操作內(nèi)存!
這個(gè)版本有可能自動(dòng)玩自己,如果沒(méi)有找到逃脫將死的方法,algorythm可以放棄。首次亮相模式的播放并非嚴(yán)格確定 - 有一些隨機(jī)變化。仍然沒(méi)有打開(kāi)的書(shū)。
GUI 有 2 種可能的圖形分辨率 - 480x320 和 320x240 像素。Alpha測(cè)試仍在進(jìn)行中...
雙面自動(dòng)播放模式
更新: 2019 年 4月 26 日:
所以,現(xiàn)在我介紹Arduino Mega Chess II
?
- 用Arduino控制伺服電機(jī)的超級(jí)簡(jiǎn)單方法
- Arduino超級(jí)國(guó)際象棋II
- 使用Arduino的國(guó)際象棋鬧鐘
- 國(guó)際象棋機(jī)器人開(kāi)源分享
- 一個(gè)簡(jiǎn)單的國(guó)際象棋時(shí)鐘
- 用于M5Stack的Arduino大型國(guó)際象棋
- 基于atmega328pb au USB arduino超級(jí)棒
- arduino超級(jí)無(wú)尾卡丁車(chē)操縱桿
- Arduino Uno國(guó)內(nèi)改版電路原理圖下載 0次下載
- 到底什么是什么是算力?算力對(duì)人工智能到底有什么用 14次下載
- 如何使用Python編寫(xiě)一個(gè)國(guó)際象棋AI程序 15次下載
- 源碼-象棋 6次下載
- 象棋演播室下載
- 橘中秘棋譜下載-橘中秘象棋譜
- 中國(guó)象棋大師 2006
- 超級(jí)電容是什么?超級(jí)電容的性能特性 1496次閱讀
- 人機(jī)組隊(duì)概念的戰(zhàn)場(chǎng)應(yīng)用 538次閱讀
- ChatGPT橫空出世 人工智能進(jìn)入大模型時(shí)代 1542次閱讀
- 如何從網(wǎng)頁(yè)控制arduino? 4186次閱讀
- 基于GD32F103系列處理器設(shè)計(jì)的象棋人機(jī)對(duì)弈程序 3352次閱讀
- 超級(jí)電容電池原理_超級(jí)電容電池續(xù)航時(shí)間 9014次閱讀
- 超級(jí)電容電池原理_超級(jí)電容電池的弊端 1.3w次閱讀
- 人工智能中計(jì)算機(jī)視覺(jué)技術(shù)的歷史和現(xiàn)狀及未來(lái)你了解多少 9129次閱讀
- AlphaZero如何快速學(xué)習(xí)每個(gè)游戲,如何從隨機(jī)對(duì)弈開(kāi)始訓(xùn)練 7158次閱讀
- 新時(shí)代下的人工智能+圍棋會(huì)碰撞出什么樣的火花? 1248次閱讀
- 人工智能的進(jìn)步到底會(huì)帶我們走向怎樣的世界? 3615次閱讀
- 有了OpenAI Five,它已經(jīng)可以在比賽中擊敗業(yè)余玩家 3415次閱讀
- AI自學(xué)就可用更少步數(shù)復(fù)原任意3階魔方 8439次閱讀
- 人類(lèi)開(kāi)始進(jìn)入智能時(shí)代,一年來(lái)都發(fā)生了哪些令人激動(dòng)的事情? 6090次閱讀
- arduino是什么以及arduino能干什么 4.5w次閱讀
下載排行
本周
- 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)論