Ардуино, mBlock и набор "Умный дом" (БХВ). Проект "Охранная система". Реально-виртуальное пространство проектов scar169 / 10.01.2017 Продолжим. В прошлый раз мы закончили проект "Азбука Морзе" и, добавив к схеме пьезоизлучатель, получили охранную сирену. Теперь можно из данной конструкции сделать настоящую охранную сигнализацию, а это уже реальный компонент "умного дома". Причем, делать будем, не разбирая предыдущую схему, а лишь немного ее модернизируя.После обсуждения "Что же надо добавить, чтобы сирена включалась сама?" выходим на мысль о том, что требуется какой-то датчик-сенсор. В случае охранной сигнализации первое, что приходит в голову, глядя на входящие в наш набор компоненты - инфракрасный датчик движения.Вот такой:Подробнее о датчике и схеме его работы. Схема с данного ресурса:А вот здесь - материал о физике работы датчика и опять же - схема подключения и т.д.Перевернув датчик, видим три контакта подключения: VCC (+ питания), GND (Земля) и OUT - для подсоединения к входу Ардуино. Также есть возможность поднастроить датчик по чувствительности и времени срабатывания (сколько времени он будет выдавать цифровой сигнал 1 при обнаружении движения, прежде чем вновь перейти в состояние 0).Вначале можно не заниматься настройками датчика, среднее положение вполне рабочее. А потом - может и будет интересно поднастроить датчик под параметры своего задания.Задание 1. Подключение датчика и проверка его работоспособности.1.1. Для этого задания совсем не обязательно собирать всю нашу прошлую схему и, если вы идете не следом за нами по линии проекта, можно просто соединить датчик тремя проводами типа "папа-мама" соответственно с контактами на Ардуино: +5В, GND и , например, пином 3 для снятия показаний.1.2 Если же мы продолжаем проект и у нас есть неразобранная схема "Азбуки Морзе", то просто внесем пару дополнений - изменений.Первое изменение: добавим датчик движения. Соединив уже по описанной выше (1.1) схеме, но на нашей плате проекта.Соединяем плату с компьютером, включаем mBlock. Работать будем в режиме управления из среды mBlock (так проще отрабатывать и настраивать проекты, да и батарейки не нужны, удобно), так что проводим стандартные операции подсоединения устройства и (если раньше оно было автономным) обновления прошивки mBlock. Для тех, кто не читал первые посты - пункты 4 и 5. На самом деле эти операции подсоединения в режиме управления или заливки скетчей для автономной работы - к ним быстро привыкаешь и делаешь на автомате.Итак, датчик на плате, плата подключена и может работать с mBlock.Делаем простую программу, просто для проверки работоспособности датчика.Это первый вариант вывода информации с датчика. Мы объявили новую переменную "Тревога" и в рабочем окне можем наблюдать за изменением показаний (1 или 0) . Замерли...0. Пошевелились рядом с датчиком - 1. Работает - прекрасно, идем дальше. Не работает - проверяем контакты. Задание 2. Соединяем виртуальное и реальное пространство.В принципе, мы это и раньше делали, выводя данные в рабочем поле программы. Но пока еще особо не привлекали внимание к тому, что можно ведь использовать весь арсенал Scratch 2.0, лежащего в основе mBlock, для виртуализации событий, команды к которым будут поступать с реального устройства! Т.е. в будущем вообще можно будет построить виртуальный умный дом, в котором будут открываться форточки, опускаться шторы, зажигаться свет, работать сигнализация и т.д. и при этом в качестве датчиков будет выступать реальная схема с Ардуино. Тут вообще раздолье для учебных проектов и сложных сценариев)))Но для начала все проще. Пусть персонаж-спрайт mBlock стоит, охраняет, думая "Хмммм" пока все в порядке, и бегает туда-сюда, крича "Тревога!" в случае срабатывания датчика.Пример программы:Поверьте, очень забавно))) Можно добавить в проект звуки из библиотеки, или записать свой "Тревога!!!" чтобы не просто бегал, но и кричал по настоящему!Задание 3. Делаем внешнюю сигнализацию, заодно экспериментируем с пьезоэлементом.Теперь можно попробовать сделать свето-звуковую охранную систему уже в реальном мире. Немножко модернизируем схему "Азбуки Морзе", упорядочив провода питания (идущие к +5В) - просто, чтобы было удобнее ориентироваться. Как-то принято выводить их на специальную красную полосу монтажной платы. И второе изменение - уберем провод управления звучком-пьезоэлементом с 10-го пина (где он работал одновременно с светодиодом) на, например, 9-ый, чтобы можно было управлять им отдельно. Посмотрим, как он может издавать разные звуки.Вариант схемы соединения:Проверим работоспособность решения. Для подачи звукового тона пьезоэлементом воспользуемся специальным блоком в разделе Робот: Воспроизвести звук... на ноте... в течении...такта. Ноту можно выбирать из списка (или писать самому частоту излучения), что даст нам возможность в будущем создавать музыкальные композиции, но пока двухтональной сигнализации вполне хватит. В качестве пауз между световыми сигналами будут выступать сигналы звуковые и движение виртуального персонажа)) Например так:Пробуем. Если персонаж при тревоге бегает с воплями "Тревога!", а система правильно срабатывает, реагируя на движение светом и противным звуком - все в порядке.Видео работающего устройства (жалко, не попал вариант, когда мой кот пытался подобраться к устройству, а оно его отпугивало. Но я там ржал, извините, "не мог удержаться от смеха", и про съемку забыл)))). Задание 4. Делаем автономную сигнализацию, пока световую.Что ж, если говорим о сигнальном устройстве, то неплохо бы проверить возможность его автономного существования.Пробуем. Меняем шапку проекта на "Arduino Program", убираем блоки управления виртуальным персонажем. Я бы даже рекомендовал на время воздержаться от звука, уж очень раздражает во время настроек)))) Так что оставляем моргание светодиодом.Получается как-то так:Переходим в Arduino Mode и закачиваем программу на устройство. Подсоединяем батарею питания (можно и не подсоединять, питание идет по кабелю USB, но так меньше заметна автономность. Если батареи есть - хорошо показывать именно удаленный вариант без провода к компьютеру). Двигаемся - светодиод моргает, остановились - гаснет. В принципе - уже сигнализация. Но можно усложнить проект.Задание 5. Делаем автономную сигнализацию, свет, звук, кнопка.На нашей схеме, помимо датчика, есть светодиод, звучок и кнопка. Логично использовать все элементы. Поэтому техническое задание:1 Система должна включаться в "боевой режим" нажатием на кнопку, о чем должен просигнализировать однократный сигнал светодиода.2. После сигнала светодиода должен быть промежуток времени для "удирания" с места установки. В моем случае - 5 секунд, чтобы зайти за дверь.3. Через 5 секунд (или заданное вами время) устройство переходит в режим ожидания движения.4. При срабатывании датчика движения работает свето-звуковой сигнал сирены. 5. Отключить систему можно, еще раз нажав на кнопку, после чего светодиод моргает два раза и устройство готово к новому запуску *при новом нажатии кнопки все начинается с пункта 1)Вариантов реализации может быть много. По сути, можно даже сделать кодированный вариант отключения системы (это тема отдельного проекта, как научить систему распознавать нажатия, длину, паузы...)Пока же вариант реализации вышеизложенного ТЗ: Ну и видео работающего устройстваОбсуждалки по окончанию: где еще можно использовать датчик присутствия? (включение/выключение дежурного освещения, шлагбаум и т.д.) Обсуждение будущих проектов (пьезоэлемент с изменяемой тональностью ... музыкальный инструмент?) и т.д.Набор программ из поста - 5.zip ( 187.15 килобайт ) Кол-во скачиваний: 215Ну вот, пока все. До новых проектов)))Наши публикации по теме: учебные наборы "Умный дом"(и другие наборы на основе Ардуино): Ардуино, mBlock и набор "Умный дом" (БХВ). Проект "Азбука Морзе" (+пьезоизлучатель) и "Охранная система" (начало) Ардуино, mBlock и набор "Умный дом" (БХВ). Проект "Азбука Морзе" (кнопка) Ардуино, mBlock и набор "Умный дом" (БХВ). Проект "Азбука Морзе" (управление светодиодом) "Умный дом" (БХВ), mBlock и первые проекты с Arduino UNO и светодиодом От "Умного дома" (БХВ) до "Конструкторского бюро" в школе Arduino. Наборы. "Умный дом" от БХВ-Петербург RIP arduino buzzer mBlock БХВ азбука Морзе инфракрасный датчик движения контроллер наборы проект пьезоизлучатель светодиод умный дом