Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр «Рыбный дождь 2» — это игра-симулятор рыбалки, где вы почувствуете себя настоящим рыбаком на берегу реки, озера или морского побережья.

Рыбный дождь 2

Симуляторы, Спорт, Ролевые

Играть

Топ прошлой недели

  • cristall75 cristall75 6 постов
  • 1506DyDyKa 1506DyDyKa 2 поста
  • Animalrescueed Animalrescueed 35 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
173
wisenheimer
Arduino & Pi

Проект GSM/GPRS сигнализации на Arduino ч.3⁠⁠

6 лет назад

Всех с праздником. Продолжаем совершенствовать нашу сигнализацию. Согласитесь, что ей очень не хватает беспроводных датчиков. Один из подписчиков попросил добавить в сигнализацию ИК-передатчик для управления кондиционером. Мы решили этот вопрос несколько иначе, но сама идея передачи данных по ИК-каналу мне понравилась. Комплектующие стоят копейки. Имеется уже готовая библиотека IRremote, позволяющая принимать и отправлять данные по ИК-каналу. Минусом данной технологии можно считать только необходимость прямой видимости между передатчиком и приёмником. При этом ИК-приёмник отлично принимает отражённый от стен и потолка инфракрасный свет. Та что не обязательно, чтобы ик-диод был направлен непосредственно на него. Таким образом, если датчики и сигнализация расположены в одной комнате, можно неплохо сэкономить на комплектующих.

Для того, чтобы сигнализация могла принимать ИК-команды, в неё нужно добавить ИК-приёмник. Я использовал TSOP31238 на 38 кГц . Можно взять любой другой, желательно этой же частоты, т.к. она применяется чаще всего.


Первая ножка модуля - земля, вторая +5В, третья - информационный выход. Его соединяем с 11 пином Ардуины в сигнализации. У других ИК-приёмников распиновка может отличаться.

Далее открываем файл настроек проекта libraries/main_type/settings.h

Подключаем библиотеку ИК-датчика через дефайн, записав в него 1.

# define IR_ENABLE 1 // библиотека для ик приёмника

Затем добавляем ИК-датчик в массив датчиков:

где

IR_SENSOR - тип датчика

"IR_0" - уникальное имя датчика. Будет выводиться в отчётах. Пишите любое своё, например "OKNO" или "KOMNATA".

0x41038C7 - 32 разрядное кодовое слово, передаваемое беспроводным датчиком при срабатывании. Можно указать любое другое. Оно будет отправляться датчиком при тревоге. Соответственно это же слово нужно зашить в датчик.

Если ИК-датчиков несколько, можно настроить их на передачу разных слов, тогда в массиве каждый датчик нужно прописать отдельно. Это позволит их различать.


Прошиваем сигнализацию.


Теперь настало время собрать беспроводной ИК-датчик.


Для этого нам понадобится Ардуино Нано, ИК-диод, чем мощнее, тем лучше. Его нужно подключить к 3 пину Ардуины через ограничивающий резистор 33-220 Ом. Далее начиная с 4 пина подсоединяем любые датчики. Точно так же, как мы это делали в сигнализации. Оба проекта используют одни и те же библиотеки.

Затем открываем файл настроек settings.h

Задаём код, который будет отправляться на ИК-приёмник. Мы уже указывали его при настройке датчиков сигнализации. Код должен совпадать, чтобы сигнализация могла понять, кто сработал.

#define IR_CODE 0x41038C7

Далее указываем размер отправляемого слова в битах

#define IR_CODE_BIT_SIZE 32

В примере проекта к беспроводному датчику подключено два сенсора, геркон и датчик движения. Поэтому мы сначала задаём номера пинов для сенсоров, начиная с 4 (4 и 5 в данном случае). Затем записываем в массив сенсоров два датчика.

На этом настройка проекта завершена. Можно прошиваться.


При срабатывании подключенного сенсора Ардуина ИК-датчика начнёт отправлять указанное нами слово по ИК-каналу. Количество повторов отправки определено дефайном

# define ALARM_MAX_TIME 10

Отправка слова производится раз в секунду.

Сигнализация примет это слово, сравнит с заданным в своих настройках, и при совпадении сработает режим тревоги.


Иногда мощности питания от порта Ардуины не хватает ИК-диоду, чтобы послать сигнал на большое расстояние. Тогда следует питать его напрямую от источника питания через транзистор. Например по такой схеме.

Обновлённая прошивка с проектом для ИК-датчика IRsensor лежит здесь

https://github.com/wisenheimer/Arduino


Так же необходимо установить через Arduino IDE библиотеку IRremote

или скачать её по этой ссылке https://github.com/z3t0/Arduino-IRremote


PS

В проекте добавилась новая библиотека для работы с датчиками температуры на основе термистора. Все необходимые коэффициенты задаются в самой библиотеке.

----------------

В следующей части постараюсь показать беспроводной датчик c Wi-Fi модулем.


Всем добра.

Показать полностью 6
[моё] Сигнализация Arduino Sim800l Gsm Gprs Ик-порт Ик приёмник Длиннопост
7
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии