Word Clock на Android Things — часы, говорящие на вашем языке в реальном времени
Компоненты и расходные материалы
| Raspberry Pi 3 Model B | ×1 |
| Arduino Nano R3 | ×1 |
| NeoPixel-лента (WS2801 или WS2812B) | ×1 |
| Фоторамка | ×1 |
| Лазерная раскладка букв | ×1 |
| Деревянная плата (размером с раскладку) | ×1 |
Необходимые инструменты
- Паяльник
Приложения и онлайн-сервисы
- Google Android Things (устаревшая платформа, исторический интерес)
- Google Firebase (Realtime Database + Functions)
- Google Actions on Google (интеграция с Google Assistant)
О проекте
Как насчет часов, которые говорят на вашем родном языке? Вот они!
Суть: в течение дня горят только буквы, составляющие текущее время словами. Остальные — погашены.
Идеальный пример умного домашнего устройства: плавная интеграция с Google Assistant, голосовое управление, готовый эстетичный корпус для гостиной.
Соберите свои
Сначала создайте раскладку со всеми буквами и вырежьте её лазером под размер рамки. Расстояние между буквами = шаг LED в ленте.
В репозитории проекта векторные файлы для английской и итальянской версии (другие языки планируются):
- English laser cut layout
- Italian laser cut layout

Работает с лентами WS2801 и WS2812B. Разница: WS2801 подключается прямо к Raspberry Pi (или другой Android Things плате), WS2812B требует отдельный контроллер — я использовал Arduino Nano, подключенный по USB Serial к Android Things борду. В репозитории исходный код Android Things приложения с двумя вариантами (build variants) под каждый тип ленты и схемы.
Ленту нужно разрезать и собрать в зигзаг — за раскладкой, каждый LED под одну букву.


Чтобы свет одного LED не размывался на соседние буквы, просверлил в деревянной плате отверстия — по одному на букву, достаточно широкие.



LED вставляются в отверстия и фиксируются скотчем.

Кладём раскладку в рамку (буквы читаемы спереди), за ней — деревянную плату с LED.

Подключение LED к Android Things борду в зависимости от типа ленты:


Перед сборкой в Android Studio выберите правильный Build Variant:

Есть варианты для каждой комбинации: язык раскладки + тип LED.
Собираем, запускаем на борду, настраиваем WiFi. При наличии интернета Android сам установит время и начнет показывать его, зажигая нужные буквы.

При отсутствии интернета после перезагрузки — отображается состояние ошибки:

Android-компаньон приложение
В GitHub репозитории есть код мобильного приложения для смены цвета LED и часового пояса (soon).
При запуске ищет часы через Android Nearby API без настройки пользователя. Найдя — показывает палитру цветов, при выборе сразу обновляет LED на часах.

Умный дом (Smart Home)
Через Google Assistant можно менять цвет и яркость LED. Это триггерит Firebase Function, меняет значения в Firebase Realtime DB, Android Things борд читает изменения и отражает на часах.
В репозитории все шаги настройки Smart Home для Word Clock. После настройки можно управлять цветом и яркостью голосом (демо в видео).
Код
Android Things Word Clock на GitHub
https://github.com/danybony/word-clock/tree/master/AndroidThings
Схемы
Прямое подключение 4 проводов WS2801 к Android Things борду:
ws2801_NrdL4yHYgS.fzz
С WS2812B нужен внешний модуль (Arduino Nano) как посредник:
ws2812b_dE6hG5tmEZ.fzz
Производственный процесс
- Кукушка: история, мастерство и современная эволюция
- Интегральные схемы (ИС): компактные мощные чипы, питающие современную электронику
- Arduino POV-часы: сборка дисплея на эффекте сохранения образа
- Ретро-часы на индикаторах Numitron с Arduino: просто, надёжно, экономно
- Слово-часы (Word Clock) на Arduino — DIY-часы с текстовой индикацией времени
- Точные словесные часы: отображение времени в словах с точностью до минуты
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Итальянские словесные часы на Arduino Nano, NeoPixel, LCD и RTC
- Набор MOSMusic: MOSFET, Arduino и управление светом по музыке
- Компоновка шасси автомобиля: положение двигателя и приводные схемы