Число преступлений в современном мире увеличивается с каждым годом, что повышает востребованность в системах безопасности различного назначения. Для охраны собственного дома (жилища) в настоящее время доступны множество разнообразных систем сигнализации, отличным выбором в этом плане является охранная система сигнализации с лаем собаки. Подобная сигнализация при обнаружении движения в охраняемой зоне генерирует звуковой сигнал, очень напоминающий лай собаки – она не только предупредит вас о приближении кого-либо к вашему дому, но и может подобным звуковым сигналом отпугнуть потенциального злоумышленника (вора).
В данной статье мы рассмотрим систему охранной сигнализации на основе платы Arduino, PIR датчика (пироэлектрического инфракрасного датчика движения) и звуковом модуле с лаем собаки. Данный модуль будет издавать звуковой сигнал, похожий на лай собаки, каждый раз когда PIR датчик обнаружит движение. На нашем сайте вы можете посмотреть следующие аналогичные проекты:
- сигнализация на дверь с использованием Arduino и ультразвукового датчика;
- детектор движения с использованием Arduino и PIR датчика;
- подключение доплеровского датчика движения RCWL-0516 к Arduino;
- автоматический свет на лестнице с помощью микроконтроллера AVR ATmega32 и PIR датчика.
Необходимые компоненты
- Плата Arduino Nano (купить на AliExpress).
- PIR Motion Sensor (пироэлектрический инфракрасный датчик движения) (купить на AliExpress).
- Dog Barking Sound Module (звуковой модуль с лаем собаки) (купить на AliExpress).
- Модуль усилителя LM386 (купить на AliExpress).
- Громкоговоритель с сопротивлением 8 Ом (с мощностью от 0.25W до 2W).
- Транзистор BC547 (купить на AliExpress).
- Конденсаторы 220 мкФ и 10 мкФ (2 шт.) (купить на AliExpress).
- Конденсатор 0,1 мкФ – 2 шт. (купить на AliExpress).
- Резистор 10 кОм – 2 шт. (купить на AliExpress).
- Потенциометр 100 кОм (купить на AliExpress).
Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158
Звуковой модуль с лаем собаки (Dog Barking Sound Module)
Данный модуль способен воспроизводить лай собаки (собачий лай), легко подключается к источнику питания и громкоговорителю и не требует для своей работы дополнительных усилителей и пассивных компонентов. Модуль содержит несъёмный чип и имеет специальные контакты, облегчающие его соединение с другими компонентами с помощью пайки. Модуль запитывается от 3-4.5V DC (постоянного тока). Спецификация модуля предусматривает подключение к нему 8-омного громкоговорителя с выходной мощностью от 0.25 до 2 Вт. Встроенная кнопка или триггер при нажатии обеспечивает воспроизведение собачьего лая 3 раза.
Особенности и технические характеристики модуля:
- звуковой сигнал хорошего качества;
- рабочее напряжение 3.0-4.5V;
- не требует дополнительного усилителя;
- маленькие размеры модуля (его печатной платы);
- работа с 8-омным громкоговорителем с выходной мощностью от 0.25 до 2 Вт;
- удобные для пайки площадки в составе модуля.
Схема проекта
Схема сигнализации с лаем собаки на Arduino и PIR датчике представлена на следующем рисунке. Усилитель в составе схемы используется для усиления сигнала с выхода звукового модуля с лаем собаки.
Схема сигнализации включает плату Arduino Nano, PIR датчик движения, звуковой модуль с лаем собаки, микросхему усилителя LM386, громкоговоритель, NPN транзистор и несколько резисторов и конденсаторов. Транзистор BC547 используется для активации сигнализации каждый раз когда PIR датчик обнаруживает движение. Контакты VCC и GND PIR датчика подключены к контактам 5V и GND платы Arduino, а его контакт OUT подключен к цифровому контакту 12 платы Arduino.
Контакты 1 и 8 микросхемы усилителя (Amplifier IC) служат для управления его коэффициентом усиления, по умолчанию он равен 20, но его можно увеличить до 200 при помощи конденсатора, включенного между контактами 1 и 8. Мы использовали конденсатор C1 емкостью 10 мкФ чтобы получить наибольший коэффициент усиления – 200.
Контакты 2 и 3 являются входными контактами микросхемы усилителя. Контакт 2 является инвертирующим входом, в нашем случае он замкнут на землю. Контакт 3 является неинвертирующим входом, на него подается сигнал, который требуется усилить. В нашей схеме он подключен к выходу звукового модуля с лаем собаки через потенциометр 100 кОм (RV1).
Через контакты 4 и 6 на микросхему усилителя подается питание. На контакт 6 подается +Vcc, а на контакт 4 – Ground (земля). Схему усилителя можно запитать от напряжения в диапазоне 5-12v.
Контакт 5 является выходным – с него снимается усиленный сигнал. Выходной сигнал содержит постоянную и переменную составляющую. Постоянная составляющая сигнала нежелательна – ее нельзя подавать на вход громкоговорителя, поэтому для ее устранения используется конденсатор емкостью 220 мкФ.
Контакт 7 – это bypass terminal (контакт шунтирования). Можно оставлять неподключенным или замыкать его на землю через конденсатор для повышения стабильности работы усилителя.
Сборка конструкции проекта
Конструкцию нашего проекта мы решили собрать на перфорированной плате. Убедитесь в том, что вы используете провода достаточной длины, необходимой для подключения датчиков. Внешний вид собранной нами конструкции проекта на перфорированной плате показан на следующих рисунках:
Объяснение программы для Arduino
Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.
Начнем мы код программы с объявления необходимых контактов.
1 2 |
int Sensor = 12; int transistor = 2; |
Далее в функции setup() инициализируем последовательную связь на скорости 9600 бод для целей отладки. Также для контакта Sensor установим режим работы на ввод данных, а для контакта transistor – режим работы на вывод данных.
1 2 3 4 5 |
void setup() { Serial.begin(9600); pinMode (Sensor, INPUT); pinMode (transistor, OUTPUT); Serial.println("Waiting for motion");} |
Затем внутри функции loop() мы будем считывать состояние контакта Sensor с помощью функции digitalRead() и если считанное с него значение будет больше 0, то мы будем включать сигнализацию, иначе мы будем ее выключать.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
void loop() { int val = digitalRead(Sensor); if(val ==HIGH) { digitalWrite(transistor, HIGH); Serial.println("Motion Detected"); } if(val == LOW) { digitalWrite(transistor, LOW); Serial.println("NO Motion"); } delay(1000); } |
Тестирование работы проекта
Соберите схему проекта и загрузите код программы в плату Arduino Nano. При подаче питания на схему PIR датчик начинает улавливать инфракрасные лучи, испускаемые человеческим телом. Когда он обнаруживает в поле своего действия человека, он выдает на свой выход логический уровень HIGH (напряжение в диапазоне от 3.5V до 5V), который подается на контакт 12 платы Arduino. Когда плата Arduino обнаруживает этот уровень HIGH, она включает транзистор, который, в свою очередь, включает сигнализацию – в нашем случае при этом издается собачий лай 3 раза.
Более подробно работу проекта вы можете посмотреть на видео, приведенном в конце статьи.
Исходный код программы (скетча)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
int Sensor = 12; int transistor = 2; void setup() { Serial.begin(9600); pinMode (Sensor, INPUT); pinMode (transistor, OUTPUT); Serial.println("Waiting for motion");} void loop() { int val = digitalRead(Sensor); if(val ==HIGH) { digitalWrite(transistor, HIGH); Serial.println("Motion Detected"); } if(val == LOW) { digitalWrite(transistor, LOW); Serial.println("NO Motion"); } delay(1000); } |
2 ответа к “Сигнализация с лаем собаки на Arduino и PIR датчике”
а не прще ли? https://www.youtube.com/watch?v=4D3HZ0jZ2o4&t=29s
Возможно и проще, но с помощью платы Ардуино можно при желании реализовать различные другие режимы работы подобной сигнализации