電子發(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)>電子資料下載>電子資料>遠方典當(dāng)開源分享

遠方典當(dāng)開源分享

2022-12-14 | zip | 0.58 MB | 次下載 | 免費

資料介紹

描述

項目原因

在我訪問和生活過的許多國家,公園里都有帶棋盤的桌子。游客們習(xí)慣在那兒下棋,經(jīng)常和不知名的對手下棋。

作為一個國際象棋愛好者,我第一次看到幾個棋手享受戶外新鮮空氣,公園里陽光明媚的一天,以及一場精彩的國際象棋挑戰(zhàn)時,給我留下了深刻的印象。

在您看到兩名棋手在下棋的地方,您還會看到一小群國際象棋愛好者跟隨比賽并對棋步進行評論。

與偶然的對手下棋

如今,由于社會疏遠規(guī)則,這種做法不再可能或非常困難。這就是我決定考慮如何找到一種低成本且可靠的方法來解決這個問題的原因。誕生了“遠方典當(dāng)”項目。

Playing in the Post-COVID Era

為了保持與保持社交距離的對手在任何地方下棋成為可能,每個玩家都將使用單獨的棋盤。

每個棋盤格都有一個傳感器,能夠檢測棋子的拾取和放置移動,以跟蹤兩個玩家的棋子;當(dāng)一個玩家在他的棋盤上移動時,同樣的移動被發(fā)送到對手的棋盤,這將使棋子在正確的位置上移動并形成自己的棋子。

以此類推,直到游戲結(jié)束。

解決方法

該解決方案基于兩個 MKR WiFi 1010 和一些額外的硬件。

注意:由于難以在合理的時間內(nèi)找到我計劃在原始設(shè)計中使用的霍爾效應(yīng)傳感器,我使用 Omron 的超小型微動開關(guān)更改了棋子移動檢測。棋盤格閱讀方法保持不變。

(1) 從原型到生產(chǎn)——根據(jù)整個系統(tǒng)的設(shè)計,潛在的產(chǎn)品版本將使用霍爾效應(yīng)傳感器進行棋子檢測。這具有在不影響設(shè)計的情況下簡化硬件設(shè)計的優(yōu)點。該方法的工件檢測可以在工件底座內(nèi)部使用小磁鐵(用直徑3毫米的釹測試,效果滿意)或直接使用金屬工件進行檢測。

The Game Workflow

  • 當(dāng)棋子在游戲過程中被放置或移除時,它會被檢測到。
  • Arduino MKR1010 檢測所有棋子的位置并驗證移動或生成錯誤消息并且不接受移動。
  • RGB LED 以不同顏色顯示游戲狀態(tài),例如等待移動(綠色)、等待對手移動(紅色)、系統(tǒng)啟動(藍色)、鏈接啟用(青色)等。
  • 游戲遵循標(biāo)準(zhǔn)規(guī)則。當(dāng)棋子被移動時(如果不是錯誤的移動),玩家有義務(wù)使用該棋子進行移動。
  • Arduino MKR1010 驗證移動并更新兩個玩家的顯示。
  • Arduino MKR1010 考慮到兩個玩家的狀態(tài)以及每一步棋子在棋盤上的位置;它還可以作為經(jīng)典國際象棋計時器中通常存在的每一步和其他功能的游戲驗證器。
  • 兩個 Arduino MKR1010 通過點對點 WiFi 連接連接在一起:兩個設(shè)備之一設(shè)置為 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

棋盤廣場

poYBAGOYHvmAMy-OAAEL2PcwyCQ94.jpeg
棋盤方模塊引用草圖
?

拿到微動開關(guān)后,根據(jù)上面的草圖,我用Fusion360設(shè)計了游戲板的方形模塊,嵌入了微動開關(guān),如下圖所示:

然后用 Elegoo Saturn 3D 打印機打印出正方形。

?
?
?
poYBAGOYHwaAW4AEAAC0h5yeqOQ835.png
?
1 / 4 ?用于 8x8 方格棋盤的國際象棋游戲板模塊
?

在下圖中,內(nèi)部帶有微動開關(guān)的電路板的第一個原型。

?
?
?
pYYBAGOYH0uACg3IAAsh6K7JR5I861.jpg
?
1 / 8 ?第一個內(nèi)置歐姆龍微動開關(guān)的方形板原型。使用 Elegoo Saturn 4K LCD 3D 打印機打印。
?

制作兩個原型棋盤

?

兩個棋盤的原型是3D打印128個方格,涂漆,然后用氰基丙烯酸酯膠粘在一起。這部分工作需要大量的時間,對Elegoo Saturn LCD 3D打印機以及大約2、5L的感光樹脂進行了強大的性能測試。

?
?
?
poYBAGOYH1OAfYoKAALR9JUlZaw28.jpeg
?
1 / 2
?

上面的圖片顯示了我是如何將他畫的正方形組裝和粘合在一起的。

