服務熱線
下棋越多,越容易遇到一個現實問題:想要一臺“功能夠用、規則可調”的實體棋鐘,但價格并不友好。這個項目的思路很直接——自己做一臺開源棋鐘:時間可任意設置;支持每步增量(increment);還能在指定回合后追加“加時”(bonus),并切換到另一套增量規則(典型錦標賽節奏如開局 90 分鐘、到第 40 回合后加時等)。項目還提出后續擴展方向:記錄每回合用時,并通過藍牙導出到電腦做時間管理分析。
它能做什么?
任意設置對局時間與增量(每走一步追加時間)。
支持“回合觸發加時”:到指定回合后加 bonus,并可切換到另一段 increment(例如前半段無增量、后半段 30 秒增量)。
支持亮度調節與電量查看,并提供暫停、重置等對局控制。
硬件與材料
項目給出了完整清單,這里按“做成一臺成品棋鐘”所需的關鍵項歸納(具體數量與規格項目中都有列明):
顯示:TM1637 四位數碼管模塊 ×2
主控:ESP32-WROOM-32
供電:兩節 18650(帶焊片)+ TP4056(帶保護、Type-C)+ 3V→5V 升壓模塊
結構:PLA/PETG 打印件 + 10×3mm 圓形磁鐵(用于回合切換結構)+ 木螺絲等
擴展板:洞洞板(約 5×7cm 單面足夠)+ 2.54mm 排針/排母切分成不同長度
分立器件:多組電阻、IN4001 二極管、NPN 三極管(如 C945)、P 溝道 MOSFET(示例 NDP6020P)等
3D 打印要點
項目提供了可直接用于打印的 .3mf 配置文件;如果不用 .3mf,也提供 .step 文件與打印建議。整體推薦參數:3 圈墻(3 wall loops)+ 5% 填充;主體與底殼建議加 brim/“mouse ears” 防翹邊;主體支撐可做得很少。
回合切換件(Turn Switch / Teeter_Totter)
在腔體封閉前暫停打印,每個槽位放入 2 顆磁鐵疊放。
項目建議兩側用相反極性,方便后續裝配。
示例暫停高度:20.8mm(約第 104 層),并建議側放打印。
主體(Body)
同樣在磁鐵孔還能觸達時暫停,每個孔放入 2 顆磁鐵疊放。
示例暫停高度:33.4mm(約第 167 層),主體建議“屏幕面朝下”打印,背面少量支撐。
雙色按鍵:沒有多材料系統也能實現
不移動按鍵模型位置,先刪除按鍵本體,只打印符號并留在平臺上;
撤銷刪除、改為刪除符號,換耗材再打印按鍵本體,讓本體包住符號;
項目提示:第一次刪除后不要保存工程;另有無符號版本(Taste_2)便于自制圖標。
固件燒錄
項目采用 Arduino IDE 作為“最省事”的入門方式:
USB 連接 ESP32,先在設備管理器確認串口識別(示例為 CP210x USB-to-UART,記住 COM 號)。
Arduino IDE 中添加 ESP32 板卡索引,并在 Boards Manager 安裝 Espressif 的 esp32 包。
板型選擇 ESP32 Dev Module。
安裝顯示庫:在庫管理器搜索 TM1637,安裝 Avishay Orpaz 的版本。
上傳代碼完成燒錄。
常見排錯點項目也寫得很明確:缺驅動、USB 線只有供電、IDE 端口選錯等。
電路與焊接
這套棋鐘的連線并非把所有線直接焊到 ESP32 上,而是做了一塊“擴展板”把電源、顯示、按鍵等匯總,裝配更規整。
連接器切分(40Pin 排針/排母按長度掰斷)
給 ESP32 的 20Pin 排母 ×2
給顯示的 6Pin 排母 ×1、4Pin 排針 ×2
給按鍵的 3Pin 排母 ×1、5Pin 排針 ×1
給充電板/升壓等的 2Pin、單針、以及用于把所有連接器插到擴展板上的 12Pin 等(項目逐條列了長度清單)
電池與充電板
兩節 18650 需先確認電壓一致(不一致先充電均衡)。
按項目方式把兩電池并聯(+ 對 +、- 對 -),并接入 TP4056 的 B+/B-;再從 OUT+/OUT- 引出到連接器。
電池上墊泡棉,用電池夾固定,充電板滑入到位。
兩塊顯示屏組合
模塊文字朝上安裝;兩塊屏幕并排焊 4Pin 接頭;GND 與 5V 用短線互連。
再制作 6Pin 顯示連接線束:一端 GND、另一端 5V,中間為兩塊屏幕的 DIO/CLK;DIO/CLK 順序后續可在代碼中對調。
最后對連接處做絕緣包裹。
按鍵線束
按項目示意圖連線:5PIN 為 5Pin 排針端、3PIN 為 3Pin 排母端。
關鍵提示:接到 5PIN 的紅線是 3.3V,放在連接器中間位置。
紅黑主干線約 10cm;按鍵之間短連線約 5cm;不同按鍵信號線長度從左到右逐漸變長(項目建議參考裝配視頻估算)。
擴展板電源邏輯
電池升壓到 5V 供 ESP32 與顯示。
P 溝道 MOSFET 用于切斷升壓模塊與后級,實現關機時幾乎無耗電。
電源鍵觸發 MOSFET 導通;ESP32 再驅動 NPN 形成自保持上電;并能檢測電源鍵長按,執行自斷電。
項目還提示:兩顆 1MΩ 電阻需要貼板平放,因為會壓在升壓模塊下方,需在裝升壓模塊前先焊好。
清理與短路檢查
用 99% 酒精 + 牙刷清理殘留助焊劑(殘留可能引發短路)。
用萬用表檢查連焊短路并修復。
裝配與校準
裝配順序
先裝屏幕,再裝按鍵;接著裝 ESP32 與夾具;最后裝擴展板。
注意事項:不要同時插 USB 和電源線。項目的測試方式是先用 USB 供電、且不接電池完成初測。
按鍵可按個人習慣排列,但電源鍵因接法不同不建議隨意換位。
霍爾傳感器校準
項目說明:芯片、磁鐵、耗材差異會影響讀數,因此需要校準。操作流程:
按住 battery 鍵,再按 settings 進入校準模式;屏幕顯示 “cali”。
按 play 開始校準,將 Teeter_Totter 撥到“全亮屏幕”一側;過程中需要切換一次方向。
校準完成回到 cali 頁面,按 settings 繼續:先顯示當前讀數,再顯示兩側計算閾值。
閾值可用 + / - 調整;退出后會保存,一般無需重復。
確認按鍵映射無誤后,拔掉 USB,再把電池插到擴展板。
開源代碼:https://github.com/curlyman98/ChessClock-ESP32
上手使用
開/關機:長按 power。
未開始對局:直接按 + / - 給雙方加減時間。
點擊 settings 可依次調整:increment、到指定回合后的 bonus、bonus 后的 increment(2)、以及 bonus 回合數(對雙方同時生效)。
若要分別設置雙方時間:長按 settings 進入完整菜單,可分別設置 P1/P2 的 H/m/s,以及 bonus 與 bonus 前后兩段 increment。
電池與亮度:長按 battery 查看電量;按住 battery 的同時用 + / - 調亮度。
對局控制:play 開始/暫停;暫停時按 settings 可重置;若一方超時“旗落”,按 play 可重置棋鐘。
若回合切換不穩定:重新校準或在校準菜單里微調閾值。
總結
如果你既想要“錦標賽規則”那種可分段增量/回合加時的棋鐘,又希望結構、電路、固件都能按自己的習慣持續迭代,這個項目的價值就在于:從 3D 打印到擴展板自保持電源,再到霍爾閾值校準與完整操作菜單,把一臺可用的實體棋鐘流程拆得非常清楚。項目也提到會在后續版本中持續更新,并計劃做配套應用,用于查看用時并導出帶時間戳的棋譜數據,歡迎提交建議與貢獻。
免責聲明:本篇所發布的內容主要經 AI 整理、翻譯國外技術網站與開源社區,版權歸原作者所有,僅用于學習交流。如涉及侵權,請聯系我們刪除或更正。
免責聲明:本文采摘自“硬禾學堂”,本文僅代表作者個人觀點,不代表薩科微及行業觀點,只為轉載與分享,支持保護知識產權,轉載請注明原出處及作者,如有侵權請聯系我們刪除。




粵公網安備44030002007346號