3D RGB 아두클락(Arduclock) - 블루투스 제어 LED 타임피스 with RTC
부품 및 소모품
| 부품 | 수량 |
| 아두이노 나노 R3 (Arduino Nano R3) | 1 |
| HC-05 블루투스 모듈 | 1 |
| 아다프루트 네오픽셀 링: WS2812 5050 RGB LED (7개 LED x 6링 = 42개) | 1세트 |
| 다일렌트 Pmod RTCC (DS3231 기반 RTC 모듈) | 1 |
| 스피커 0.25W, 8Ω | 1 |
필요 도구
- 납땜 인두
- 3D 프린터 (케이스 및 부품 출력용)
프로젝트 개요
이전 프로젝트 '애니메이티드 RGB 벽시계'에 이어 선보이는 새로운 시계 프로젝트 '**3D RGB ARDUCLOCK**'입니다. 아두이노 나노와 개별 제어 가능한 WS2812 RGB LED, 3D 프린팅 부품을 활용해 휴대용 또는 선물용으로 적합한 세련된 시계를 만들었습니다. 전용 안드로이드 앱(APK)으로 블루투스를 통해 모든 기능을 제어합니다.
주요 기능
- 시계 표시 (시:분:초)
- 온도 표시 (RTC 내장 센서)
- 날짜 표시
- 시계/날짜 설정 (앱에서 현재 시간 동기화 가능)
- 알람 설정 (알람 시 '왕좌의 게임' 테마 멜로디 재생)
- 전체 숫자 색상 변경
- 첫째/둘째/셋째 자리(시/분/초 10의 자리) 개별 색상 변경
- 초 구분점(콜론) 색상 변경
- 다양한 애니메이션 효과 (레인보우, 극장 추격, 색상 와이프 등)
필수 자료 다운로드
3D 프린터 파일(STL), 아두이노 코드, 회로도, 안드로이드 APK는 다음 링크에서 확인하세요:
https://goo.gl/mQVxdW
소스 코드 분석 (code.ino)
핵심 라이브러리 및 정의
Adafruit_NeoPixel: WS2812 LED 제어 (7개 LED × 6링 = 6개 스트립 + 1개 추가? 실제론 7개 핀 사용)
DS3231: RTC 통신 (I2C, SDA/SCL 핀 사용)
- 음계 정의:
NOTE_C4 등 옥타브 0~8까지 정의 (알람 멜로디용)
- 7세그먼트 폰트 패턴:
sevendisplay[19][7] (0~9, C, ', H, L, T, E, 빈칸, N, P)
- 애니메이션 패턴:
animation[7][7] (단일 LED 순차 점등)
- 색상 팔레트:
color[10][3] (RGB 10가지 프리셋)
하드웨어 매핑
- 네오픽셀 데이터 핀: PIN 4~10 (총 7개 핀, 각 핀마다 7개 LED 스트립 제어)
- 부저: 핀 13
- 알람 활성화 입력: 핀 12 (풀업 입력, LOW 시 알람 울림)
- 블루투스 통신: 하드웨어 시리얼(핀 0/1) 또는 소프트웨어 시리얼 사용 (코드상
Serial 사용)
주요 루틴
블루투스 명령 처리 (loop() 내부)
시리얼로 '.' 구분 문자열 수신 시 파싱:
tarih (날짜 설정): 일.월.년 순 수신 → rtc.setDate()
saat (시간 설정): 시.분 수신 → rtc.setTime()
alarm (알람 설정): 시.분 수신 → 알람 활성화 플래그 설정
d1~d4: 각 자리 색상 인덱스 순환 변경
all: 전체 색상 인덱스 순환 변경
clock: 현재 시간 표시 모드
date: 현재 날짜 표시 모드
temp: 온도 표시 모드 (소수점 2자리까지)
animation: 애니메이션 데모 실행 후 시계 모드 복귀
hello: 데모 메시지 표시
디스플레이 업데이트 (yaz() 함수)
6개 숫자(d0~d5) 각각에 대해 7세그먼트 패턴 참조해 해당 LED 켜기/끄기. 각 자리별 색상 인덱스(dg1~dg3) 적용. 초 단위 콜론 점멸은 pixels7 (핀 10)로 별도 제어.
알람 시퀀스 (GameOfThrones())
'왕좌의 게임' 메인 테마 멜로디를 부저로 재생하며, 음표에 맞춰 LED 색상 변경(ilumina()/apaga()). 멜로디는 여러 구절 반복 구조로 약 1분간 재생.
애니메이션 효과 함수들
colorWipe(): 단색으로 순차 채우기
rainbow()/rainbowCycle(): 무지개 색상 순환
theaterChase()/theaterChaseRainbow(): 극장 추격 효과
Wheel(): 색상 휠 헬퍼 (0~255 → RGB)
회로도

주요 연결: 아두이노 나노 5V/GND → 모든 모듈 공통. RTC는 I2C(A4/A5). 블루투스 HC-05는 TX/RX(0/1) 또는 소프트시리얼. 네오픽셀 6링은 D4~D9, 콜론용 1링은 D10. 부저 D13, 알람 스위치 D12.