Цифровые песочные часы на Arduino
Страница проекта: https://kit.alexgyver.ru/tutorials/digisand/
3dprint - модели корпуса для печати
firmware - код для Arduino
libraries - бибилиотеки (можно установить через IDE)
schemes - схемы подключения
test - модели песка для тестирования алгоритмов
- Добавить пищалку или мини-динамик (желательно с усилителем на транзисторе) на PIN D9
- Раскомментируйте
#define BUZZER_PIN 9
- В настройках часов выберите одну из мелодий и/или отрегулируйте громкость
- нажатие первой кнопки - уменьшить время на 1 сек
- нажатие и удержание первой кнопки - уменьшить время на 10 сек
- нажатие второй кнопки - увеличить время на 1 сек
- нажатие и удержание второй кнопки - увеличить время на 10 сек
- нажатие двух кнопок - сброс таймера
- удержание двух кнопок - вход в меню
- переход между пунктами меню - удержание одной из кнопок
Меню цикличное. Сверху - иконка пункта, снизу - значение. Меню помнит последний использозванный пункт в течении 30 сек. Меню выключается через 5 сек бездействия.
- при максимальной яркости - 200мА
- при яркости 2 - 60мА, во время проигрывания звука до 72мА
- при минимальной яркости - 35мА, во время проигрывания звука до 45мА
- добавить событие окончания времени, а не остановки песка
- Добавить анимации при окончании времени.
Варианты:
- мигание песка (вкл/выкл)
- плавное мигание песка (плавное изменение яркости)
- мигание пройденного времени
- мультипликация (змейка, узор, шашечки, и т.п.)
- спящий режим (отключать экраны и лишние обработчики, уходит в сон, просыпаться по прерыванию от датчика наклона)
- добавить полноценную регулировку громкости, например на базе решения https://github.com/connornishijima/arduino-volume3
- v1.3 - добавлен контроль заряда при включении
- v1.2 - добавлен звук и 4 мелодии
- v1.1 - добавлено меню с иконками
- v1.0 - первая версия