이 시계의 핵심 컨셉은 낮 동안 현재 시각을 단어로 표현하는 데 필요한 글자만 켜고, 나머지는 끄는 것입니다.
이 프로젝트는 스마트홈 기기의 완벽한 예시로, 구글 어시스턴트와 매끄럽게 연동되어 자연스러운 음성 명령으로 제어할 수 있으며, 어떤 거실에도 어울리는 멋진 외관을 갖췄습니다.
직접 만들기
먼저 모든 글자를 포함한 레이아웃을 만들고, 액자 크기에 맞게 레이저 컷팅하세요. 글자 간격은 LED 스트립의 LED 간격과 동일해야 합니다.
프로젝트 저장소에 영어와 이탈리아어 버전의 벡터 파일을 올려두었습니다. 더 많은 언어가 추가될 예정입니다.
영어 레이저 컷 레이아웃
이탈리아어 레이저 컷 레이아웃
LED 스트립은 WS2801과 WS2812B 모두 사용 가능합니다. 차이점은 WS2801은 라즈베리 파이(또는 안드로이드 씽즈 호환 보드)에서 직접 제어 가능하지만, WS2812B는 별도 제어 유닛이 필요합니다(저는 아두이노 나노를 USB 시리얼로 연결해 사용). 저장소의 안드로이드 씽즈 앱 소스코드에 두 방식 모두와 회로도가 포함되어 있습니다.
LED 스트립을 잘라 지그재그 패턴으로 재조립해 글자 레이아웃 뒤에 배치합니다. 각 LED가 글자 하나씩을 담당합니다.
한 LED의 빛이 인접 글자로 번지지 않게 해야 합니다. 나무 판에 글자 하나당 구멍 하나를 뚫어 해결했습니다. 구멍은 글자 전체를 덮을 만큼 충분히 큽니다.
LED를 구멍 안쪽에 넣고 테이프로 고정합니다.
이제 글자 레이아웃을 액자에 넣어 앞면에서 글자가 제대로 읽히게 하고, 그 뒤에 LED가 달린 나무 판을 배치합니다.
선택한 LED 타입에 따라 안드로이드 씽즈 보드에 연결하세요:
안드로이드 스튜디오에서 빌드하기 전, Build Variants 메뉴에서 올바른 버전을 선택하세요:
레이아웃 언어와 LED 포맷 조합별로 버전이 준비되어 있습니다.
앱을 빌드해 안드로이드 씽즈 보드에서 실행하고, WiFi 파라미터를 설정하세요. 인터넷 연결이 활성화되면 안드로이드가 자동으로 현재 시각을 설정하고, 시각 문장을 구성하는 글자들을 켜서 표시합니다.
재부팅 후 인터넷 연결이 없으면 적절한 에러 상태를 표시합니다:
안드로이드 컴패니언 앱
깃허브 저장소에 안드로이드 모바일 컴패니언 앱 코드도 있습니다. 사용자가 LED 색상과 타임존(준비 중)을 변경할 수 있습니다.
설치 후 실행하면 안드로이드 니어바이 API로 주변 시계를 자동 탐색합니다(사용자 설정 불필요). 시계를 찾으면 색상 팔레트가 표시되고, 색상을 선택하면 즉시 LED가 업데이트됩니다.
스마트홈 연동
스마트홈을 통해 구글 어시스턴트로 LED 색상 변경이 가능합니다. 파이어베이스 펑션이 트리거되어 프로젝트의 파이어베이스 실시간 DB 값을 변경하면, 안드로이드 씽즈 보드가 이를 읽어 실제 시계에 반영합니다.
깃허브 저장소에 워드 클락 스마트홈 설정 전체 단계가 있습니다. 설정이 완료되면 색상과 밝기 모두 음성으로 제어할 수 있습니다(영상 참조).