월마트의 3.88달러 아날로그 시계를 ESP8266 기반 Wi-Fi 시계로 변환

2 hours ago 1

  • 저가형 아날로그 쿼츠 시계ESP8266 모듈Arduino 스케치로 제어해 인터넷 시간에 동기화하는 프로젝트
  • NTP 서버에서 15분마다 시간을 받아 정확도를 유지하며, 서머타임 자동 조정 기능을 포함
  • 시계의 Lavet 스테핑 모터 코일을 분리해 ESP8266이 제어할 수 있도록 개조하고, EERAM 칩을 이용해 전원 차단 시에도 시침·분침·초침 위치를 저장
  • 초기 설정 시 ESP8266이 제공하는 웹 페이지 인터페이스를 통해 시계 바늘 위치를 지정하고, 이후에는 상태 페이지에서 SVG 또는 HTML Canvas로 시계 상태를 시각화
  • 저가 하드웨어를 활용해 정확한 네트워크 동기화 시계를 구현할 수 있는 오픈소스 예시로, 임베디드 IoT 제어 기술의 실용적 응용을 보여줌

프로젝트 개요

  • ESP8266 WiFi Analog Clock은 WEMOS D1 Mini ESP8266 모듈과 Arduino 스케치를 사용해 NTP(Network Time Protocol) 서버에서 지역 시간을 자동으로 받아 표시하는 시스템
    • 15분마다 NTP 서버에 재연결해 시계의 정확도를 유지
    • 서머타임(Daylight Saving Time) 자동 조정 기능 포함
  • 프로젝트는 저가형 아날로그 쿼츠 시계를 기반으로 하며, 하드웨어 개조와 소프트웨어 제어를 결합

하드웨어 구성

  • 사용된 시계는 월마트에서 3.88달러에 구입한 아날로그 쿼츠 시계
  • 시계의 쿼츠 무브먼트를 열어 내부 Lavet 스테핑 모터 코일을 쿼츠 오실레이터로부터 분리하고, 각 리드선에 ESP8266 연결용 와이어를 납땜
    • 대부분의 무브먼트는 나사 없이 스냅 방식으로 조립되어 있음
    • 코일의 선은 머리카락보다 가늘어 매우 취급에 주의 필요
  • 완성된 회로는 EERAM IC와 기타 부품을 퍼포보드(perfboard) 위에 구성

소프트웨어 동작

  • AnalogClock.ino 스케치는 ESP8266이 초당 10회 실제 시간과 시계 표시 시간을 비교
    • 시계가 늦으면 초침을 빠르게 이동시켜 동기화
    • 시계가 빠르면 실제 시간이 따라잡을 때까지 대기
  • 초침 이동은 양극성 펄스(bipolar pulse) 를 Lavet 모터 코일에 인가해 이루어짐
    • 모터 특성에 따라 PULSETIME 상수를 조정해야 하며, 실험적으로 30ms가 적합
  • 저가형 시계에는 바늘 위치 피드백이 없어 전원 차단 시 위치 정보가 손실됨
    • 이를 해결하기 위해 Microchip 47L04 Serial EERAM(4Kbit SRAM + EEPROM 백업) 을 사용
    • 시침·분침·초침 위치를 매초 저장하고, 재전원 시 복원

초기 설정 및 웹 인터페이스

  • 스케치 최초 실행 시 ESP8266이 간단한 웹 페이지를 제공해 사용자가 시계 바늘의 초기 위치를 지정
  • 이후 ESP8266은 EERAM에 저장된 데이터를 이용해 바늘 위치를 기억
  • 작동 중에는 상태 페이지(status page) 를 제공하며, 다음 세 가지 표시 모드를 지원
    • SVG 기반 시계판 그래픽 표시
    • HTML Canvas 기반 시계판 표시
    • 텍스트 전용 상태 표시

라이선스 및 기술 정보

  • 프로젝트는 MIT 라이선스로 공개
  • 주요 언어 구성은 C++ 64.1% , C 35.9%
  • GitHub 저장소는 252개의 스타(star)2개의 포크(fork) 를 보유
  • 관련 주제 태그: arduino, esp8266, clock, analog-clock, ntp, hardware-construction

의의

  • 저가형 시계를 Wi-Fi 동기화형 스마트 시계로 전환하는 실용적 예시
  • ESP8266과 Arduino 환경을 활용한 정밀 시간 제어 및 웹 기반 인터페이스 구현 사례
  • IoT 하드웨어 개조 및 펌웨어 동기화 기술을 학습하기 위한 오픈소스 참고 자료

Read Entire Article