Comments 33
Я понимаю, что это корпоративный блог, но хотелось бы хотя бы упомянуть о том, что подключить транзисторы к сдвиговому регистру — это просто, и можно сделать самому, не воспринимая эти модули как нечто, данное высшими силами.
А кроме этого, почему не использовать WS2812 или аналоги?
Её находка и стала поводом сделать такой ночничок. Не пропадать же ей.
Подробную информацию о том, как это работает, можно найти на нашей вики. Мне же хотелось скорее поделиться самим детищем и восторгом от того, что получилось. Справочной информации и так достаточно.
Лазерный станок, несомненно, дело в хозяйстве нужное, однако аккуратных кругляшков из картона (а также резины, паронита и прочая) можно нарубить и просечкой.
Arduino Uno 1 990 ₽
Импульсный блок питания 1 290 ₽
Часы реального времени 440 ₽
Сборка силовых ключей P-FET 990 ₽х4
Итого 8970 ₽.
Не дороговато для DIY часов?
Ардуину у китайцев можно взять собранную по тем же чертежам из тех же (или нет, если не повезёт) деталей где-то так на порядок дешевле, ленту — там же.
До кучи лента, блок питания — обычно у DIYщика валяются россыпью на балконе в коробке с надписью "ну а вдруг".
RTC у китайцев тоже подешевле будет.
Сборка ключей — единственный компонент хрен знамо зачем, ибо это всё делается на макетке из россыпи транзисторов за сотку-две и пары 74HC595 в течение часа. Но это, опять же, корпоративный рекламный блог амперки, а не личный блог "дёшево, сердито и с получением знаний по теме".
Слегка по коду заинтересовало.
// метод установки времени и даты автоматически при компиляции
clock.set(__TIMESTAMP__);
Сдаётся мне, что несмотря на наличие батарейки в RTC модуле, при любом отключении питания часы будут слетать на дату сборки в момент следующего включения.
Лучше это завернуть в какой-то if, чтобы устанавливать время только, если оно раньше даты сборки прошивки, так как тогда оно очевидно неправильное.
boolean enableSegment = bitRead(mask, i);
Откуда взялась эта функция? Почему бы не использовать просто оператор смещения, если для неё нужно подтягивать внешнюю библиотеку?
Почему бы не использовать просто оператор смещения, если для неё нужно подтягивать внешнюю библиотеку?
Не надо ничего подтягивать
arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h:
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
Правда вторая мысль — «а может, мерцание будет на большом-то размере — ведь заявлено в первую очередь как светильник».
Третья — так можно ж частоту сканирования задрать под сотню кГц, и к каждой ленте конденсатор поставить, вообще пульсации не всякий прибор заметит.
Реле — шумно и громоздко для такой задачи
Если не динамическая подсветка, то может быть интересный эффект — своеобразное «тиканье» часов раз в минуту. Или сделать только для второй цифры — раз в час. И на слух можно будет узнавать который час прощелкал.
Интересно: авторы хоть когда-нибудь перестанут называть припой «оловом»? На страничке по ссылке, кстати, слово «олово» не вдруг найдешь, там эта вещь называется (внезапно!) «припой».
Флюс, почему-то, называют «флюсом», а не «канифолью», а «припой» уже ниасилили…
</Зануда>
По моему мнению, клей-карандаш — далеко не лучший клей, а бумага — не лучший выбор, когда мы говорим о 12В светодиодных лентах.
Big Clock One Love