WeMos D1 mini + DS3231 + HC-SR 501

raresp8266_clock_with_bell

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

Вот что получилось:

Подготовка

Первое, что я сделал, это нашел, вернее вычислил, назначение контактов модуля RTC DS3231 for Pi.

В качестве микроконтроллера я выбрал Wemos D1 mini, хотя можно применить и любой другой модуль с ESP8266.

В проекте использованы:

 WeMos D1 mini

 Часы rtc ds3231 for pi

 DFPlayer Mini

 Датчик Движения HC-SR501

 Тумблер для выключения датчика

 Динамик - капсула из телефонной трубки

Я не ожидал, что телефонная капсула может воспроизводить громкий звук с таким хорошим качеством, рекомендую.

Библиотеки для проекта:

 Arduino IDE с подключенными библиотеками для ESP8266.

 ESP8266WiFi.h

 ESP8266mDNS.h

 pgmspace.h

 DFPlayer_Mini_Mp3.h

 SoftwareSerial.h

 Wire.h (I2C)

 RTClib.h

Работа с устройством

Подключение Pir датчика к D8 имеет смысл, если используется тумблер, который рвет цепь при включении устройства. Я умышленно не стал подключать датчик к другому выводу, чтобы не ограничивать в будущем расширение функций устройства

схема работает сразу при выполнении следующих требований:

- SDcard должна быть форматирована как FAT32;
- Имена файлов не должны превышать 8 символов.
- Расширение файлов не должна содержать более 3-х символов;
- Все звуковые файлы (.mp3) должны быть размещены в папке "mp3".

Интерфейс устройства достаточно простой и каждый может его поменять на свой вкус.

Главное, что здесь реализованы функции:
- установка часов (кнопка Set real time);
- установка времени будильника (кнопка Alarm);
- кнопки управления проигрывателем.
- для быстрого выбора возможен выбор 20 звуковых файлов, что бывает забавно, если звуковые фразы правильно подобрать.

Кнопка "Clock" скрывает или раскрывает строки сопциями для часов.

Чтобы сбросить будильник, следует установить время для alarm 00:00

Программа, при срабатывании PIR датчика, случайным образом выбирает файл для проигрывания. После 22:00 реакция на PIR датчик игнорируется, а громкость боя часов снижается. После 10 часов утра все параметры восстанавлиаются.

Для боя часов на SDcard имеются много файлов из них использованы четыре файла:

- 0202.mp3 - бой часовой

- 0231.mp3 - бой 30 минут

- 0212.mp3 - бой полдень

- 0246.mp3 - будильник

 

В программе есть также функции для ответа на внешние запросы, например, от универсального пульта.

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

 

Hosted by uCoz