Arduino Nano 33 IoT + ST7567 128x64 LCD
WiFi NTP 시계 (양력 + 음력)
128x64 픽셀을 상/하 2분할하여 정보와 시각을 분리 표시합니다.
6x13B 볼드 폰트
IP 주소 / 양력 날짜+요일 / 음력 날짜
timB24 대형 숫자
12시간 AM/PM + HH:MM
drawBox 3x3 x2
600ms ON / 400ms OFF
고정 위치 (시분 안 흔들림)
Arduino Nano 33 IoT의 내장 WiFi(NINA W102)로 NTP 시간 동기화, SW SPI로 LCD 구동.
| 기능 | 구현 | 비고 |
|---|---|---|
| NTP 시간 동기화 | pool.ntp.org, KST (UTC+9) | forceUpdate 즉시 동기화 |
| WiFi 자동재연결 | 30초 주기, 최대 10회 시도 | disconnect → begin |
| 12시간 포맷 | AM/PM + 1~12 | 9x15B 폰트 |
| 양력 날짜 | YYYY.MM.DD (DAY) | 3자 요일 영문 |
| 음력 날짜 | YYYY.MM.DD | 2024~2028 근사 테이블 |
| 콜론 깜빡임 | drawBox 3x3, 600/400ms | 시/분 고정 위치 |
| 백라이트 | D8 LOW = ON | Active LOW 제어 |
U8g2 라이브러리 기반, Full Buffer 모드. 음력 변환은 구정(Lunar New Year) 기준 근사 알고리즘.
| 라이브러리 | 용도 |
|---|---|
| WiFiNINA | WiFi 연결 관리 |
| NTPClient | NTP 시간 동기화 |
| U8g2lib | LCD 그래픽 드라이버 |
U8G2_ST7567_OS12864_F_4W_SW_SPI u8g2(U8G2_R2, 4, 3, 6, 5, 7);
// R2 = 180° rotation, clock=D4, data=D3, cs=D6, dc=D5, reset=D7
| 용도 | 폰트 | 크기 |
|---|---|---|
| 상단 3줄 (IP/날짜/음력) | u8g2_font_6x13B_tr | 6x13 Bold |
| AM/PM | u8g2_font_9x15B_tr | 9x15 Bold |
| 시:분 | u8g2_font_timB24_tn | Times Bold 24px |
전체 소스코드 및 회로도는 GitHub에서 확인할 수 있습니다.
github.com/ebaek200/ST7567-NTP-Clock ↗