Крутые часы на адресных диодах (часть 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
Если используется шилд, то проблем с подключением не возникает.
Если шилд не используется, то датчик освещённости припаивается последовательно к выходу модуля часов:
DS3231-miniВажно! Если используется модуль часов мини-формата, то он подключается к выходу »3.3V»
DS3231 в компактном исполнении. Питается от 3.3 Вольт!
Все концы »+» и »-» нужно соединить между собой и подключить к блоку питания, после чего можно будет загружать прошивку. При этом для удобства подключения соответствующие выводы датчиков можно подключать к выходам VCC (+) и GND (-) на шилде, а ленту питать напрямую от блока питания (в обязательном порядке).
Однако и здесь есть нюансы:
При прошивке платы модуль bluetooth должен быть отключён от платы. Если используется шилд — то просто прошивается arduino, которая потом вставляется в шилд. Если шилд не используется, то нужно отключить модуль bluetooth от пинов RX/TX.
У меня модуль bluetooth по необъяснимым причинам не хотел работать (даже при подаче питания напрямую). Проблема решилась питанием arduino через USB-порт. (Был спаян самодельный переходник от блока питания на USB-A, к которому присоединёна arduino кабелем на micro-USB через её штатный разъём). Дополнительно можно припаять выводы питания на шилд, чтобы питающие пины шилда работали от блока питания.
Bluetooth перед подключением рекомендуется настроить.
Имейте ввиду, что на датчик освещённости должно попадать примерно то же количество света, что и на лицевую часть часов.
Да, я знаю, что питать плату через USB считается не самым лучшим способом.
Да, в комментариях к первой части уже писали, что нужно сделать ограничение по току. Однако:
В данном проекте при пряморукости сборки ограничение по току не требуется (в принципе не возникнет ситуации при потреблении такого тока, что БП сгорит — максимум, возникнет просадка напряжения, и то вероятность её крайне мала). Хотя при желании, конечно, можно и 10А БП поставить.
Мой БП выдаёт примерно 5,5 вольт, так что питать arduino через порт 5V не слишком правильно, так как питание идёт напрямую на МК.
Питание через порт VIN даёт нормальные результаты, хотя правильно подавать минимум 7 вольт, так что вариант тоже не подходит. Плюс ко всему модуль bluetooth не запустился.
Кто хочет узнать подробнее про питание платы — всё отлично расписано здесь.
В качестве рассеивателя я использовал поликарбонат «опал», а в качестве рамки отлично подошёл кабель-канал шириной 25 мм (его широкая часть), предварительно удалив излишек выступа с лицевой стороны часов.