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




粵公網(wǎng)安備44030002007346號(hào)