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