為了制作微動開關(guān)的連接網(wǎng)格,我要感謝Element14 社區(qū)的朋友Baldengineer ,他發(fā)表了一篇關(guān)于如何使用 Arduino 管理開關(guān)網(wǎng)格的精彩文章(來源:Arduino Keyboard Matrix Code)。

(2) 從原型到生產(chǎn)- 使用上述方法制作棋盤非常適合原型制作,但對于生產(chǎn)來說并不可靠。如果使用 3D 打印機進行原型制作留下了很多可能來修改設(shè)計、進行實驗并找到解決方案的最佳方法,如果這款游戲?qū)⑼度肷a(chǎn),那么應(yīng)該選擇更高效、更快速的方式來創(chuàng)建棋盤。實際上,大多數(shù)取決于單元的數(shù)量;對于市場測試預(yù)生產(chǎn),使棋盤激光切割可能是一個不錯的選擇。我已經(jīng)評估了如何采用一種有效的方法來創(chuàng)建具有兩種顏色之一的棋盤底,并帶有用于替代顏色方塊的插圖。

制作棋子

下面是用 Elegoo Saturn LCD 打印機 3D 打印并上色的棋子的第一個系列(兩個對手)的畫廊。

?
?
?
poYBAGOYH1eADlXeAACLjC84xEA452.jpg
?
1 / 4
?

這些作品來自Thingiverse ,感謝作者FunFunBoy ,他在 CC 許可下許可了 STL 文件。

硬件游戲控制器

組裝硬件非常簡單。考慮到 Arduino MKR1010 的外形尺寸,我做了一個小型定制屏蔽來承載 Oled 128x64 I2C 顯示器和用于警報的 RGB LED。

poYBAGOYH1qAdd5RAACbn8WjV8Q695.jpg
為該項目制造的 MKR1010-shield 的組件
?

鏈接到 I2C Oled 顯示器我還連接了兩個基于 8 針雙向 GPIO 擴展器PCF8574的小板(固定在棋盤的底部)

我已經(jīng)使用了兩個預(yù)制板來節(jié)省時間,而不是使用 IC 組件制作(簡單)板,因為我擔(dān)心總線協(xié)議的數(shù)據(jù)傳輸中的潛在問題。

pYYBAGOYH6SAcbH8AAsF4wuF0gI942.jpg
面包板測試連接到 Arduino MKR1010 的 I2C 組件
?

在繼續(xù)制作 MKR1010 擴展板之前,我測試了兩個 GPIO 擴展器,但沒有任何效果:(不僅是當(dāng)我試圖更改 I2C 地址的板跳線設(shè)置時,整個 Arduino 板都短路了。

Weird!

測試表明,這些板只有在設(shè)置默認 I2C 地址時才能正常工作,對應(yīng)于所有三個連接到 GND 的跳線。嘗試任何其他配置會使微控制器短路。所以我決定犧牲其中一塊板子,清洗電路(幸運的是,它只是雙面PCB),看看電線的路徑。結(jié)果:無論地址跳線設(shè)置如何,電路始終將所有三個引腳連接到 GND。如果其中一個跳線設(shè)置為 VCC,則會產(chǎn)生短路。

pYYBAGOYH9SAT0mqAAlWomx3IXQ476.jpg
手工制作的 I2C GPIO 擴展板新版本。
?

我想這些在亞馬遜上出售的“原裝”板只是假的;誰克隆了這個非常簡單的電路完全失敗了。很難找到這個問題,因為每塊板在測試時都可以正常工作;只有在更改 I2C 地址時才會出現(xiàn) I2C 問題。

已經(jīng)將電路板放在我的桌子上,而且時間很少,我破解了其中一些,破壞了設(shè)置跳線引腳之間的 PCB 軌道。板子終于可以使用任何地址配置了!

poYBAGOYH9uAOP74AACZCmp_Eh0750.jpg
兩個 Arduino MKR1010 已組裝好防護罩,并且 GPIO 的行/列連接器(黃色)在安裝在棋盤上之前會擴展。
?

在無法對其進行測試之前,我一直非常關(guān)注最后一個潛在問題。如上圖所示組裝屏蔽后,我不確定 I2C 總線信號的質(zhì)量是否足夠——考慮到將兩個 GPIO 擴展器連接到另一個 I2C 組件的 20 厘米電線——所以我用示波器檢查了;如下圖所示,結(jié)果非常令人滿意,也好于預(yù)期。

?
?
?
poYBAGOYH92AfEXkAACOlOSygQ8517.bmp
?
1 / 6 ? I2C 總線信號(SCL 黃色、SDA 藍色)質(zhì)量和穩(wěn)定性測試
?

關(guān)于軟件的簡短說明

雖然構(gòu)建硬件非常容易,但軟件的邏輯幾乎是復(fù)雜的。它分為四個主要部分:

  • OLED顯示屏;顯示重要消息、最后玩家移動和游戲歷史。它是一個消息專用類,包括管理顯示游戲狀態(tài)的 RGB LED 的方法。
  • 棋局控制邏輯;它是一個專門的類,用于跟蹤移動、驗證移動并檢查棋子的正確位置。
  • WiFi連接;保持打開兩個板之間的連接,并通過瀏覽器將當(dāng)前游戲公開給連接到 MKR1010 接入點的任何設(shè)備。
  • 棋盤掃描儀;不斷更新程序邏輯使用的所有方塊的物理狀態(tài)。

然后,可以通過 MKR1010 (Serial1) 的 Tx/Rx UART 引腳檢查為開發(fā)和測試創(chuàng)建的第三部分。

該軟件的當(dāng)前運行版本以及將在未來幾周內(nèi)發(fā)布的更新可在 GitHub 存儲庫上的開源 LGPL 3.0 許可下獲得。

使用 Doxygen 創(chuàng)建的軟件的完整文檔,以及與項目相關(guān)的更多材料,可在官方項目頁面we-are-borg.com上找到

從原型到生產(chǎn)

我在上面的故事中將這個項目轉(zhuǎn)移到商業(yè)產(chǎn)品的假設(shè)中必須改變或?qū)彶榈姆矫姘l(fā)表了一些評論:我最大的擔(dān)憂與棋盤和棋子部分有關(guān)。我已經(jīng)回顧了整個項目工作流程,并做了更多的考慮。

