nixprosoft / DigiSand

Цифровые песочные часы на Arduino

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DigiSand v1.4

Цифровые песочные часы на Arduino

Страница проекта: https://kit.alexgyver.ru/tutorials/digisand/

Папки репозитория

3dprint - модели корпуса для печати

firmware - код для Arduino

libraries - бибилиотеки (можно установить через IDE)

schemes - схемы подключения

test - модели песка для тестирования алгоритмов

Для подключения звука

  1. Добавить пищалку или мини-динамик (желательно с усилителем на транзисторе) на PIN D9
  2. Раскомментируйте #define BUZZER_PIN 9
  3. В настройках часов выберите одну из мелодий и/или отрегулируйте громкость

Управление часами

  • нажатие первой кнопки - уменьшить время на 1 сек
  • нажатие и удержание первой кнопки - уменьшить время на 10 сек
  • нажатие второй кнопки - увеличить время на 1 сек
  • нажатие и удержание второй кнопки - увеличить время на 10 сек
  • нажатие двух кнопок - сброс таймера
  • удержание двух кнопок - вход в меню
  • переход между пунктами меню - удержание одной из кнопок

Меню цикличное. Сверху - иконка пункта, снизу - значение. Меню помнит последний использозванный пункт в течении 30 сек. Меню выключается через 5 сек бездействия.

Энергопотребление

  • при максимальной яркости - 200мА
  • при яркости 2 - 60мА, во время проигрывания звука до 72мА
  • при минимальной яркости - 35мА, во время проигрывания звука до 45мА

TODO

  • Добавить анимации при окончании времени. Варианты:
    • мигание песка (вкл/выкл)
    • плавное мигание песка (плавное изменение яркости)
    • мигание пройденного времени
    • мультипликация (змейка, узор, шашечки, и т.п.)
  • спящий режим (отключать экраны и лишние обработчики, уходит в сон, просыпаться по прерыванию от датчика наклона)
  • добавить полноценную регулировку громкости, например на базе решения https://github.com/connornishijima/arduino-volume3

Changelog

  • v1.4 - добавлен подсчет песчинок и сигнал окончания времени с падением последней, при длительном удержании настройки таймера начинается смена минут
  • v1.3 - добавлен контроль заряда при включении
  • v1.2 - добавлен звук и 4 мелодии
  • v1.1 - добавлено меню с иконками
  • v1.0 - первая версия

About

Цифровые песочные часы на Arduino


Languages

Language:C++ 84.1%Language:JavaScript 10.2%Language:C 5.0%Language:HTML 0.7%