Электронные песочные часы

Электронные песочные часы

Эта самоделка, которую придумал автор под ником thatguyer, пригодится родителям детей, ещё не выучивших цифр. Как объяснить им, что «мы выходим через десять минут» или «через пять минут отдай игрушку брату», если они не понимают показаний ни стрелочных, ни цифровых часов, и к тому же не знают, сколько длится минута? Мастер пробовал кухонный таймер, но оказалось, что линейная шкала нагляднее углов и секторов. Конструкция заменяет целый набор песочных часов, поскольку выдержку можно менять.

В устройстве применена Arduino-совместимая плата Adafruit Metro, если будете применять другую, важно наличие не менее трёх аналоговых входов. Вывод информации происходит на кусок ленты с адресными светодиодами WS2812 плотностью в 144 светодиода на метр. Для управления применены две готовые платы также фирмы Adafruit — одна с сенсорной кнопкой, другая с трёхосевым акселерометром. Источником питания являются внутренности пауэрбанка — аккумулятор вместе с платой, но лучше вообще не вынимать этот прибор их корпуса, поскольку питается самоделка от него обычным образом — по пятивольтовому выходу.

Разбирая пауэрбанк, мастер обходится без USB-шнура, припаивая провода параллельно выходному разъёму. Зря: уж что, а шнур с большой USB-вилкой сегодня найти не проблема. Нужно взять испорченный шнур, у которого на противоположной стороне «отвалилась» вилка Micro USB или Lightning, удалить её и вытащить из шнура провода. Вот, например, как применил такой шнур переводчик:

Но thatguyer искусственно создаёт себе трудности. Всячески стараясь ничего не оторвать и не замкнуть, он чуть модифицирует пауэрбарк. Сначала удаляет с его платы выходной разъём:

Затем вместо него подключает проводами JST-разъём через выключатель, который, в свою очередь, присоединён не пайкой, а соединителями РППИ. Ответная часть JST-разъёма пока лежит отдедьно и ждёт подключения к схеме.

Необязательная опция готова, дальнейшие шаги одинаковы независимо от того, переделывали ли вы пауэрбанк, или оставили оный в корпусе совместно с упомянутым выше шнуром.

На макетку thatguyer устанавливает Arduino-совместимую плату и модуль акселерометра:

Как попало впаять их не получится. Чтобв всё заработало, нужно соблюсти два условия. Первое — чтобы USB-разъём был с краю макетки, так удобнее подключать к нему кабель. Второе — правильно ориентировать акселерометр. Это проще, чем перевернуть гравитацию планеты.

Мастер выбирает на макетке шины, которые будут плюсом и общим проводом, и соединяет с ними соответствующие выводы акселерометра и Arduino-совместимой платы. Затем подключает одно к другому так: выход оси X — к аналоговому входу A2, Y — к A1, Z — к A0:

Соблюдая полярность, соединяет с плюсовой и общей шинами макетки ответную часть JST-разъёма:

Дальнейшие пайки производит при отключённом выключателе или отсоединённом разъёме. Подключает кусок ленты с адресными светодиодами, вмещающей 30 таких диодов. Разделять ленту можно только в специально предназначенных для этого участках. Провода питания подключает в правильной полярности к соответствующим шинам макетки, а вход последовательных данных — к выбранному в программе цифровому выходу Arduino-совмеатимой платы:

На ленте есть стрелочки (передающие привет одному из участников ресурса, какому — он сам догадается), указывающие направление передачи данных от каждого предыдущего адресного светодиода к каждому последующему. Подключать кусок ленты надо так, чтобы данные шли в направлении от платы.

После ленты мастер берётся за плату сенсорной кнопки. Там снова три провода: плюс, общий и выход. Как подключать первые два, понятно, а третий — к выбранному в программе цифровому входу Arduino-совместимой платы. При прикосновении кнопка выдаёт логическую единицу. Электроника готова:

Паяльник отдохнёт, поработает электролобзик. Сразу же после прикидки и переноса контура песочных часов на дощечку из клёна:

Такую же штуку можно склеить из нескольких слоёв тонкой фанеры.

Мастер берёт ещё одну дощечку той же формы, но более тонкую, сравните сбоку:

В той дощечек, которая толще, сверлит отверстия под полотно электролобзика и делает отсеки:

 

Всё помещается:

А в эти углубления поместятся выключатель, разъём и провода, соединяющие отсеки между собой:

Вот так:

Склеивает дощечки, и у отсеков появляется дно, рядом лежат готовые, но ещё не установленные подставки:

Можно приклеить, можно привернуть саморезами, кому как нравится:

В этом углублении в подставке поместится сенсорная кнопка:

Вот она на месте:

В самом же корпусе thatguyer делает углубления и отверстия для проводов к ленте и сенсорной кнопке:

Сзади закрывает отсеки оргстеклом, чтобы электронная часть не вываливалась:

Закрепив оргстекло скотчем, чтобы оно не сдвигалось, сверлить и закрепляет его так:


Делает метки для удобства совмещения оргстекла с деревом, чтобы не быль ситуации: блин, отверстия не совпадают, а надо всего-то перевернуть крышку:

Соединив всё вместе, пилит по размеченному контуру, получая форму песочных часов:

С той стороны, где отсеков и оргстекла нет, делает углубление для светодиодной ленты:

То, что надо!

Разбирает корпус, шлифует и покрывает двумя слоями шеллака всё деревянное. Снова слегка шлифует, покрывает полиуретановым лаком, немного обрабатывает стальной ватой, и получается…

Возвращает электронику обратно:

Потом оргстекло:

Закрывает светодиоды матовым светофильтром:

Заливает прошивку, для неё понадобится библиотека FastLED. В тексте перед заливкой надо указать, к каким из выводов что подключено, а также сколько светодиодов в куске ленты.

Переключение режимов работы часов происходит при изменении их положения. Сенсором вверх — настройка, сенсором вниз — отсчёт, боком — пауза. При входе в режим настройки появляется жёлтый мигающий курсор, каждое прикосновение к сенсора добавляет одно сиреневое деление, соответствующее 15 секундам. Если набрать 60 секунд, последующие деления будут синими и соответствующими минутам. Каждое пятое минутное деление для удобства помечено отличающимся цветом. В режимах отсчёта и паузы часы ведут себя аналогично настоящим песочным.

Добавить комментарий