Крутые часы на адресных диодах (часть 2)

Часть 2. Сборка

Первая часть проекта была посвящена используемым компонентам и вызвала довольно много комментариев и вопросов. В данной статье я подробно опишу процесс сборки и опишу принцип выбора компонентов.

Архив проекта

Можно сразу скачать архив, со шрифтом, библиотеками и прошивкой.

Для начала нужно скачать шрифт, после чего в Word’е на листе формата А4 (ну или формат выбирается в зависимости от желаемого размера часов) шрифтов размера ~990 точек печатаем цифру »8» с параметрами шрифта: заливка текста — белый цвет, контур текста — чёрная сплошная линия. Полученную цифру печатаем на принтере и переходим к следующему этапу.

В итоге получается так:
Готовый шаблонГотовый шаблон

Чтобы в дальнейшем удобнее было располагать ленту, можно там же, в Word’e нарисовать серые прямоугольники по размеру отрезков ленты.

Далее нужно взять основу наших часов (то есть «заднюю стенку»). Я использовал кусок стеклотекстолита толщиной примерно 1 мм: он прочный и лёгкий. Однако для этих целей вполне подойдёт и плотный картон.

Далее можно сразу перенести шаблон на основу, однако, мне кажется, удобнее пойти другим путём:

Вначале вырезаем кусок пенополистирола по размеру основания (это будет основная часть корпуса часов), после чего переводим полученный шаблон 4 раза на нашу основу (я использовал обычную копировальную бумагу), не забывая про разделитель («точки») часов и минут.

Далее вырезаем полученные цифры и уже по ним отмечаем линии для наклеивания ленты на основу.

О материалах корпуса

Как я уже говорил в первой части, я для изготовления корпуса использовал экструдированный пенополистирол «техноплекс» толщиной 20 мм: он серый и легко режется ножом.

При желании можно использовать другой пластик или вообще использовать 3d-печать.

Диодную ленту нарезаем на отрезки соответствующей длины по меткам: при использовании ленты с плотностью 60 диодов на метр получается по 6 диодов на сегмент цифры, на точки было использовано по 2 диода.

После этого наклеиваем полученные отрезки ленты на основу, соблюдая при этом схему: на ленте имеются контакты «DI» и «D0», которые дополнены стрелкой и обозначают направление соединения сегментов ленты.

Схема подключения лентыСхема подключения ленты

Наклеенные фрагменты ленты располагаем согласно схеме: DI — начало сегмента, DO — конец сегмента.
Сегменты точек располагаются сверху вниз.

Наклеенные сегменты нужно спаять между собой (соответственно »+» с »+»,»-» с »-», «DI» — с «DO»). Я для соединения сегментов между собой использовал зачищенную витую пару. К началу первого сегмента ленты припаиваем три провода, которые выводим через подложку на обратную сторону часов.

В итоге получается такая конструкция:

Лента, наклеенная на основание, и накрытая пенополистироломЛента, наклеенная на основание, и накрытая пенополистиролом

К сожалению, первоначальную сборку часов производил давно и фотографии не сохранились.

Особенности подключения ленты

AlexGyver рекомендует в цепи питания ленты использовать конденсаторы, например так:

Я конденсаторы не использовал, однако лучше поставитьЯ конденсаторы не использовал, однако лучше поставить

Далее на тыльной стороне часов размещаем блок электроники и соединяем следующим образом:

Пин датчика

Пин arduino

DHT11/DHT22 (датчик температуры)

PIN7

Лента (DI)

PIN13 — через резистор

Лента (»-»)

Дополнительно на «землю»

DS3231 (часы) SDA

SDA (или PIN A4)

DS3231 (часы) SCL

SCL SDA (или PIN A5)

BH1750 SDA

SDA (или PIN A4)

BH1750 SCL

SCL SDA (или PIN A5)

Bluetooth RX

TX

Bluetooth TX

RX

Пин ленты DI обязательно подключается к arduino через резистор 200–500 Ом. В противном случае очень велик шанс спалить не только микроконтроллер, но и все подключённые к нему датчики.

Кроме того, в цепь питания модуля часов (прямо на плату, между VСС и GND) крайне рекомендуется впаять керамический конденсатор ёмкостью 0,1–1 мкФ (маркировка 103 или 104). Конденсатор будет сглаживать питание модуля реального времени, что увеличит точность часов.

UDP: спасибо за подсказку An_private:

103 — 0.01 мкФ

104 — 0.1 мкФ

105 — 1 мкФ

За эти рекомендации по применению конденсатора спасибо AlexGyxer

Если используется шилд, то проблем с подключением не возникает.
Если шилд не используется, то датчик освещённости припаивается последовательно к выходу модуля часов:

fabc1fcae91402451a35aae43687e5c8.jpg

Важно! Если используется модуль часов мини-формата, то он подключается к выходу »3.3V»

DS3231-mini
Компактный DS3231Компактный DS3231

DS3231 в компактном исполнении. Питается от 3.3 Вольт!

Все концы »+» и »-» нужно соединить между собой и подключить к блоку питания, после чего можно будет загружать прошивку. При этом для удобства подключения соответствующие выводы датчиков можно подключать к выходам VCC (+) и GND (-) на шилде, а ленту питать напрямую от блока питания (в обязательном порядке).
Однако и здесь есть нюансы:

  1. При прошивке платы модуль bluetooth должен быть отключён от платы. Если используется шилд — то просто прошивается arduino, которая потом вставляется в шилд. Если шилд не используется, то нужно отключить модуль bluetooth от пинов RX/TX.

  2. У меня модуль bluetooth по необъяснимым причинам не хотел работать (даже при подаче питания напрямую). Проблема решилась питанием arduino через USB-порт. (Был спаян самодельный переходник от блока питания на USB-A, к которому присоединёна arduino кабелем на micro-USB через её штатный разъём). Дополнительно можно припаять выводы питания на шилд, чтобы питающие пины шилда работали от блока питания.

  3. Bluetooth перед подключением рекомендуется настроить.

  4. Имейте ввиду, что на датчик освещённости должно попадать примерно то же количество света, что и на лицевую часть часов.

О питании платы

Да, я знаю, что питать плату через USB считается не самым лучшим способом.
Да, в комментариях к первой части уже писали, что нужно сделать ограничение по току. Однако:

  1. В данном проекте при пряморукости сборки ограничение по току не требуется (в принципе не возникнет ситуации при потреблении такого тока, что БП сгорит — максимум, возникнет просадка напряжения, и то вероятность её крайне мала). Хотя при желании, конечно, можно и 10А БП поставить.

  2. Мой БП выдаёт примерно 5,5 вольт, так что питать arduino через порт 5V не слишком правильно, так как питание идёт напрямую на МК.

  3. Питание через порт VIN даёт нормальные результаты, хотя правильно подавать минимум 7 вольт, так что вариант тоже не подходит. Плюс ко всему модуль bluetooth не запустился.

Кто хочет узнать подробнее про питание платы — всё отлично расписано здесь.

Схема подключения
Схема подключенияСхема подключения

В качестве рассеивателя я использовал поликарбонат «опал», а в качестве рамки отлично подошёл кабель-канал шириной 25 мм (его широкая часть), предварительно удалив излишек выступа с лицевой стороны часов.

© Habrahabr.ru