Hardware Controller

在我看來,Arduino MKR1010 絕對是解決方案:小尺寸和低功耗。它可以由傳統(tǒng)電池供電(不鼓勵),但它可以很好地與不可更換的鋰離子聚合物電池一起使用傳統(tǒng)的 USB 充電器自動充電,以及在使用外部 USB 電池組充電時供電。據(jù)我所知,如果硬件沒有產(chǎn)生輸出信號,電池移動電源(大多數(shù))會停止充電,因為它們是為智能手機充電而設(shè)計的。我已經(jīng)通過簡單的代碼修改修改了這種潛在的問題:在未使用的引腳上生成的脈沖(這里我們有幾個)使外部電池充電器保持活動狀態(tài)。

pYYBAGOYIA-AAQS9AAmvwupFjU0658.jpg
插入棋盤游戲控制器外殼的 Arduino MKR1010 的底視圖。底部引腳已被切割,使控制器易于管理并安裝在定制設(shè)計的外殼中。
?

如上圖所示,為了使 Arduino MKR1010 和防護罩緊湊且可在外殼內(nèi)使用,我已經(jīng)從 Arduino 上切下了底部的面包板引腳。可以通過制作定制 PCB 來更好地分配組件,以及使控制器具有更小的外形,在該 PCB 上提供插頭(或直接焊接)MKR 1010,而無需引腳連接器陣列。PCB 將同時是具有適當(dāng)設(shè)計外殼的小型 Oled 顯示器的電路和支架。

關(guān)于 Oled 顯示器:我擔(dān)心這么小的設(shè)備并不是這種實施的最佳解決方案,大多數(shù)情況下都是為戶外使用而設(shè)計的。相反,看到顯示就位——以及使用不同字體大小和樣式輕松管理它的可能性——我發(fā)現(xiàn)該解決方案是正確的選擇。

pYYBAGOYID-AXD7FAAgbM-xanpw324.jpg
128x64 Oled 顯示屏在棋盤游戲控制器的頂視圖上的高可見性。
?

關(guān)于 I2C GPIO 端口擴展器:此外,在這種情況下,應(yīng)該設(shè)計一個小型專用 PCB(帶有幾個低調(diào)連接器)來代替我用來制作原型的預(yù)制板。

Redesigning the Chessboard

毫無疑問,棋盤面應(yīng)該重新設(shè)計。探索幾種解決方案,我看到了兩種可能的選擇:

1. 小型預(yù)生產(chǎn)(約50件)

對于這種生產(chǎn),仍然可以使用微動開關(guān)解決方案或 - 更好但更昂貴 - 霍爾效應(yīng) IC。棋盤的底部(一個帶有傳感器孔的矩形)可以很容易地從 3 毫米的亞克力板上用激光切割下來,上面粘有 PVC 膠紙,上面印有雙色棋子。棋盤的電子底面設(shè)計幾乎保持不變。

2. 平均和批量生產(chǎn)(100 件以上)

鍵盤控制器 I2C 將取代 GPIO 端口擴展器。它可以使用 I2C IC 保持當(dāng)前的軟件設(shè)計,其優(yōu)點是大部分按鍵工作由 IC 本身完成,而不是 Arduino 控制器。

在這種情況下,兩層觸摸鍵盤將取代傳感器,但應(yīng)開發(fā)定制設(shè)計以及構(gòu)建物理鍵盤。


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

評論

查看更多

下載排行

本周

  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次下載  |  免費