用 ESP8266 讓傳統指針鐘變身「WiFi 校時智慧鐘」的實作筆記

本篇文章更新時間:2026/02/10
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


用微控制器重塑傳統指針鐘:讀《ESP8266 WiFi Analog Clock》專案後的三個重點啟發

編輯前言:這篇筆記整理自 GitHub 專案 ESP8266 WiFi Analog Clock。作者把一個 3.88 美元的指針鐘改造成「自動連網校時」的智慧鐘,整個過程從硬體到軟體都相當具啟發性。

核心觀點 (Key Takeaways)

  • 利用 ESP8266 連上 NTP 伺服器,讓傳統石英鐘自動對時,而且每 15 分鐘同步一次。
  • 透過修改石英鐘內部 Lavet motor 線圈,讓鐘的步進動作完全由 ESP8266 控制。
  • 使用 Microchip 47L04 EERAM 儲存指針位置,解決指針鐘「無回饋機制」導致斷電後無法知道指針位置的問題。

深入解析

這個專案最有趣的地方,在於它不是打造一個新時鐘,而是「接管」傳統石英鐘的核心——步進馬達,並讓 ESP8266 以網路時間取代原本的震盪器當作時基。

作者一開始就說明:

十次每秒比對時鐘指針位置與 NTP 實際時間,若指針落後就快速推進;若指針領先則只能等待。

這句話點出了指針鐘最棘手的限制:無法倒轉。因此程式的邏輯並不是以「絕對控制」為前提,而是以「補償誤差」為核心思維。

  • 硬體拆解:接管步進線圈
    作者使用 Walmart 的一般石英鐘,打開外殼後,將 Lavet motor 與內建震盪電路斷開,再拉出線圈的兩條極細導線。這些導線非常脆弱,操作時要小心。ESP8266 之後會用正負交替的脈衝來推動秒針前進。

  • 軟體調整:脈衝控制與時間回報
    在程式中,PULSETIME 決定脈衝時間長度,不同時鐘的機構反應不同,所以需要自行微調。作者的最佳值是 30ms。

    更關鍵的是:為了避免斷電後 ESP8266 忘記指針位置,作者採用 47L04 EERAM——一種 SRAM+EEPROM 的組合,能在每秒更新指針位置,並在下一次啟動時讀回。

    第一次啟動時,ESP8266 還會提供一個簡單的網頁,讓使用者手動告訴系統指針的初始位置。

  • 操作介面:狀態頁與 SVG/Canvas 繪製
    完成後,ESP8266 會提供一個狀態網頁,顯示時鐘目前的時間與狀態,並可以選擇用 SVG、Canvas 或純文字來呈現指針鐘畫面。

筆者心得與啟發

讀完這個專案,我最大的感受是:有時候最具創意的設計,不在於打造一個新裝置,而是重新理解舊物件,並找到讓它「更聰明」的方法。

指針鐘沒有位置回饋,也不能倒轉,依照一般邏輯似乎不適合與微控制器結合。但作者以 EERAM 解決記憶問題,以補償誤差的邏輯處理同步,讓傳統機械機構與現代網路時間完美結合。

如果你手邊有便宜的石英鐘,這個專案不只是好玩,更能讓你重新認識步進機構的運作方式。若是想實際應用,我會建議:

  • 選擇機構品質好一些的石英鐘,脈衝控制會更穩定。
  • 在改裝線圈時用熱溶膠固定細線,避免折損。
  • 若想加入更多功能(例如報時、環境感測),ESP8266 的擴展性完全足夠。

把一個廉價時鐘改造成「永遠準時的 IoT 指針鐘」,這種把舊物件重新賦能的專案,永遠都值得花時間研究。


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[///////////____36%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon