КОРОБКА ДЛЯ БОРЬБЫ С ПРОКРАСТИНАЦИЕЙ НА ARDUINO.

Ниже приведён перевод статьи: http://digitaljunky.io/the-anti-procrastination-box/ созданный и публикуемый нами с разрешения автора.

В данной статье описывается создание простого и полезного устройства, способ подключения платы Arduino к сегментному индикатору и соленоиду, а так же представлен пример ООП кода для Arduino. Читайте, разбирайтесь, творите!!

У меня был запасной дисплей, и я думал куда его применить. В итоге родилась коробка для борьбы с прокрастинацией для тех из нас, кто привык жить со смартфонами, однако это вызывает у них лишние промедления. Благодаря этой коробке, вы сможете на некоторое время гарантировано отказаться от своего девайса. Для этого всего лишь, нужно положить телефон в коробку и установить интервал, в течении которого она должна быть закрыта.

КОМПОНЕНТЫ

СХЕМА

На схеме снизу показано подключение между собой всех компонентов.

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

Так же было бы неплохо добавить кнопку для включения/выключения Arduino и зуммер для обозначения конца отчётного периода.

PDF-версия схемы есть тут.

КОД

Весь код для данного проекта можно найти тут.

Код написан на C++, т.к. мне нравится использовать классы, это позволяет сделать код читаемым и чистым. В коде есть 5 классов:

  • Таймер (Timer): управление механизма таймера. Использует встроенные часы Arduino для хранения прошедшего времени.
  • Замок (Lock): работает с двигателем, управляемым транзистором. Может быть либо открыт, либо закрыт.
  • Кнопка (Button): результат опроса состояния, может быть зажатой, нажатой или отпущенной.
  • Дисплей (Display): управление сегментным двигателем. Методо show() позволяет установить любое допустимое число между [0, 9999].
  • Регистр пинов (PinRegistry): класс, где сохранены все объявления номеров используемых ножек (пинов).

ПАЙКА КОМПОНЕНТОВ

Начнём с пайки ножек к Arduino Nano, если они ещё не припаяны.

(Если случилось так, что паяльника нет, а припаять нужно – это отличный повод купить его или целый набор для пайки в нашем магазине – прим. ред. ;-)

Тестирование на макетной плате и подготовка компонентов:

Паяем резисторы к ножкам дисплея.

Знакомьтесь с ардусьминогом!

Присоединяем дисплей.

Ура! Ничего не сгорело!

ПОДГОТОВКА КОРОБКИ

Возьмём коробку и проделаем отверстия под дисплей и 2 кнопки.

Далее, совсем не обязательно, но, кажется, коробка будет выглядеть лучше, если будет иметь чёрный цвет. Так что покрасим коробку!

СОЗДАНИЕ ЗАМКА

Поскольку у меня не было 3D принтера, я решил использовать полимерную глину, которая проста для моделирования и клейки.

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

Так же нам потребуются детали в форме буквы L для поддержи соленоида.

Теперь объединим всё в одно:

И В ИТОГЕ…

Видео работы коробки можно найти тут.

Я надеюсь, что вам понравился данный проект и это дало некоторые ответные идеи. Пишите в комментариях, если у вас есть свои идеи, критика и пожелания и темы для  новых уроков!

(Автору можно написать тут).