А давайте сделаем максимально дешёвый аналог будильника PHILIPS Wake-Up Light – будильника, который за указанное время до срабатывания заливает вас светом с плавно нарастающей яркостью, то есть имитирует рассвет. Ваш маленький комнатный рассвет, который позволит проснуться бодрым и отдохнувшим за счёт естественных механизмов организма. Несмотря на простоту, проект получил огромную кучу настроек и возможностей реализации самого “рассвета”, не считая сами часы + будильник с настройкой времени.
ПОДРОБНОЕ ВИДЕО ПО ПРОЕКТУ
В данном видео показан полный и максимально подробный процесс разработки и изготовления устройства, а также обзор его возможностей и функций.
Понятные схемы, OpenSource прошивки с комментариями и подробные инструкции это очень большая работа. Буду рад, если вы поддержите такой подход к созданию Ардуино проектов! Основная страница пожертвовать – здесь.
ИНСТРУКЦИИ ПО ЭКСПЛУАТАЦИИ
В настройках прошивки настройте всё по желанию (яркости, времена, и самое главное – тип регулятора яркости. Также не забудьте про два типа энкодеров, картинки ниже и всё написано в настройках). Часы имеют три прямых настройки (без перепрошивки, установка при помощи энкодера): вкл/выкл будильника, установка времени часов и времени будильника. Все настройки сохраняются в энергонезависимую память и не сбрасываются при перезагрузке (а время так вообще продолжает свой отсчёт благодаря батарейке в RTC модуле). За указанное до будильника в прошивке “время рассвета” яркость начнёт плавно возрастать в указанных в прошивке пределах. По достижению времени будильника начнёт орать пищалка, выключить всё это безобразие можно удержанием кнопки энкодера. Либо дождаться, когда всё выключится автоматически через указанный в прошивке таймаут. Сладких снов!
МАТЕРИАЛЫ И КОМПОНЕНТЫ
Ссылки на магазины, с которых я закупаюсь уже не один год
Вам скорее всего пригодится:
Источники света лучше брать “тёплые”, т.к. рассвет именно жёлтый!
- Arduino NANO 328p – искать
- БП 5V Али искать
- БП 12 Вольт https://ali.ski/WOWezD
- RTC DS3231
- Дисплей – искать
- Энкодер – искать
- MOSFET модуль – искать
- Диммер модуль https://ali.ski/mjLKl
- Лента светодиодная https://ali.ski/Vtkc_F
- Матрица 220V https://ali.ski/zoe1HT
- Резисторы и светодиоды можно найти в ЛЮБОМ магазине радиодеталей или радиорынке. Хотите китайский опт? Держите!
- Светодиоды https://ali.ski/tAUCB
- Резисторы 220 Ом (220 R) https://ali.ski/TAN2C
- Резисторы 100 Ом (100 R)https://ali.ski/TAN2C
- Пищалка https://ali.ski/oL5Ugs
- Провода https://ali.ski/rto9T5
БЫСТРЫЙ ГАЙД ПО ПРОЕКТАМ ALEXGYVER
2. Извлечь содержимое архива при помощи программы архиватора. Если у вас нет WinRAR, то скачать его можно здесь.
ПРОШИВКА И НАСТРОЙКА
Содержимое папок в архиве
- libraries – библиотеки проекта. Заменить имеющиеся версии (в этом проекте внешних библиотек нет)
- firmware – прошивки для Arduino
- schemes – схемы подключения компонентов
Как прошить?
- ЕСЛИ ЭТО ПЕРВЫЙ ОПЫТ РАБОТЫ С ARDUINO – посмотреть ВИДЕО о платформе с целью ознакомления, далее скачать, установить и настроить необходимые для работы программы согласно СУПЕР ПОДРОБНОЙ ИНСТРУКЦИИ (там даже видео версия есть!).
- Скачать архив с проектом напрямую, или с GitHub (кнопки чуть выше)
Установить библиотеки (папка Libraries) в
C:Program Files (x86)Arduinolibraries (Windows x64)
C:Program FilesArduinolibraries (Windows x86)
Подробнее в 4-ом пункте статьи для новичков- Подключить Ардуино к компьютеру при помощи Data-кабеля
- Открыть файл прошивки желаемой версии (файлы прошивок .ino лежат в одноимённых папках)
- Настроить Arduino IDE (COM порт, куда подключена плата; подключенная модель Arduino, как в статье из первого пункта)
- Настроить что нужно в прошивке, нажать загрузить
Если происходит ошибка компиляции или ошибка загрузки, читать 5-ый пункт в статье для новичков.
Настройки в прошивке
#define DAWN_TIME 20 // продолжительность рассвета (в минутах) #define ALARM_TIMEOUT 80 // таймаут на автоотключение будильника, секунды #define ALARM_BLINK 0 // 1 - мигать лампой при будильнике, 0 - не мигать #define CLOCK_EFFECT 1 // эффект перелистывания часов: 0 - обычный, 1 - прокрутка, 2 - скрутка #define BUZZ 1 // пищать пищалкой (1 вкл, 0 выкл) #define BUZZ_FREQ 800 // частота писка (Гц) #define DAWN_TYPE 0 // 1 - мосфет (DC диммер), 0 - симистор (AC диммер) СМОТРИ СХЕМЫ #define DAWN_MIN 50 // начальная яркость лампы (0 - 255) (для сетевых матриц начало света примерно с 50) #define DAWN_MAX 200 // максимальная яркость лампы (0 - 255) #define MAX_BRIGHT 7 // яркость дисплея дневная (0 - 7) #define MIN_BRIGHT 1 // яркость дисплея ночная (0 - 7) #define NIGHT_START 23 // час перехода на ночную подсветку (MIN_BRIGHT) #define NIGHT_END 7 // час перехода на дневную подсветку (MAX_BRIGHT) #define LED_BRIGHT 50 // яркость светодиода индикатора (0 - 255) #define ENCODER_TYPE 1 // тип энкодера (0 или 1). Типы энкодеров расписаны на странице проекта
Дополнительно
Вариант системы со светильником от розетки и модулем диммера делает небольшие вспышки на участке малой яркости. Это обусловлено несовершенством кода и помехами в подключении проводами. В общем это нормальное явление =)