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

Рецепт Счастья

Казуальные, Головоломки, Новеллы

Играть

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

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

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

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

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

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

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

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

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

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


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

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

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

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

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

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

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

где

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

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

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

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


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


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


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

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

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

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

#define IR_CODE 0x41038C7

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

#define IR_CODE_BIT_SIZE 32

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

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

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


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

# define ALARM_MAX_TIME 10

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

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


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

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

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

https://github.com/wisenheimer/Arduino


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

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

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


PS

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

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

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


Всем добра.

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