Оглавление:
- Шаг 1. Проблемы, которые необходимо преодолеть
- Шаг 2: Компоненты, сборка и принцип работы
- Шаг 3: Программное обеспечение
Видео: InfoBell: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Я провожу много времени в своей маленькой мастерской в конце сада.
У меня в мастерской есть беспроводной дверной звонок с повторителем. Я немного успокаиваюсь, поэтому мне может потребоваться около 30 секунд, чтобы добраться до входной двери, если кто-то позвонит в звонок. К тому времени, как я приезжаю, курьер уже стучится в двери соседей, чтобы сдать посылку и поставить подпись.
My InfoBell сообщает вызывающим абонентам, что я буду с ними в течение 30 секунд (настраивается пользователем), или сообщает им, помолвлен ли я или нет!
Я хотел, чтобы дверной звонок работал от батареи и был полностью автономным. Отображаемые сообщения должны быть настраиваемыми пользователем, и их очень легко менять с IN на OUT.
Я использую Bluetooth с телефонным приложением MIT App Inventor Android для программирования сообщений.
Кнопки для инициализации связи Bluetooth и установки сообщений IN / OUT расположены в нижней части устройства. Требуемая функция выбирается нажатием соответствующей кнопки и нажатием кнопки главного дверного звонка.
Эти кнопки активны только при открытой двери! Открыта дверь или закрыта, определяется с помощью цифрового компаса (QMC5883) и некоторой тригонометрии. Я должен признаться, что мне пришлось использовать Google для некоторой помощи здесь, так как прошло какое-то время (около 46 лет) с тех пор, как я сидел в классе!
Я мог бы жестко закодировать показания QMC5883, но я подумал, что если кто-то решит сделать этот проект, шансы, что его дверь будет выходить в том же направлении, что и моя, будут достаточно малы!
Единственная кнопка, которая активна, если дверь закрыта, - это кнопка, которая устанавливает информацию «дверь закрыта».
Шаг 1. Проблемы, которые необходимо преодолеть
У меня было три трудности.
Первым была синхронизация фактического нажатия звонка и кнопки для инициализации Arduino и дисплея.
Я пробовал много методов с двумя переключателями и микровыключателями, но они были ненадежными, поэтому в конце концов я выбрал реле DP.
Следующая проблема была в самом беспроводном дверном звонке. Он работал нормально без задней части коробки, напечатанной на 3D-принтере, но не хотел сотрудничать, когда его устанавливали на входной двери! Мое решение заключалось в том, чтобы иметь часть задней крышки толщиной около 1 мм - это помогло!
Последняя проблема, которую нужно было преодолеть, заключалась в том, чтобы втиснуть все компоненты в коробку разумного размера!
Шаг 2: Компоненты, сборка и принцип работы
Для такого простого устройства я использовал следующее !!
Коробка и кнопка, напечатанная на 3D-принтере
1 x SSD1306 OLED-дисплей
1 х QMC5883
1 х bluetooth щит
1 х двухполюсное реле
1 х самоблокирующееся реле
5 x тактильный переключатель для монтажа на печатной плате
2 батареи по 3 В
1 х оригинальный дверной звонок
1 х диод
1 х pnp транзистор
Мне пришлось «вить птичье гнездо» в проводку, чтобы было достаточно места, чтобы втиснуть все компоненты в коробку - это не самый изящный проект, который я когда-либо делал!
Я использовал 2 батарейки по 3 В с диодом, чтобы немного сбросить напряжение.
Оригинальный дверной звонок поставлялся с батареей на 12 В.
Когда кнопка дверного звонка нажата, контакты реле замыкаются и приводят в действие исходный дверной звонок, одновременно настраивая самоблокирующееся реле, которое подает 5 В на Arduino, щит Bluetooth и QMC5883.
Когда Arduino выполнит свою работу, на выводе 12 будет импульс низкого уровня, который сбрасывает фиксирующее реле (через транзистор), отключая питание.
Когда устройство впервые подключается к ЗАКРЫТОЙ двери, кнопка, подключенная к контакту 4 Arduino, нажимается при нажатой кнопке дверного звонка. Это подает питание на Arduino, считывает ориентацию QMC5883 и сохраняет значение в EEPROM. См. Страницу «Программное обеспечение» и эскиз Arduino, чтобы узнать, как это работает.
Остальные 3 кнопки теперь будут работать только тогда, когда дверь не в этом положении, то есть закрыта.
Чтобы установить сообщения и таймер обратного отсчета, кнопка, подключенная к контакту 7, нажимается, пока нажата кнопка главного звонка И дверь открыта, это инициирует процедуру Bluetooth. Настройки вводятся через приложение Mit App Inventer. Приложение автоматически сохраняет данные и сохраняет их в EEPROM Arduino.
Чтобы установить сообщение IN / OUT, кнопки, подключенные к контактам 5 или 6 Arduino, нажимаются, пока нажата кнопка главного дверного звонка И дверь открыта.
В зависимости от того, какая кнопка нажата, адрес EEPROM 0 устанавливается или сбрасывается. Существует ограничение на количество операций чтения / записи, которое может выдержать Arduino eeprom. Согласно большинству ссылок, предел составляет около 100 000, что означает, что если EEPROM записывается 4 раза в день, должно пройти около 55 лет или около того, прежде чем могут возникнуть проблемы.
Шаг 3: Программное обеспечение
Программное обеспечение для скетча Ардиуно довольно хорошо задокументировано по моим меркам!
Чтобы убедиться, что в EEPROM достаточно данных, раскомментируйте следующее и скомпилируйте.
После компиляции повторно примените маркеры комментариев и повторите компиляцию еще раз.
EEPROM.begin (); / *
outone = "0";
outtwo = "1";
outthree = "2";
Outfour = "3)";
inone = "0";
intwo = "1";
inthree = 10;
*/
Когда готовый проект будет установлен на двери, при закрытой двери нажмите и удерживайте кнопку, подключенную к контакту 4 Arduino, и нажмите колокольчик. Сообщение подтвердит ваше действие.
Это сохраняет значения, считанные с цифрового компаса, в EEPROM Arduino.
Функция diffy определяет, открыта дверь или закрыта.
пустота diffy (int froma, int toa)
{
int diff;
diff = froma - toa;
разн = (разн + 180)% 360;
если (разн <= 0)
{
разн + = 180;
}
еще
{
разн - = 180;
}
Затем загрузите bluetooth. APK на мобильный телефон. Когда дверь ОТКРЫТА, нажмите и удерживайте кнопку, подключенную к контакту 7 Arduino, и нажмите кнопку звонка. Устройство включится в режиме Bluetooth. Подключите модуль BT к телефону, введите необходимую информацию и отправьте ее на дверной звонок.
Дверной звонок будет оставаться включенным до тех пор, пока не будет получена информация с телефона.
Когда информация будет отправлена на дверной звонок, приложение сохранит информацию. Таким образом, если вы хотите внести какие-либо изменения, вам не нужно повторно вводить весь текст.
APK можно найти по следующему адресу.
ai2.appinventor.mit.edu/#5902371463495680
По соображениям безопасности ваш телефон должен попросить вас подтвердить, что вы хотите установить это приложение. На моем телефоне есть настройка под названием «Установить неизвестные приложения».
Рекомендуемые:
Распознавание лиц на Raspberry Pi 4B за 3 шага: 3 шага
Обнаружение лиц на Raspberry Pi 4B за 3 шага: в этом руководстве мы собираемся выполнить обнаружение лиц на Raspberry Pi 4 с помощью Shunya O / S, используя библиотеку Shunyaface. Shunyaface - это библиотека распознавания / обнаружения лиц. Проект направлен на достижение максимальной скорости обнаружения и распознавания с помощью
Как установить плагины в WordPress за 3 шага: 3 шага
Как установить плагины в WordPress за 3 шага: в этом уроке я покажу вам основные шаги по установке плагина wordpress на ваш сайт. В основном вы можете установить плагины двумя разными способами. Первый способ - через ftp или через cpanel. Но я не буду перечислять это, потому что он действительно комп
Прямая трансляция HD-видео 4G / 5G с дрона DJI с малой задержкой [3 шага]: 3 шага
Прямая трансляция HD-видео 4G / 5G с дрона DJI с малой задержкой [3 шага]: следующее руководство поможет вам получать прямые видеопотоки HD-качества практически с любого дрона DJI. С помощью мобильного приложения FlytOS и веб-приложения FlytNow вы можете начать потоковую передачу видео с дрона
Протез руки, напечатанный на 3D-принтере за 4 шага !: 4 шага
Протез руки, напечатанный на 3D-принтере за 4 шага !: Этот проект - протез руки, напечатанный мной, я хочу получить больше знаний о протезировании и 3D-печати. Хотя это не лучший проект, это отличный способ получить практический опыт и научиться создавать
Интерфейс сенсора ADXL335 на Raspberry Pi 4B в 4 шага: 4 шага
Интерфейс датчика ADXL335 на Raspberry Pi 4B за 4 шага: в этом руководстве мы собираемся связать датчик ADXL335 (акселерометр) на Raspberry Pi 4 с Shunya O / S