資料介紹
描述
項目原因
在我訪問和生活過的許多國家,公園里都有帶棋盤的桌子。游客們習慣在那兒下棋,經常和不知名的對手下棋。
作為一個國際象棋愛好者,我第一次看到幾個棋手享受戶外新鮮空氣,公園里陽光明媚的一天,以及一場精彩的國際象棋挑戰時,給我留下了深刻的印象。
在您看到兩名棋手在下棋的地方,您還會看到一小群國際象棋愛好者跟隨比賽并對棋步進行評論。
與偶然的對手下棋
如今,由于社會疏遠規則,這種做法不再可能或非常困難。這就是我決定考慮如何找到一種低成本且可靠的方法來解決這個問題的原因。并誕生了“遠方典當”項目。
Playing in the Post-COVID Era
為了保持與保持社交距離的對手在任何地方下棋成為可能,每個玩家都將使用單獨的棋盤。
每個棋盤格都有一個傳感器,能夠檢測棋子的拾取和放置移動,以跟蹤兩個玩家的棋子;當一個玩家在他的棋盤上移動時,同樣的移動被發送到對手的棋盤,這將使棋子在正確的位置上移動并形成自己的棋子。
以此類推,直到游戲結束。
解決方法
該解決方案基于兩個 MKR WiFi 1010 和一些額外的硬件。
注意:由于難以在合理的時間內找到我計劃在原始設計中使用的霍爾效應傳感器,我使用 Omron 的超小型微動開關更改了棋子移動檢測。棋盤格閱讀方法保持不變。
(1) 從原型到生產——根據整個系統的設計,潛在的產品版本將使用霍爾效應傳感器進行棋子檢測。這具有在不影響設計的情況下簡化硬件設計的優點。該方法的工件檢測可以在工件底座內部使用小磁鐵(用直徑3毫米的釹測試,效果滿意)或直接使用金屬工件進行檢測。
The Game Workflow
- 當棋子在游戲過程中被放置或移除時,它會被檢測到。
- Arduino MKR1010 檢測所有棋子的位置并驗證移動或生成錯誤消息并且不接受移動。
- RGB LED 以不同顏色顯示游戲狀態,例如等待移動(綠色)、等待對手移動(紅色)、系統啟動(藍色)、鏈接啟用(青色)等。
- 游戲遵循標準規則。當棋子被移動時(如果不是錯誤的移動),玩家有義務使用該棋子進行移動。
- Arduino MKR1010 驗證移動并更新兩個玩家的顯示。
- Arduino MKR1010 考慮到兩個玩家的狀態以及每一步棋子在棋盤上的位置;它還可以作為經典國際象棋計時器中通常存在的每一步和其他功能的游戲驗證器。
- 兩個 Arduino MKR1010 通過點對點 WiFi 連接連接在一起:兩個設備之一設置為 AP(接入點),而另一個可以連接到它。
IMPORTANT NOTE: THE OFFICIAL PROTOTYPE TEST WILL BE ON THE SECOND MID OF THE MONTH OF SEPTEMBER 2020 IN A SMALL TOURNAMENT OUTDOOR – RESPECTING THE SOCIAL DISTANCE.
THE EVENT WILL BE DOCUMENTED AND FILMED.
TO READ MORE IN-DEPTH THE STORY BEHIND THIS PROJECT, UPDATES AND MORE HOW-TO MATERIAL, AS WELL AS THE LAST UPDATES, FOLLOW THE DETAILS ON THE PROJECT WEBSITE
WE-ARE-BORG.COM
棋盤廣場
拿到微動開關后,根據上面的草圖,我用Fusion360設計了游戲板的方形模塊,嵌入了微動開關,如下圖所示:
然后用 Elegoo Saturn 3D 打印機打印出正方形。
在下圖中,內部帶有微動開關的電路板的第一個原型。
制作兩個原型棋盤
兩個棋盤的原型是3D打印128個方格,涂漆,然后用氰基丙烯酸酯膠粘在一起。這部分工作需要大量的時間,對Elegoo Saturn LCD 3D打印機以及大約2、5L的感光樹脂進行了強大的性能測試。
上面的圖片顯示了我是如何將他畫的正方形組裝和粘合在一起的。
為了制作微動開關的連接網格,我要感謝Element14 社區的朋友Baldengineer ,他發表了一篇關于如何使用 Arduino 管理開關網格的精彩文章(來源:Arduino Keyboard Matrix Code)。
(2) 從原型到生產- 使用上述方法制作棋盤非常適合原型制作,但對于生產來說并不可靠。如果使用 3D 打印機進行原型制作留下了很多可能來修改設計、進行實驗并找到解決方案的最佳方法,如果這款游戲將投入生產,那么應該選擇更高效、更快速的方式來創建棋盤。實際上,大多數取決于單元的數量;對于市場測試預生產,使棋盤激光切割可能是一個不錯的選擇。我已經評估了如何采用一種有效的方法來創建具有兩種顏色之一的棋盤底,并帶有用于替代顏色方塊的插圖。
制作棋子
下面是用 Elegoo Saturn LCD 打印機 3D 打印并上色的棋子的第一個系列(兩個對手)的畫廊。
這些作品來自Thingiverse ,感謝作者FunFunBoy ,他在 CC 許可下許可了 STL 文件。
硬件游戲控制器
組裝硬件非常簡單。考慮到 Arduino MKR1010 的外形尺寸,我做了一個小型定制屏蔽來承載 Oled 128x64 I2C 顯示器和用于警報的 RGB LED。
鏈接到 I2C Oled 顯示器我還連接了兩個基于 8 針雙向 GPIO 擴展器PCF8574的小板(固定在棋盤的底部) 。
我已經使用了兩個預制板來節省時間,而不是使用 IC 組件制作(簡單)板,因為我擔心總線協議的數據傳輸中的潛在問題。
在繼續制作 MKR1010 擴展板之前,我測試了兩個 GPIO 擴展器,但沒有任何效果:(不僅是當我試圖更改 I2C 地址的板跳線設置時,整個 Arduino 板都短路了。
Weird!
測試表明,這些板只有在設置默認 I2C 地址時才能正常工作,對應于所有三個連接到 GND 的跳線。嘗試任何其他配置會使微控制器短路。所以我決定犧牲其中一塊板子,清洗電路(幸運的是,它只是雙面PCB),看看電線的路徑。結果:無論地址跳線設置如何,電路始終將所有三個引腳連接到 GND。如果其中一個跳線設置為 VCC,則會產生短路。
我想這些在亞馬遜上出售的“原裝”板只是假的;誰克隆了這個非常簡單的電路完全失敗了。很難找到這個問題,因為每塊板在測試時都可以正常工作;只有在更改 I2C 地址時才會出現 I2C 問題。
已經將電路板放在我的桌子上,而且時間很少,我破解了其中一些,破壞了設置跳線引腳之間的 PCB 軌道。板子終于可以使用任何地址配置了!
在無法對其進行測試之前,我一直非常關注最后一個潛在問題。如上圖所示組裝屏蔽后,我不確定 I2C 總線信號的質量是否足夠——考慮到將兩個 GPIO 擴展器連接到另一個 I2C 組件的 20 厘米電線——所以我用示波器檢查了;如下圖所示,結果非常令人滿意,也好于預期。
關于軟件的簡短說明
雖然構建硬件非常容易,但軟件的邏輯幾乎是復雜的。它分為四個主要部分:
- OLED顯示屏;顯示重要消息、最后玩家移動和游戲歷史。它是一個消息專用類,包括管理顯示游戲狀態的 RGB LED 的方法。
- 棋局控制邏輯;它是一個專門的類,用于跟蹤移動、驗證移動并檢查棋子的正確位置。
- WiFi連接;保持打開兩個板之間的連接,并通過瀏覽器將當前游戲公開給連接到 MKR1010 接入點的任何設備。
- 棋盤掃描儀;不斷更新程序邏輯使用的所有方塊的物理狀態。
然后,可以通過 MKR1010 (Serial1) 的 Tx/Rx UART 引腳檢查為開發和測試創建的第三部分。
該軟件的當前運行版本以及將在未來幾周內發布的更新可在 GitHub 存儲庫上的開源 LGPL 3.0 許可下獲得。
使用 Doxygen 創建的軟件的完整文檔,以及與項目相關的更多材料,可在官方項目頁面we-are-borg.com上找到
從原型到生產
我在上面的故事中將這個項目轉移到商業產品的假設中必須改變或審查的方面發表了一些評論:我最大的擔憂與棋盤和棋子部分有關。我已經回顧了整個項目工作流程,并做了更多的考慮。
Hardware Controller
在我看來,Arduino MKR1010 絕對是解決方案:小尺寸和低功耗。它可以由傳統電池供電(不鼓勵),但它可以很好地與不可更換的鋰離子聚合物電池一起使用傳統的 USB 充電器自動充電,以及在使用外部 USB 電池組充電時供電。據我所知,如果硬件沒有產生輸出信號,電池移動電源(大多數)會停止充電,因為它們是為智能手機充電而設計的。我已經通過簡單的代碼修改修改了這種潛在的問題:在未使用的引腳上生成的脈沖(這里我們有幾個)使外部電池充電器保持活動狀態。
如上圖所示,為了使 Arduino MKR1010 和防護罩緊湊且可在外殼內使用,我已經從 Arduino 上切下了底部的面包板引腳。可以通過制作定制 PCB 來更好地分配組件,以及使控制器具有更小的外形,在該 PCB 上提供插頭(或直接焊接)MKR 1010,而無需引腳連接器陣列。PCB 將同時是具有適當設計外殼的小型 Oled 顯示器的電路和支架。
關于 Oled 顯示器:我擔心這么小的設備并不是這種實施的最佳解決方案,大多數情況下都是為戶外使用而設計的。相反,看到顯示就位——以及使用不同字體大小和樣式輕松管理它的可能性——我發現該解決方案是正確的選擇。
關于 I2C GPIO 端口擴展器:此外,在這種情況下,應該設計一個小型專用 PCB(帶有幾個低調連接器)來代替我用來制作原型的預制板。
Redesigning the Chessboard
毫無疑問,棋盤面應該重新設計。探索幾種解決方案,我看到了兩種可能的選擇:
1. 小型預生產(約50件)
對于這種生產,仍然可以使用微動開關解決方案或 - 更好但更昂貴 - 霍爾效應 IC。棋盤的底部(一個帶有傳感器孔的矩形)可以很容易地從 3 毫米的亞克力板上用激光切割下來,上面粘有 PVC 膠紙,上面印有雙色棋子。棋盤的電子底面設計幾乎保持不變。
2. 平均和批量生產(100 件以上)
鍵盤控制器 I2C 將取代 GPIO 端口擴展器。它可以使用 I2C IC 保持當前的軟件設計,其優點是大部分按鍵工作由 IC 本身完成,而不是 Arduino 控制器。
在這種情況下,兩層觸摸鍵盤將取代傳感器,但應開發定制設計以及構建物理鍵盤。
- 無人值班變電站遠方監控中心設計技術規程 0次下載
- 開源網絡協議分析器WireShark軟件下載 15次下載
- ThinkPHP 6.0完全開發手冊資源下載 13次下載
- 開源課程行動倡議及科學導論綜述 6次下載
- 電力系統遠方程序化操作功能實現 0次下載
- 配電自動化遠方控制終端(FTU)安裝使用說明書 253次下載
- 新型配電自動化遠方終端設計方案
- RTU560遠方終端單元數據手冊電源模塊560PSU40
- RTU560遠方終端單元數據手冊環境數據
- RTU560遠方終端單元數據手冊交流采樣單元56CVT01
- RTU560遠方終端單元數據手冊開關量輸入模塊23BE23
- RTU560遠方終端單元數據手冊總線接口模塊560BCU01
- 基于數字信號處理的遠方保護設備
- 電力系統遠方保護設備的性能及試驗方法--模擬比較系統
- 遠方就地判別裝置運行規程
- 利用開源軟件的最佳實踐 464次閱讀
- 推薦GitHub上與嵌入式相關的高星開源項目 967次閱讀
- 前沿開源技術領域的開源大數據一一解讀 1005次閱讀
- 構建開源芯片生態需要什么要的 4327次閱讀
- 2020年開源的六大發展趨勢 4257次閱讀
- 開源過程中的5件注意事項 3548次閱讀
- 開源與云的一些爭論 3200次閱讀
- 物聯網十大經典開源操作系統 1w次閱讀
- 全年開源項目的盤點和總結 3231次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細分析 7186次閱讀
- 開源存儲的六大優勢 3975次閱讀
- 對技術的執著和美的追求變成了程序員的“詩和遠方” 1962次閱讀
- FAST:基于FPGA的SDN交換機開源項目(一) 4531次閱讀
- 11個機器學習開源項目 2767次閱讀
- 開源硬件究竟有多“Open”?看完這個你就清楚了 6939次閱讀
下載排行
本周
- 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次下載 | 免費
評論
查看更多