81

Сигнализация для дома и квартиры. Ч.2

Не ожидал того что на меня подпишутся 32 человека, после того как заметил сразу же продолжил делать начатое.


А продолжу я с того что буду  разводить провода под модули.


Провода нужных размеров я снял со старых не работающих мышек/клавиатуры.

Дюпоны "мама" были изъяты из нескольких системных блоков и выпрошенных у знакомого человека.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Примерно вот что у меня получилось

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Далее взял приготовленный корпус для MFRC522, продел через отверстие провода и припаял 2 светодиода(синий и красный), клеил их на термоклей, на контакты со светодиодами были припаяны резисторы номиналом 220ом(под конец поста вы их увидите).

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео
Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Дюпоны "папа" делал из: медной проволоки 0.8мм и термоусадки.

После припайки самопальных дюпонов, подсоединил модуль к arduino для проверки передачи данных по длинному проводу(до этого проверял, сигнал не доходил после чего провод укоротил до нужных размеров).


Для проверки модуля использовал готовый скетч.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео
Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Все работает, идём дальше.


Опять же вырезал кусок кабельного канала и придал и склеил нужную форму  для датчика движения.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

При приклеивании углов у меня случился казус, приклеил пальцы к пластику. Если у вас такое случалось/случится не старайтесь отодрать пальцы от приклеиваемого места, вы так отдерёте себе кусок кожи. Склеившийся палец(ы) можно снять с помощью полу горячей/тёплой воды.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

После засыхания клея, датчик движения был приклеен на термоклей.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Дабы не оставлять провода в безобразном виде, было куплено несколько термоусадок.

Термоусадку пришлось усаживать газовой горелкой, т.к усаживание зажигалкой займёт больше времени.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Усадил, соединил и приступил к написанию скетча, после написания скетча начал проверять.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Вся основа готова, теперь необходимо сделать питание для всего этого.


Запитывать все это буду от ИБП аккумулятора на 12в. 7ah(не реклама).

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Так же для питания развёл провода. Для защиты от короткого замыкания было решено припаять предохранитель на 1ампер.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео
Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео
Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

На один из конец провода был припаян штекер питания для arduino(тут схема, может кому пригодится).

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Так же от резкого перепада напряжения был припаян конденсатор на 16вольт 2000мф(желательно больше, напряжение заметно проседает при включении сигнала).


На обратной стороне кабеля припаял наклемники для подключению к аккумулятору.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Осталось все это собрать воедино и окончательно проверить на работоспособность.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео
Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

На 6-7 контакте видно как припаяны резисторы к самодельным дюпонам.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

Все уложено, утрамбовано , впилен сигнализационный клаксон.

Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео
Сигнализация для дома и квартиры. Ч.2 Arduino, Сигнализация, Своими руками, Длиннопост, Видео

После того как все окончательно прикрутил начал проверять.


По началу MFRC отказывался принимать ключ карту(не понял почему, позже все заработало).


Собсно вот последнее видео.

Под комментариями прошлого поста просили писать/добавлять больше информации но в этом особо не смог разгуляться(ограничение на 25 блоков), поэтому пришлось пару фотографий удалить.


Будет ли продолжения?

-Пока что сам не знаю, в планах докупить еще один датчик движения и gsm модуль.


Кому нужен скетч и схема подключения, напишите в комментарии на какой файлообменник залить.

Найдены возможные дубликаты

+7

все сильно проще. Вот ту паутину проводов с первой фотки кладешь под дверь, вор заходит, запутывается, падает и ждет полицию. Не просто сигнализация, так еще и поимка нарушителя.

Эээх, молодееежь.


Ну а вообще круто, да :)


Несколько советов (не претендую на экспертные знания, просто мое мнение):
* Вместо тонны проводов для кардридера лучше использовать шлейф. Выглядит опрятно, и проще ориентироваться в проводах.

* Есть отличные сирены на 12в. Сам не пробовал, но судя по отзывам на амазоне, громкие что обосрешься. Тогда, можно вместо реле использовать транзистор. Тогда не нужно иметь дело с 220в, что очень полезно в домашниих проектах из-за возможных ошибок (ты ведь не хочешь, чтобы твой девайс вдруг ночью сошел с ума и загорелся? Хотя предохранитель частично спасает, да). Да и просто меньше щансов, что ебанет током.

* Arduino UNO громоздкая, хороша лишь для развлечения с макетками. Если делаешь девайс, который реально планируешь использовать, то контакты надо пропаивать, не оставляй просто воткнутые провода. Плохой контакт (а со временем он может стать хуже) будет причиной отказов работы кардридера и всего остального. Я почти везде использую Arduino Nano - маленькая платка с примерно теми же возможностями, к ней легко припаиваться.

Успехов!

раскрыть ветку 1
+1

*Со временем разберусь что можно сделать с проводами, а пока так(скоро учёба/универ, а дома ни души).

*Сирену я специально прикрыл скотчем(на видео видно), что бы не орала на всю квартиру, орёт прилично(уши заложить может), а более мощные ставить не вижу смысла(вроде как могут сделать мне атата за это).

+2

Термоусадка в качестве "обертки" проводов? Не выйдет ли дороже чем витую пару взять? Или как вы будете разводку прятать при мониторинге всех комнат?

Марку датчика движения напишите - какой там принцип? Сможет ли мониторить всю комнату из угла?

раскрыть ветку 4
0

Про витую пару то я совсем забыл, учту в след раз, а термоусадка у нас стоит копейки, к примеру брал оранжевого цвета(метр) 200тг / 5.2 = 38руб.

раскрыть ветку 3
0

более того, на какое расстояние вы хотите эту лапшу прокинуть?

витая пара тем и хороша, что можно не беспокоиться по сути

раскрыть ветку 2
+1

Автор, я тебе пару полезных ссылочек подкину, ибо нет сил видеть такой колхоз с проводами!

https://ru.aliexpress.com/item/140PCS-LOT-2-54mm-Plastic-Dup...

https://ru.aliexpress.com/item/100x-Dupont-Jumper-Wire-Cable...

раскрыть ветку 3
0

Благодарю, закажу по первой ссылке.

раскрыть ветку 2
0
Это только колодки, сами пинки (контакты, к которым припаиваешь провода, а потом запихиваешь в колодки) - вторая ссылка.
Я сам раньше колхозил из комповых колодок, потом надоело.


А шлейф хорошо делать из тех же PATA и COM шлейфов.

0

И по второй тож

+1
Чёт херово у тебя "сигнализация" работает.
Срабатывает через раз непонятно как, карточки тоже через раз принимает.
Либо код сырой, либо датчик движения и считывания кар херовые.
раскрыть ветку 1
0

На счет карточки. В коде я специально сделал задержку между включением/выключением сигнализации.

А вот с датчиком движения косяки есть, при первой проверке(после того как пришла на почту) все так же и глючило, не сразу срабатывало, регулировал подстроечные резисторы(таймер задержки и чувствительность) так толком не понял полную суть его работы. Закажу второй датчик движения, как придёт буду конкретно разбираться.

0

По финансам сколько вышло? да и интересует скетчи, тоже охота на даче запилить. Заранее спасибо)

раскрыть ветку 1
0
Старался сделать все дешевле. Не считая питания и проводов вышло 5.8$
0

Выложите. пожалуйста, скетч на яндекс диск. хотелось бы посмотреть

раскрыть ветку 1
0

Яндекса не имею, вот что есть: https://cloud.mail.ru/public/Ds4r/Dugd98X6t

0
КОЛХОЗ
0
Если честно, то интересна тема, но не то как ты ее подал. Как клеить коробочки и паять провода многие знают. А вот для чего элементы схемы и как они соединены воедино хочется прочитать из поста. А так, два Поста ни о чем.
раскрыть ветку 2
0

Будет вам более подробное пояснение, схема, скетч и видео. Сделаю после того как придут детали.

раскрыть ветку 1
0

Буду ждать, спасибо!

0

У нас так один мужик собрал сигналку со звуковым сигналом. Так воры залезли в квартиру, она сработала и у одного из воров приступ случился от внезапно сработавшей сирены, ну он и помер на месте. А хозяина хаты посадили.

раскрыть ветку 3
0

Звуковой сигнал, случайно, не с тепловоза был?

раскрыть ветку 1
0

вроде от машины сигналка была.

0
Позже когда с Китая детали придут, сделаю регулятор громкости для клаксона и кое что изменю и добавлю в схему
0

Здравствуйте. очень интересные статьи у вас, я вот тоже озадачился GSM сигнализацией,

выложите, пожалуйста, скетч и схему подключения на яндекс диск.

раскрыть ветку 1
0

Здраствуйте, посмотрите 3ий пост

0

GSM модуль надо бы добавить. Очень громоздко выходит, я делал подобное без сирены, но в таком варианте вынес бы её отдельно чтоб не могли отрубить всю систему просто найдя место откуда орёт. В идеале туда ещё камеру подрубить с gsm и лить фото\видео поток в сеть.

раскрыть ветку 1
0
Gsm модуль необходим т.к если сработает сигнализация(а ты в этот момент находишься не дома) то орать она будет до того момента пока не выключат свет или не сядет аккумулятор.
0

Автор, спасибо за идею.

Пилю себе схему для умного дома, и был затык с безопасностью. Не хотел ставить дополнительный электронный замок(читай не вскрываемый обычными способами) т.к это не очень надежная вещь. Пока читал тебя осознал, что не обязательно  дополнительно запирать дверь, достаточно спугнуть вора сиреной(которая сработает от самого факта открытия/выноса двери любым способом). Сам не понимаю как не додумался до такой очевидной вещи.

раскрыть ветку 1
0
На том вся суть моей задумки была, чтобы спугнуть воришку воем сирены(да она прилично орет, соседи могут услышать).
Некоторые люди, в моей задумке нашли в ней недочеты позже я все устраню.
0

как планируешь избавляться от проводов? разводку всей этой паутины делать вообще не вариант, ИМХО.

раскрыть ветку 1
0

Буду искать кабель витой пары, пусть это моё безобразие будет временным вариантом.

0

Неужели так сложно купить нормальный многожильный провод? Зачем вся эта возня с термоусадками?

0

Судя по комментариям людям не нравится то как я косо-криво реализовал провода(это временный вариант), решу проблему в ближайший месяц(сделаю заказ на второй датчик движения и на дюпоны "мама"). Провода заменю на витую пару(постараюсь найти, покупать не хочется), провода скорее всего я запаяю на плату arduino.

Похожие посты
476

Самодельная метеостанция для мониторинга погоды

Казалось бы, причем тут исследования космоса? Но далее все по-порядку :)

Мониторинг погоды с помощью самодельного оборудования оказался довольно любопытным занятием...


Идея создания автоматизированной обсерватории с удаленным управлением упёрлась в необходимость получать текущие данные состояния погоды в точке установки астрономического оборудования, вот этого:

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Четыре года назад познакомился с микроконтроллерами Arduino (AVR), они оказались очень удобными для прототипирования различных устройств, которые потом можно будет сделать на более серьезных МК. Для обучения работы с Arduino решил собрать первое устройство - метеостанцию. Состояла она из двух блоков - внешнего, который висел за окном и раз в 5 минут передавал показания, и внутреннего, который принимал показания по радиоканалу и отправлял их в сеть на удаленный сервер. На внешнем блоке даже сделал солнечную панель, как помню купил по акции шесть садовых фонариков по 39 рублей, выдернул из них солнечные панели. Собрал из них одну большую, она заряжала внутренние АКБ (обычные ААА аккумуляторы). Такого симбиоза хватало на полгода бесперебойной работы метеостанции, потом аккумуляторы все-таки приходилось заряжать нормально.

Спустя год работы метеостанции, я ее отключил и разобрал. Сделана она была из подручных материалов, вот как она выглядела спустя год работы (внешний блок):

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Самодельный блок с анемометром, датчиком освещенности на фоторезисторе и датчиком DHT22 - температуры и влажности.

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Блок с МК, и аккумуляторами спустя год - резиновые заглушки сильно потрескались.

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Ну а внутри этого блока находится вот что:

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Корпус утеплял в 2-3 слоя, проклеивал. Не знаю помогло это или нет, но АКБ, которые там стояли, до сих пор держат заряд и работают исправно. Целый год работала Arduino и не было ни одного сбоя или зависания - ее не приходилось перезагружать. Разброс температур был от +45 на Солнце, до -32 зимой.

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Анемометр можно было бы сделать из шариковой мышки, но я такую не нашел. Сделал из небольшого двигателя, убрал все лишнее и прорезал сбоку отверстие для отпопары. На штоке якоря убрал обмотку, поставил самодельный диск с прорезью. Ну и DHT22 датчик:

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Одно из моих увлечений - астрономия, и в этом году я построил астрономическую будку с удалённым управлением (часть 1, часть 2, часть 3). И для автоматизации процесса съемки очень важно получать и обрабатывать погодные условия прямо здесь и прямо сейчас. Поэтому решил строить новую метеостанцию, опять на Arduino (понравилась мне она), но уже более серьезную.

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Сперва сделал на RJ-45 розетках возможность подключения модулей, но потом переделал на жесткую пайку. Все-таки так будет надёжнее, учитывая прошлый опыт. Соединения могут давать сбои.

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Все детали метеостанции напечатал на 3D принтере, получилось прям как заводское исполнение.

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Метеостанция после недели тестов и отладки программного обеспечения установлена на свое место - на астрономическую обсерваторию.

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

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

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

Все данные можно смотреть через веб-интерфейс: просматривать текущие метеоусловия, а также статистику по предыдущим дням: https://meteo.miksoft.pro/

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

В планах - "допиливание" frontend \ backend метеостанции, сделать возможность выгрузки данных. Также сейчас метеостанция подключена и к проекту "Народный мониторинг".

Конечно, я понимаю, что для работы настоящей метеостанции должны быть выполнены большое количество условий (чтобы ее показания котировались), датчики должны быть сертифицированы, и явно быть дороже и точнее. Но сейчас, для работы удаленной астрономической обсерватории, мне этого более чем достаточно - перед запуском планировщика обсерватории я могу посмотреть текущую метеосводку. Теперь я могу быть уверенным, что в случае наступления неблагоприятных метеоусловий во время съемки (облака или осадки) - контроллер обсерватории сам припаркует телескоп и закроет крышу.

Самодельная метеостанция для мониторинга погоды Астрономия, Наука, Телескоп, Космос, Обсерватория, Строительство, Своими руками, Arduino, Электроника, Метеостанция, Погода, Длиннопост, Рукоделие с процессом

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


Что дальше? Может быть стоит как-то развить этот мини-проект, сделать еще одну, но автономную, с солнечной панелью, АКБ и передачей данных по GSM?


Посты про строительство обсерватории смотрите в моем профиле.


Адрес метеостанции: https://meteo.miksoft.pro/

Мой телеграмм канал: https://t.me/nearspace (@nearspace)
Показать полностью 13
10531

Как я учился играть на гитаре, а в итоге создал свою цифровую

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Меня зовут Дмитрий Дударев. Я занимаюсь разработкой электроники и очень люблю создавать различные портативные девайсы. Еще я люблю музыку.


Давным-давно – в апреле или около того, когда весь мир сотрясался от ударов страшного карантина, я решил научиться играть на гитаре. Я взял у друга акустическую гитару и стал осваивать инструмент по урокам из ютуба и табулатурам. Было тяжело. То ли я неправильно что-то делал, то ли плохо старался, то ли в обществе моих предков мелкая моторика вредила размножению. Короче, ничего кроме звуков дребезжащих струн у меня не выходило. Мое негодование усиливала постоянная расстройка струн. Да и окружающим тысячный раз слушать мою кривую Nothing else matters удовольствия не доставляло.


Но в этих муках про главное правило электронщика я не забыл. Если что-то существует, значит туда можно вставить микроконтроллер. Или, хотя бы, сделать портативную электронную модификацию.


Электронная гитара? Хм, интересная идея, подумал я. Но еще лучше, если на этой гитаре я сам смогу научиться играть. В тот же день акустическая гитара отправилась на свалку обратно к другу, а я стал придумывать идею.

Поскольку я у мамы инженер, то первым делом я составил список требований к девайсу.



Что я хочу от гитары?


1)  Я хочу что-то максимально похожее на гитару, т.е. шесть струн и 12 ладов на грифе.


2)  Хочу компактность и портативность. Чтобы можно было брать девайс с собой куда угодно, не заказывая газель для транспортировки.


3)  Устройство должно без плясок с бубном подключаться к чему угодно, от iOS до Windows. Окей-окей, ладно, будем реалистичными – ко всем популярным осям.


4)  Работа от аккумулятора.


5)  Подключение должно производиться без проводов (но раз уж там будет USB разъем для зарядки, то и по проводу пусть тоже подключается)


6)  Ключевой момент – на гитаре должно быть просто учиться играть, без необходимости в долгих тренировках по адаптации кистевых связок. Как это реализовать? Сразу пришла идея оснастить струны и лады светодиодами. Типа, загрузил табулатуры в гитару, а она уже сама показывает, куда ставить пальцы. Т.е. нет такого, что смотришь на экран, потом на гитару, снова на экран, снова на гитару. Вот этого вот всего не надо. Смотришь только на гитару. И там же играешь. Все. Это прям мое.


7)  Хотелось бы поддержки разных техник игры на гитаре: hummer on, pull off, slide, vibrato.


8) Без тормозов. По-научному – чтобы задержка midi-команд не превышала 10мс.


9)  Все должно собираться из говна и палок легко доступных материалов без сложных техпроцессов и дорогой электроники.



В итоге должен получиться компактный инструмент, на котором можно играть, как на гитаре, лишенный аналоговых недостатков и оснащенный наглядной системой обучения. Звучит реализуемо.


Разумеется, для мобильных платформ потребуется написать приложение, в котором можно будет выбрать табулатуру для обучения светодиодами, выбрать инструмент (акустика, классика, электрогитара с различными пресетами фильтров, укулеле и т.д.), и воспроизводить звуки.


Существующие аналоги


А надо ли изобретать велосипед? Ведь на всякую гениальную идею почти наверняка найдется азиат, который уже давно все реализовал в «железе», причем сделал это лучше, чем ты изначально собирался. Иду гуглить.


Оказывается, первая цифровая гитара была создана еще в 1981 году, но в народ сильно не пошла из-за хилой функциональности.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Варианты посовременнее, конечно, тоже нашлись.

Вот, например, с айпадом вместо струн или еще одна в форме моллюска:

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара
Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Однако такого, чтобы выполнялись все мои хотелки – в первую очередь компактность и режим обучения «жми на лампочки» – такого нет. Кроме того, такие midi-гитары нацелены все же на более профессиональную аудиторию. И еще они дорогие.


Значит, приступаем!


Первый прототип


Чтобы проверить жизнеспособность концепции, нужно сначала определиться с элементной базой.


Контроллер берем STM32F042. В нем есть все, что нужно, при стоимости меньше бакса. Кроме беспроводного подключения, но с этим позже разберемся.


Далее. Струны на деке. Для первого концепта решил напечатать пластиковые язычки, закрепить их на потенциометрах с пружинками и измерять углы отклонения.

Так выглядит 3D-модель:

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

А так живьем:

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Тактильное ощущение приятное. Должно сработать.

Для ладов на грифе я заказал на Али вот такие тензорезистивные датчики.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

В отличие от разнообразных кнопок, они не щелкают. Плюс есть возможность определять усилие нажатия, а значит, можно реализовать сложные техники вроде slide или vibrato.

Плюс нужен АЦП, чтобы считывать инфу с датчиков и передавать на контроллер.


Пока ждал датчики из Китая, развел плату:

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара
Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Прежде чем заказывать печать платы, решил дождаться тензорезисторов. И, как оказалось, не зря. Из 80-ти датчиков рабочими оказались только несколько, и то с разными параметрами.

Выглядит, мягко говоря, не так, как заявлено. И чего я ожидал, покупая электронику на Али?..

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

И тут меня осенило.

Можно ведь применить другой метод детектирования — измерение емкости, как в датчиках прикосновения. Это гораздо дешевле и доступнее. А если правильно спроектировать механику, то можно и усилие определять.


Что ж. Удаляю все, что было сделано

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Второй прототип


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


Дополнительно на всякий случай повесил на каждый элемент грифа по посадочному месту для кнопки или чего-то подобного. И сделал соответствующие вырезы в плате. Это чтобы можно было не только прикоснуться к цилиндрику, но и прожать его внутрь. Можно будет поэкспериментировать с разными техниками игры.


Решив вопрос подключения множества микросхем измерителя емкости к контроллеру, приступаю к разводке платы.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

На этот раз плату удалось заказать и даже дождаться ее изготовления.

После того, как припаял все комплектующие к плате, понял, что конструкция с пластиковыми струнами получается слишком сложной. Поэтому решил пока что повесить на деку такие же сенсорные цилиндрики, но подлиннее.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Два проводочка в нижней части – это я подключил накладку с цилиндриками к уже изготовленной плате. Это временное решение.

Железяка готова. Следующая задача – заставить ее играть.

Софт

Программная часть реализована так:

1. Скачиваем виртуальный синтезатор, который может работать с MIDI устройством и издавать гитарные звуки.

2. Пишем прошивку для контроллера, которая будет опрашивать сенсоры и передавать данные по USB на комп.

3. На стороне компа пишем программу, которая будет получать эти данные, генерировать из них MIDI-пакеты и отправлять их на виртуальный синтезатор из пункта 1.

Теперь каждый пункт подробнее.

Виртуальных синтезаторов под винду с поддержкой MIDI оказалось довольно много. Я попробовал Ableton live, RealGuitar, FL studio, Kontakt. Остановился на RealGuitar из-за простоты и заточенности именно под гитару. Он даже умеет имитировать несовершенства человеческой игры – скольжение пальцев по струнам, рандомизированные параметры извлечения нот.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Чтобы подключить свое приложение к виртуальному синтезатору я сэмулировал виртуальный порт midi, который подключен ко входу синтезатора RealGuitar через эмулятор midi-кабеля. Такая вот многоуровневая эмуляция.


*Мем с ДиКаприо с прищуренными глазами*

В интерфейсе программы я сделал графическое отображение уровня измеряемой емкости для каждого сенсора. Так будет проще подстраивать звучание. Также на будущее добавил элементы управления светодиодами, вибромотором (пока не знаю зачем, но он тоже будет в гитаре), визуализации работы акселерометра и уровня заряда аккумулятора.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Для того чтобы удары по струнам гитары вызывали проигрывание правильных нот, нужно замапить все 72 сенсора на грифе на соответствующую ноту.

Оказалось, что из 72 элементов на 12-ти ладах всего 37 уникальных нот. Они расположены по определенной структуре, так что удалось вместо построения большой таблицы вывести простое уравнение, которое по номеру сенсора выдает номер соответствующей ноты.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Проверяем работу


Похоже, все готово для первого теста. Пилить прутки и паять все 12 ладов мне было лень, поэтому ограничился 8-ю. Момент истины:

IT’S ALIVE! Жизнеспособность концепта подтверждена. Счастью не было предела! Но нельзя расслабляться.


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


Светодиоды


По плану гитара должна подсказывать пользователю, куда ставить пальцы, зажигая в этом месте светодиод. Всего нужно 84 светодиода. Тут все просто. Я взял 14 восьмибитных сдвиговых регистров и соединил в daisy chain. STM-ка передает данные в первый регистр, первый – во второй, второй – в третий и т.д. И все это через DMA, без участия ядра контроллера.


Акселерометр


Самый простой акселерометр LIS3D позволит гитаре определить угол своего наклона. В будущем буду это использовать для наложения звуковых фильтров во время игры в зависимости от положения гитары.


Беспроводное соединение


Для беспроводной передачи данных решил поставить ESP32. Оно поддерживает различные протоколы Bluetooth и WI-FI, будет с чем поэкспериментировать (на тот момент я еще не знал, что в моем случае существует только один правильный способ подключения).


Корпус


Одно из ключевых требований к гитаре – портативность. Поэтому она должна быть складной, а значит, электронику деки и грифа нужно разнести на две платы и соединять их шлейфом. Питание будет подаваться при раскрытии корпуса, когда магнит на грифе приблизится к датчику Холла на деке.


Доработка прототипа


Что ж, осталось облачить девайс в приличную одежку.

Я много экспериментировал с различными конструкциями тактильных элементов грифа и рассеивателями для светодиодов. Хотелось, чтобы равномерно светилась вся поверхность элемента, но при этом сохранялась возможность детектирования прикосновения и нажатия на кнопки.

Вот некоторая часть этих экспериментов:

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Еще я обратился к другу, который профессионально занимается промышленным дизайном. Мы придумали конструкцию узла сгибания гитары, после чего он спроектировал и напечатал прототип корпуса.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Развожу финальный вариант плат и собираем гитару:

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Выглядит почти круто. Но девайс все еще подключается к компу через цепочку эмуляторов, эмулирующих другие эмуляторы.


Превращаем гитару в MIDI-устройство


В новой версии в первую очередь я хотел, чтобы при подключении по USB, гитара определялась как MIDI устройство без всяких лишних программ.


Оказалось, сделать это не так сложно. Все спецификации есть на официальном сайте usb.org. Но все алгоритмы, которые выполнялись на стороне python-приложения, пришлось переписывать на C в контроллер.


Я был удивлен, что оно сразу заработало на всех устройствах. Windows 10, MacOS, Debian 9, Android (через USB переходник). Достаточно просто воткнуть провод и в системе появляется MIDI-устройство с названием «Sensy» и распознается всеми синтезаторами. С айфоном пока протестировать не удалось т.к. нет переходника. Но должно работать так же.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Беспроводной интерфейс


Осталось избавиться от проводов. Правильное решение пришло не сразу, потому что я поленился как следует погуглить. Но в итоге я использовал протокол BLE MIDI, который поддерживается всеми новыми операционками и работает без всяких драйверов прямо как по USB MIDI. Правда, есть вероятность, что на более старых операционках решение не заработает в силу отсутствия поддержки BLE MIDI. Но все тесты с доступными мне девайсами прошли успешно.


Переписанный функционал приложения – т.е. трансляция данных сенсоров в MIDI-данные – занял точнехонько всю память контроллера. Свободными осталось всего 168 байт. Очевидно, кремниевые боги мне благоволили, значит иду в правильном направлении.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Уверен, можно оптимизировать, но это отложу для следующей версии. Хотя, возможно, проще не тратить время и просто взять контроллер потолще. Разница по деньгам – 5 центов. Посмотрим. Все равно нужно будет место для новых фич – обрабатывать техники игры, например. В первую очередь, хочу реализовать slide. Это когда начинаешь играть ноту с определенным зажатым ладом и проскальзываешь рукой по грифу, перескакивая с лада на лад.

Теперь можно проверить работу по беспроводу:

При включении всех светодиодов, гитару можно использовать, если вы заблудились в темной пещере.

Как я учился играть на гитаре, а в итоге создал свою цифровую Своими руками, Технологии, Музыка, Гитара, Электроника, Arduino, Разработка, Мобильное приложение, Стартап, Kickstarter, Видео, Длиннопост, Электрогитара

Недостатки прототипа


На текущий момент у конструкции есть следующие минусы:


1) На сенсорах нигде не измеряется усилие нажатия. Это влечет за собой три проблемы:

• Постоянно происходят случайные задевания соседних струн как на деке, так и на грифе. Это делает игру очень сложной.

• Все играемые ноты извлекаются с одинаковой громкостью. Большинство подопытных этого не замечают, но хотелось бы более приближенной к настоящей гитаре игры

• Невозможность использовать техники hammer on, pull off и vibrato


2) Светодиоды одноцветные. Это ограничивает наглядность при игре по табулатурам. Хочется иметь возможность разными цветами указывать на различные приемы игры.


3) Форма корпуса не подходит для левшей. С точки зрения софта – я уже реализовал инверсию струн по акселерометру. Но механический лепесток, необходимый для удержания гитары рукой во время игры, поворачивается только в сторону, удобную правшам.


4) Отсутствие упора для ноги. Сейчас при игре сидя нижняя струна почти касается ноги, а это неудобно.


5)  Сустав сгибания гитары требует осмысления и доработки. Возможно, он недостаточно надежен и стабилен.



Время переходить к разработке следующей версии.


Переезжаю на контроллер серии STM32F07. На нем уже 128КБ флэша – этого хватит на любой функционал. И даже на пасхалки останется.


Использовать ESP32 в финальной версии гитары было бы слишком жирно, поэтому я пошел искать что-то более православное. Выбор пал на NRF52 по критериям доступности, наличию документации и адекватности сайта.


Конечно, будут реализованы и три главных нововведения:


- светодиоды теперь RGB,

- на каждом сенсоре грифа будет измерение усилия (тактовые кнопки больше не нужны),

- струны на деке станут подвижными.


На данный момент плата деки выглядит так (футпринт ESP на всякий случай оставил):

Уже есть полная уверенность в том, что весь задуманный функционал будет реализован, поэтому было принято решение о дальнейшем развитии. Будем пилить стартап и выкладываться на Kickstarter :)


Проект называется Sensy и сейчас находится в активной разработке. Мы находимся в Питере, сейчас команда состоит из двух человек: я занимаюсь технической частью, мой партнер – маркетингом, финансами, юридическими вопросами.


Скоро нам понадобится наполнять библиотеки табулатур и сэмплов различных инструментов. Если среди читателей есть желающие в этом помочь – пожалуйста, пишите мне в любое время.


Кому интересно следить за новостями проекта – оставляйте почту в форме на сайте и подписывайтесь на соцсети.


Очень надеюсь на обратную связь с комментариями и предложениями!

Спасибо за внимание!



Забавный эпизод из процесса разработки


Сижу отлаживаю NRF52, пытаюсь вывести данные через UART. Ничего не выходит. Проверял код, пайку, даже перепаивал чип, ничего не помогает.


И тут случайно нестандартным способом перезагружаю плату – в терминал приходит буква «N» в ascii. Это соответствует числу 0x4E, которое я не отправлял. Перезагружаю еще раз – приходит буква «O». Странно. Может быть проблема с кварцевым резонатором и сбился baud rate? Меняю частоту в терминале, перезагружаю плату – опять приходит «N». С каждой новой перезагрузкой приходит по новой букве, которые в итоге составляют повторяющуюся по кругу фразу «NON GENUINE DEVICE FOUND».


Что эта NRF-ка себе позволяет? Прошивку я обнулял. Как она после перезагрузки вообще помнит, что отправлялось в предыдущий раз? Это было похоже на какой-то спиритический сеанс. Может, я и есть тот самый NON GENUINE DEVICE?


Залез в гугл, выяснил, что производители ftdi микросхем, которые стоят в USB-UART донглах, придумали способ бороться с китайскими подделками. Виндовый драйвер проверяет оригинальность микросхемы и на лету подменяет приходящие данные на эту фразу в случае, если она поддельная. Очевидно, мой донгл оказался подделкой и переход на другой решил эту проблему.


Снова спасибо китайцам.

Показать полностью 21 3
55

Аппаратура управления крылом/дроном на ардуино

Привет, рцдрочер-брат! Строю цифровой видеолинк Open.HD потихоньку, и понадобилось прилепить к нему usb-аппаратуру с человеческими стиками.


В общем, оно родилось. И довольно легко повторяемо. Может быть только USB-аппаратурой, а можно присандолить задешево (500р модуль E32-868T20S например) QCZEK на 100мвт или даже на 1вт. В общем, с автопилотом очень даже может быть интересно, ввиду копеечности решения. Даже если просто начать, погонять в симуляторе.

Стики не обязательно покупать новые на Али. Можно добыть любую мертвую аппу и раздербанить.


- 10 каналов PPM

- USB джойстик

- простая калибровка

- защита от высоких значений каналов при включении

- напоминалка при неиспользовании (попискивает ненавязчиво раз в 30 сек)

- проста в понимании, сборке и заливке скетча в Arduino IDE

- легко прицепить радиочасть на QCZEK и получить реально дальнобойку.

- простор для рукожопства неимоверный!)


Спасибо за внимание.

Аппаратура управления крылом/дроном на ардуино Arduino, Аппаратура, Радиоуправление, Пульт, Своими руками, Видео
35

Аквариумный LED свет на Arduino своими руками

Привет коллеги - аквариумисты, запилил видео по своему новому аквариумному LED свету на Arduino, смотрим и оцениваем)

Бюджет самого светильника не более 30 долларов, в основе светодная матрица на 100Ватт, и вокруг нее 6х3Вт красные 660нм, 2х5Вт Sunlike китайские ( рекомендую), и 1 х 3Вт Grow противно розовый светодиод, общая мощность 130Вт, но я ограничил ее на уровне 100Вт.

Инновационной фишкой является алгоритм ЭКО когда по истечении определенного времени ( у меня 4 часа) светильник следит за движением в комнате и если никого нет в течение 5 минут, плавно снижает мощность до 10Вт, благодаря чему фактически свет может без передозировки света работать по 16-20 часов.

Ссылки со схемами и прошивкой пока нет, устройство на уровне прототипа, но вы можете спрашивать если что непонятно и в общем, импровизируйте)

95

Робот для сбора чаевых на Arduino

Привет, Пикабу! Хочу поделиться своим результатом сборки робота-вымогателя, исходники автора проекта также приложу. 


Наткнулся на проект на просторах YouTube, есть вариант сборки при наличии 3D-принтера и без. Решил собрать такого в подарок для бара.


Исходники (они есть и под видео, дублирую сюда для удобства):


Видео с оригинальным проектом

Файлы для печати (можно поддержать автора и купить коммерческую лицензию, но файлы одинаковые)

Прошивка

Вариант без печати

О моем опыте:


Я столкнулся с тем, что при печати на поверхности были сильные дефекты, недоэкструзия в частности. При том что ранее печатал куда более сложную модель и там все было отлично. Возможно мой пластик либо отсырел, либо уже старый, а может проблема и в модели, так как мои собственные и тестовые модели печатаются отлично при тех же настройках и тем же пластиком. Но базовая версия корпуса (есть изначальная и обновленная) отпечаталась уже нормально.



Было:

Робот для сбора чаевых на Arduino Arduino, Своими руками, Робот, Технологии, Программирование, Видео, Длиннопост

Стало: Не без дефектов, но поправить уже можно.

Робот для сбора чаевых на Arduino Arduino, Своими руками, Робот, Технологии, Программирование, Видео, Длиннопост

Также хочу отметить, что если вы используете китайскую версию сервопривода MG90S - внутренний вкладыш-накопитель (файл - inner_body) может не поместиться и при установке деформирует корпус. В разработке моделей для печати я пока не очень силен, для себя решил проблему уменьшив масштаб модели вкладыша на 3%. Установилось корректно, щель есть, но монеты в нее не проваливаются.

Показать полностью 2
38

Модель катера на Arduino с радиоуправлением

Привет, друзья!


В этом видео Александр расскажет про то, как он собирал катер на базе платы Arduino, а также поделится программным кодом, схемой подключения и своим опытом в процессе сборки и проектирования!


Скетч и схема подключения:

https://github.com/ArturosTV/arduino-rc-boat


Приятного просмотра!

247

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

Управление освещением построено на принципе подсчёта количества входящих и выходящих людей в комнату. Если число людей в комнате больше нуля – включается реле, управляющее освещением.


Этот проект решает проблему большинства систем управления светом, построенных, например, на датчиках движения – нет необходимости каждые 5-10 минут махать или изображать движение перед датчиком. Система просто ждет, когда вы выйдете из комнаты и тут же гасит свет (нет необходимости ставить длительные задержки).


Подробное видео о том, как собрать такую же систему у себя дома, с объяснением работы, выбором типа реле, борьбой с помехами и другими интересностями:

Основные моменты в видео:

0:24 Основная концепция системы

1:32 О датчике препятствия E18-D80NK

2:30 Об электромагнитных реле

3:27 Твердотельное реле SSR-40DA

4:16 Моя библиотека PeopleCounter и код в Arduino

5:14 Подключение и проверка первого варианта системы

6:01 Добавление кнопки "Ручной режим" к проекту

6:49 Добавление датчика освещенности

9:30 Общая схема проекта

10:09 Сборка окончательного устройства на Digispark

10:59 Борьба с помехами


Схема проекта на Arduino (ATmega328P) c возможностью системы управлять светом в зависимости от освещенности на улице и включением режима ручного управления светом:

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

Схема проекта на Digispark (ATtiny85) без датчика освещенности и кнопки ручного режима (подойдет для ванной, туалета, кладовки и других помещений, где нет окон):

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

Да, такое мощное твердотельное реле я поставил просто потому что оно у меня лежало без дела, но, опять же, если вы покупаете реле на Aliexpress, ̶в̶с̶е̶г̶д̶а̶ часто можно столкнуться с нечестными производителями, завышающими показатели коммутируемого тока.


Например, в реле, рассчитанном на 40А, могут поставить симистор на 25, а то и на 16А, что приведет к его жуткому разогреву и выходу из строя при подаче мощной нагрузки.

Поэтому, очевидный совет - выбирайте реле в 2, а лучше в 3 раза превышающее по мощности ту, которую вы собираетесь коммутировать, и будет вам счастье 🙂 Также не забывайте про охлаждение радиатором и не покупайте по очень дешёвым предложениям – получите ровно то, насколько меньше стоит реле относительно рыночной цены.


Ещё из некоторых источников говорят, что в реле, у которых нет “спиленного уголка”, ставят симисторы получше (см. картинку ниже), поскольку они больше похожи на оригинальные, но я этот нюанс ещё пока не проверял, от одной лампочки моему реле, по ощущениям, даже холодно.

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

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


Вот пример:

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

Здесь по порядку подключаемые пины: ИК-датчик №1, ИК-датчик №2, реле, кнопка "ручной режим", фоторезистор (аналоговый PIN без буквы А), порог фоторезистора.


В функции setup() делаем инициализацию (если нужны показания фоторезистора и пр., то вызываем метод debug) :

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

В функции loop() постоянно вызываем метод lightControl для опроса датчиков (можно повесить на таймер):

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

Дополнительно написал два метода - первый возвращает текущее количество человек в комнате, второй - включен свет или нет (пригодятся при отладке и в связке с другими датчиками в рамках одной системы домашней автоматизации):

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

Чтобы добавить еще несколько комнат, просто создаете новые объекты со своими именами и пинами:

Делаем устройство подсчёта посетителей и автоматически управляем освещением в комнате Arduino, Своими руками, Реле, Датчик, Умный дом, Гифка, Видео, Длиннопост

Библиотека и примеры использования лежат на GitHub: здесь

Страница проекта с описанием, списком компонентов, ссылками и т.д.: здесь


В будущем планирую расширять эту систему и прикручивать дополнительные датчики с мониторингом по сети, что в итоге должно вылиться в нечто, напоминающее домашнюю автоматизацию. Буду рад рекомендациям и советам.


Всем удачных компиляций!

Показать полностью 8
82

Погодная станция Dozor meteo

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Станция  «Дозор метео» предназначен для замера параметров окружающей среды (температура, давление, влажность) отображения результатов на ЖК-дисплее, передачи показаний в сеть интернет на облачный сервис Интернета вещей IoT «Народный мониторинг», управления устройсвами. 

Особенности прибора:


-  измерение температуры, влажности, давления;

- наружный блок влажности/температуры;

- 2 удаленно управляемых выхода 12/220B;

- 1 логический/счетный вход;

- до 5 точек контроля температуры;

- автономная работа (без сети WiFi);

- WiFi-подключение к интернету;

- управление через приложение или бот Telegram


Ниже описана версия прибора для сборки из готовых модулей датчиков и МК на основе Arduino Nano. Есть версия конструкции на «рассыпухе», позволяющая получить небольшой размер и эстетичный внешний вид.


Назначение полей дисплея и кнопок

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

1. Канал управления (вкл./выкл.)

2. Счетно-контрольный вход.

3. Поле «Влажность» (наруж. блок)

4. Давление

5. Температура Tout (наружный блок)

6. Температура Tk (комнатная), датчик расположен внутри модуля.

7. Дополнительный датчик T1(DS18B20)

8. Дополнительный датчик T2(DS18B20)

9. Дополнительный датчик T3(DS18B20)

10. Обратный отсчет до сеанса связи с сервером.

11. Индикатор НЕ-успешности последнего сеанса связи с сервером.

12. Кнопка управления.

Схема межмодульных соединений:
Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

Для сборки прибора Дозор meteo на основе Arduino Nano понадобятся:


- Arduino nano – «рулит» всем в конструкции;


- модуль ESP-01. Это WiFi модуль на основе ESP8266, используется для связи прибора с интернетом и отправки данных на сервер народного мониторинга. Можно заменить практически любым модулем на основе ESP8266;


- модуль GY-68 (BMP180 со встроенным стабилизатором 3,3V и конвертером уровня I2C). Измеряет давление и температуру в помещении;


- модуль HTU21D. Используется в составе внешнего модуля и «отвечает» за наружную температуру и влажность;


- МК Attiny13a. Используется в наружном модуле;


- дисплей 128Х64 COG с контроллером UC1701

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

На нем можно лицезреть актуальные показания датчиком. Очень удобная, но не обязательная часть прибора. Без него работает, но показания можно посмотреть либо на сайте народного мониторинга или в приложении смартфона;


-м/с стабилизатора 3,3V.Нужна для питания ESP-01  и дисплея. Можно использовать соответствующий выход Power board (модуль питания для Arduino);

- DS18B20, цифровой датчик


Если необходимо коммутировать (управлять) нагрузками, то необходим узел на оптосимисторах AHQ2223 (IC1, IC3)  в корпусе DIP-7, и транзисторные ключи для управления ими. Если коммутация не нужна- часть схемы, выделенная как switching module можно не использовать. Если же такая необходимость есть, необходимо помнить, что указанные оптосимисторы рассчитаны на максимальный ток 0,8A, что вполне достаточно коммутации нагрузки до 150Вт (220Вольт). Также следует учитывать, что симисторы- полупроводниковые приборы, используемые в цепях переменного тока. Поэтому если надо управлять нагрузкой, рассчитанной для работы в цепи постоянного тока, вместо симистора надо поставить либо реле, либо транзистор с малым сопротивлением силового перехода.


Счетно-контрольный вход устройства (X2) можно использовать, например, для контроля уровня жидкости в баке.

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Также можно подключить магнитный дверной датчик или контакты ИК датчика движения. В этом случае получиться простейшая охранная система.
Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Датчику IN (это имя имеет ВХОД прибора в сообщении на сервер) в личном кабинете можно присвоить имя «ДВЕРЬ». При изменении состояния датчика (замыкание или размыкание ) пользователю поступит сообщение «ДВЕРЬ». На дисплее прибора отобразится изменение- иконка “IN” изменит вид. При этом датчик INC (значение тоже отсылается на сервер) покажет количество срабатываний. Можно использовать, например, для текущего расхода воды, если подключить к специальному водомеру. Максимальное значение между посылками на сервер -255. После отправки на сервер счетчик обнуляется.


Т.к. напряжение питания Arduino составляет 5V, а все модули датчиков, в том числе и дисплей, линии управления (UART, SPI) приходится подключать к модулям через резистивные делители (R2, R3; R5-R13). Исключение составляют модуль GY-68 и HTU21D. GY-68 имеет на «борту» собственный стабилизатор 3,3V, а HTU21D питается как и весь наружный модуль напряжением 3,3V. Дисплей- попадаются варианты исполнения как со встроенным стабилизатором, так и без него.


Если будет встроенный стабилизатор, то дисплей можно запитать от 5V, но резистивные делители всё равно желательны. Были случаи, когда на дисплей на управляющие контакты поступало напряжение 5V, и дисплей оставался жив. Но скорее всего это не полезно для дисплея. Документация на контроллер UC1701, установленный в данном дисплее по вопросу толерантности цифровых входов к напряжению 5V теряет нить разговора молчит.

Несколько неудобно конечно, когда элементы имеют разные значения питающих напряжений, но Arduino требует жертв…


Часть схемы, выделенная как OUTDOOR MODULE (внешний модуль) используется для измерений наружных (на улице) температуры и влажности.

Наружный и внутренний модуля соединены трёхпроводной линией – «земля», «+» и сигнальный провод. Микроконтроллеры модулей общаются по протоколу 1-wire, где внутренний модуль- ведущий. Это конечно несколько усложнило конструкцию внешнего модуля, но результат налицо. В результате такого решения удалось отнести внешний модуль на десятки метров от внутреннего. С «чистой» шиной I2C такой результат недостижим- буквально на 5 метрах начинались «глюки». В результате дополнительных экспериментов по применению 2-х транзисторного «драйвера» шины 1-Wire удалось получить расстояние в 80м! Кабель, как ни странно, желательно использовать не экранированный-меньше погонная емкость.


Ведущий посылает в линию 1-wire запрос «запустить преобразование всех датчиков», который совпадает со стандартным запросом для датчиков DS18B20 ($CC+$44), что удобно с точки зрения программной реализации- одним запросом «запускаются» все 1-wire устройства. Ведомый МК принимает этот запрос, и инициирует преобразование влажности и температуры(МС HTU21D)по «своей» шине I2C. После окончания преобразования полученный результат считывается внутренним модулем. При этом наружный модуль не мешает работе датчиков DS18B20(которые можно подключить в линию в любом месте), независимо от режима работы- будь то замер температуры или считывание ROM. Если наружный модуль не подключать, устройство сохраняет работоспособность, но данные будут искажены.


После сборки устройства (или до)необходимо запрограммировать микроконтроллеры устройства- саму Arduino и МК ATtiny13a наружного модуля. ПО написано в среде Algorithm Builder ( почти ассемблер ), поэтому прошивки публикуются «как есть», полнофункциональные, в виде готовых «хексов».

В архиве есть 2 файла – DM_indoor_V1_nano.hex (для Arduino Nano 16 MHz) и DM_outdoor_V1_tiny13a.hex (для наружного модуля). Для «заливки» в Arduino готового «хекса» есть несколько программ, например X-loader и GC-uploader.

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
На странице автора программы GC-uploader хорошо описана процедура загрузки при использовании этих программ. После «заливки» «хекса» Arduino останется Arduino-й, т.е. при необходимости в неё можно при помощи Arduino IDE «пролить» какой-нить скэтч.


С программированием Arduino проблем быть не должно(если прочитать указанную выше ссылку на help)- выбрал «хекс», выбрал порт, нажал «программ» и вуаля.


«Тиньку» же придется «прошивать» при помощи программатора и одной из множества программ, например, ProgISp. Последняя кстати, замечательно работает с дешевым программатором USB ISP с родины Мао.

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Известный сайт с тех же краёв на запрос «AVR USB ISP» предложит несметное количество этих программаторов по цене 2-3х «Эскимо».

Конечно, "заливка" чего-либо не из Arduino IDE- это несомненно «два», но кто сказал, что будет легко? иначе никак… Можно конечно было использовать ещё одну Arduino, но она великовата для конструкции наружного модуля, описанного далее. Хотя, возможно…


В общем, для ATtiny13a надо запрограммировать fuse-биты и "залить" прошивку.

Состояние Fuse-bit для ATtiny13a  в данной конструкции должно быть такое

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Написал небольшой ликбез процесса программирования МК ATtiny13a  c картинками.

Если возникнут проблеммы при программировании  - пишите.


После правильной сборки и программирования  настроек "железа" не требуется. Перед включением необходимо пройтись по соединениям, включить устройство. Причем  во время работы желательно не подключать кабель USB ПК-Arduino, т.к. в схеме используется интерфейс UART- могут быть конфликты. Используйте плату Power board.


После подключения проверить наличие напряжения 3,3V на выходе стабилизатора (C2). На дисплее должна появиться заставка. Если всё ок- входим в режим настроек. Для этого выключаем питание, нажимаем кнопку S1 и её удерживая включаем питание (кнопку продолжаем удерживать). Примерно через 2-3 сек. На дисплее появится надпись «SETUP MODE». Так же будет выведена информация о SSID и пароле WiFi, периоде отправке данных, которая хранится в памяти прибора.

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

Кнопку отпустиь.

Для изменения настроек (П.2) необходимо нажать кнопку еще раз. Появится надпись WEB SETUP.

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Кнопку отпустить.

В WI-FI сети появится точка доступа Dozor_meteo. Необходимо подключится к ней и зайти (набрать в окне любого браузера) на адрес 192.168.4.1.

Откроется окно

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

Тут необходимо ввести название и пароль домашней точки доступа( первые 2 поля), и 3-е поле –период отправки данных на сервер.. Тут рекомендуется установить значение Т>300 сек. Доступный диапазон – 60- 999 сек. Но для установки периода Т< 300сек. необходимо ознакомится с условиями на сайте narodmon.com . Кратко- если у пользователя нет бонусов, период отправки не может быть меньше 300 сек. Иначе при рецидивном нарушении данного требования устройство может быть заблокировано.

Нижнее поле- MAC устройства. Это значение MAC необходимо указать при регистрации своего устройства на сайте narodmon.com .

SEND- сохранить введённые значения. Если поле «AND EXIT» отметить, то после нажатия на SEND устройство будет перезагружено и войдет в основной режим работы.


Регистрация дополнительных датчиков температуры.


В устройстве прибора по схеме, приведенной выше, есть датчик давления BMP180. В нем есть встроенный датчик температуры, он используется для измерения температуры внутри помещения. Температура на улице измеряется при помощи датчика температуры, входящего в состав датчика влажности HTU21D. Дополнительно, при необходимости, можно подключить до 3х датчиков температуры DS18B20. Датчики подключаются к разъему SV1, можно параллельно линии, идущей к наружному модулю. Можно в любом месте линии.


Процесс регистрации.


При выключенном устройстве нажать кнопку S1. Удерживая кнопку нажатой включить устройство. Через 2 секунды на экране появится надпись SETUP MODE.

Кнопку отпустить.

Нажать кнопку. Появиться надпись WEB SETUP. Кнопку не отпускать. Через 3 сек появится надпись DS SETUP.

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

Кнопку отпустить.

Далее необходимо (правильно!) подключить датчик DS18B20 к разъему SV1 и коротко нажать на кнопку. Если процедура выполнена верно - на экране будет отображен серийный номер датчика . Датчик Т1 зарегистрирован в приборе.

Далее необходимо отключить датчик Т1 и подключить датчик Т2 (если он необходим), и коротко нажать на кнопку. Очередной датчик (Т2) занесен в память устройства. Далее регистрируется датчик Т3. Т.е. получается такой алгоритм:


- войти в режим регистрации DS SETUP, отпустить кнопку;

- подключить датчик Т1, коротко нажать на кнопку;

- отключить датчик Т1, подключить Т2, короткое нажатие;

- отключить датчик Т2, подключить Т3, короткое нажатие;

Следующее нажатие инициирует выход из режима настойки.


Если необходимо удалить какой либо из зарегистрированных датчиков (или все), то при программировании достаточно не подключить соответствующий датчик. В соответствующей строке появится сообщение о ошибке и датчик будет удален из памяти прибора.


Подробно о эксплуатации, подключении назрузок,  регистрации устройства на сайте narodmon.com,  управлении со смартфона можно прочитать в полном руководстве.


1. Файлы проекта (схема, прошивки, ликбез по прошивке МК ATtiny)

2. Прошивка любого HEX-файла в ARDUINO


Конструкция наружного модуля станции  ДОЗОР meteo


Если есть желающие повторить конструкцию, опишу один из вариантов устройства наружного модуля.

Задача- конструкция модуля должна обеспечивать защиту датчиков от дождя, но при этом он не должен быть герметичным. Для верности показаний необходимо обеспечить естественную конвекцию воздуха внутри модуля. При этом избежать дополнительных токарно-фрезеровальных работ, и выполнить все из материалов, доступных в любом в магазине. В результате изысканий получилась такая конструкция.

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

Для изготовления необходимы

1. Пластиковая труба D25mm 25-30 см. Можно использовать водопроводную «под пайку» либо трубу для кабелей.

2. Заглушка сантехническая под систему D32mm. 1 шт

3. Хомут крепления для трубы D25mm -2шт.

4. Клеевой состав ( герметик, «эпоксидка», клей «Титан»)


На одном конце трубы необходимо с отступом от края 5-8мм (до края отверстия) просверлить отверстия D4-6мм 4-8 шт.

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Обработать край крупным наждаком либо поцарапать, например ножом. Также желательно обработать внутреннюю поверхность заглушки.
Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Необходимо изготовить центрирующую гильзу, например из картона. Лучше взять картон не толстый, отформовать его «гармошкой».
Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Затем его надо зафиксировать примерно так. Так как внутренний диаметр заглушку больше наружного диаметра трубы, щель между ними с отверстиями в трубе образуют канал естественной вентиляции (тяги).
Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

На внутреннюю грань заглушки нанести валик клея или герметика. С клеем усерствовать не надо- до отверсий в трубке клей не должен "добраться".

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Одеть на трубку и оставить сохнуть, в зависимости от клея- до 24 часов.
Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
После полимеризации клея узел должен выглядень примерно  так
Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост
Затем в трубку вставляется плата внешнего модуля, так чтобы плата оказалась дальше (выше) середины трубки. И фиксируется. Самый простой вариант- стяжкой. Можно двумя .
Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

При вертикальной установке такая конструкция обеспечивает хорошую дождезащиту, но при этом за счет естественной вентиляции внутри плата датчика постоянно обдувается восходящим потоком, обеспечивая верность показаний температуры и влажности. Был проведен эксперимент- на корпусе модуля с наружной стороны примерно посередине расположил доп. датчик температуры DS18B20 (тоже в тени), который фиксировал температуру на улице вместе с наружным модулем. При этом показания доп. датчика в светлое время суток были всегда на 0,5 – 0,8 град. больше, чем внутри модуля. Ночью же показания практически сравнивались. Объяснением (один из вариантов) этого может быть тот факт, что доп. датчик дополнительно нагревался ИК-излучением от посторонних объектов.


Модуль необходимо закрепить к стене при помощи кронштейнов в месте, защищенном от прямых солнечных лучей. Крепить надо заглушкой вверх!!! (мало ли...).

Погодная станция Dozor meteo Arduino, Погода, Программирование, Микроконтроллеры, Электроника, Своими руками, Esp8266, Длиннопост

Будтобы все...


Материалы:


1. Файлы проекта (схема, прошивки, ликбез по прошивке МК ATtiny)

2. Прошивка любого HEX-файла в ARDUINO

Показать полностью 22
510

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Приветствую всех. В предыдущих частях я рассказал, как сделать GSM сигнализацию на ардуино. Затронул тему изготовления беспроводных датчиков для неё. Обещал сделать датчик, работающий по Wi-Fi. И в итоге так увлёкся, что переработал весь проект.


Итак, я решил, что мобильный GPRS это конечно хорошо, но будет ещё лучше, если сигнализация сможет подключаться к домашней Wi-Fi сети и общаться со смартфоном через интернет и мобильное приложение. Для этого мне понадобилась отдельная плата с Wi-Fi модулем. Я подключил к ардуине плату NodeMcu v3 с чипом esp8266. Управление сигнализацией реализовал со смартфона в приложении Blynk.


Для новой сигнализации спроектировал печатную плату, на которой могут разместиться:


- Arduino Nano V3.0

- NodeMcu v3 для выхода в интернет.

- SIM800L для мобильной связи.

- Радиомодуль NRF24L01 для приёма сигналов от беспроводных датчиков.

- ИК-приёмник

- Датчик температуры DS18B20.

- Термистор.

- Микроволновый датчик движения RCWL-0516.

- Зуммер.

- Микрофон.

- MOSFET транзисторы AO3400A для включения платы NodeMcu и внешних маломощных устройств.

- Разъёмы для подключения других датчиков

- Переключение на резервный источник питания


Кроме того, к свободным пинам могут подключаться любые другие ардуиновские датчики и модули.


Т.к. сигнализация модульная, можно выбрать ту конфигурацию, которая нужна именно Вам.


Связь может осуществляться через SIM800L или NodeMcu на выбор, либо с обоими модулями одновременно (рекомендуется). В последнем случае имеет два независимых канала связи, что более надёжно.

Ардуино и NodeMcu общаются по шине I2C. На плате выведены разъёмы для подключения датчиков по этой шине.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

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

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Распиновка новой платы немного отличается от схемы предыдущего проекта. Поэтому я решил вынести прошивки в отдельный проект. Дальше будут выходить обновления только для этой платы. Новая версия скетча Signalka.ino подходит и для старого проекта. Ею можно обновляться. Необходимо лишь привести в соответствие номера зарезервированных пинов в файле https://github.com/wisenheimer/Signaling-Blynk/blob/master/l...


Прошивка для NodeMcu написана в среде Arduino IDE. Чтобы собрать проект, необходимо установить библиотеку для esp8266. Как это сделать, можете почитать, например, здесь https://habr.com/ru/post/371853/

Хочу обратить внимание, что с последней версией библиотеки у меня проект не заработал. Плата не хотела подключаться к серверам Blynk. Пришлось откатиться на версию 2.4.2. И проблема исчезла.


Для управления сигнализацией через плату NodeMcu нам надо создать в телефоне приложение Blynk. Это такой конструктор, в котором собирается мобильное приложение из готовых визуальных элементов - виджетов. За каждый виджет нужно платить местной валютой - энергией. Бесплатно даётся 2000 энергии. Если не уложиться в эту сумму, то дополнительную энергию можно докупить за реальные деньги. Мы же из соображений бережливости соберём приложение, которое стоит ровно 2000 энергии.


В статье я не буду затрагивать технические детали по созданию приложения Blynk, настройке и работе сигнализации. Всё это я изложил в файле описания проекта

https://github.com/wisenheimer/Signaling-Blynk/blob/master/R...

Перейдите туда, и следуя инструкции, создайте вот такое приложение:

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

После запуска и подключения к серверу Blynk увидим следующее:

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

В терминал будут выводиться сообщения сигнализации. Так же из него можно отправлять в сигнализацию команды управления (AT, СМС и DTMF команды).

Кнопки ALARM, GUARD и EMAIL в данной конфигурации означают флаги управления сигнализацией. Любой флаг можно включить и отключить из приложения нажатием на кнопку.


ALARM - флаг тревоги. Устанавливается в 1 при срабатывании одного из датчиков. Сбрасывается самостоятельно при завершении режима тревоги.

GUARD - флаг постановки на охрану.

EMAIL - флаг отправки сообщений сигнализации на указанную электронную почту. Так же включается и отключается из приложения.


Далее следует перечисление датчиков и их текущее показание. В данном примере у нас подключено два датчика:

18B20 - это датчик температуры DS18B20, распаянный на плате.

RADAR - микроволновый датчик движения RCWL-0516.


При срабатывании датчика на экране телефона появится сообщение тревоги

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Если плата NodeMcu потеряет связь с сервером Blynk, то на телефон так же придёт сообщение.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост
GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Эти же сообщения отправятся на указанный вами в настройках e-mail.


Как видите, интерфейс очень простой. И при этом полностью функционален. Позволяет осуществлять полный контроль над сигнализацией. И при этом полностью бесплатен!

Можно было бы добавить графики и дополнительные визуальные плюшки. Для этого понадобилось бы докупить энергии. Каждый в праве доработать проект под себя. Я же ограничусь бесплатной версией.


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

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

Wi-Fi датчик представляет из себя тоже самое, только для связи мы используем радиомодули nRF24L01. Передающий в датчике, принимающий в сигнализации. Под этот модуль уже предусмотрено место на плате сигнализации. Учтите, что при его использовании будут заняты 9, 10, 11, 12 и 13 пины платы ардуино. По этой причине не возможно одновременное использование ИК и Wi-Fi приёмников.


Схема соединения выглядит следующим образом

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Скетч проекта лежит по этой ссылке


https://github.com/wisenheimer/Signaling-Blynk/blob/master/n...


Там необходимо будет указать свои датчики, подключенные к ардуино.

В скетче задано два датчика. Вам нужно только вписать свои.

Sensor sens[SENS_NUM]=
{
Sensor(DOOR_PIN,DIGITAL_SENSOR, "DOOR", HIGH, 0),
Sensor(5, DIGITAL_SENSOR, "MOVE", LOW)
};

Первый датчик это геркон, второй - датчик движения.

Пин DOOR_PIN зарезервирован под геркон и соответствует 4 пину ардуины.


При срабатывании любого из этих датчиков по Wi-Fi будет отправлено сообщение RF_CODE, которое примет сигнализация, и включит режим тревоги.


Соответственно в скетче сигнализации нужно аналогично прописать беспроводной датчик


Sensor sens[SENS_NUM]={
Sensor(DOOR_PIN, DIGITAL_SENSOR,"DOOR",  HIGH, 0),
Sensor(DOOR_PIN, DS18B20,  "18B20", LOW, 10, 45),
Sensor(A7,  TERMISTOR,  "TERM",  LOW, 10, 45),
Sensor(6,  DIGITAL_SENSOR,"RADAR",LOW),
#if RF_ENABLE // Датчик с Wi-Fi модулем nRF24L01
Sensor( RF24_SENSOR, "Koridor",RF0_CODE),

Sensor( RF24_SENSOR, "Zal",RF1_CODE)

#endif
};

В примере заданы два беспроводных Wi-Fi датчика, где

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

"Koridor" и "Zal" - имена датчиков, которые будут выводиться в сообщениях

RF0_CODE и RF1_CODE - индивидуальные коды RF_CODE, которые отправляют датчики при срабатывании.


В будущем постараюсь добавить поддержку Blynk в прошивку ардуино с модемом SIM800L. Чтобы можно было обойтись без NodeMcu. Пока на всё это не хватает времени.


Скачать проект можно по ссылке https://github.com/wisenheimer/Signaling-Blynk

Показать полностью 8
175

Проект 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 модулем.


Всем добра.

Показать полностью 5
677

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

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

Приветствую моих читателей. В первой части https://pikabu.ru/story/proekt_gsmgprs_signalizatsii_na_ardu... я рассказал вам, как сделать простую GPRS сигнализацию на Ардуино. Проект продолжает развиваться. Сигнализация эксплуатируется около месяца, и уже можно подводить некоторые итоги. За это время не было ни одного случая отказа или зависания, как модуля SIM800L, так и самой Ардуины. Напомню, в моём проекте микроконтроллер питается напрямую от аккумулятора пониженным напряжением 4 В. К каким-то отказам, как опасались многие читатели, это не приводит. Мною был проведён эксперимент, чтобы узнать, как поведёт себя сигнализация при постепенном разряде батареи.

Так как Ардуина разряжала аккумуляторы очень медленно, я подключил её вместе с модемом к лабораторному источнику питания, выставил ограничение по току 2А, и проверил работу на различных значениях напряжения.

Что удалось выяснить. При 3,5 В и выше SIM800L работает штатно. С питанием 3,4 В иногда начинаются перезагрузки при входящих звонках. При снижении напряжения ниже 3,4 В отваливается сеть, могут начаться перезагрузки, но на AT команды модуль продолжает отвечать. Так он работает в плоть до 3В, после чего выключается.

Ардуина работает даже при напряжении 2,7 В, ниже которых отключается. Никаких сбоев отмечено не было.

Но этого нам не достаточно. Нужно было проверить работу при длительной разрядке аккумулятора. Так сказать в условиях, близких к боевым. Я отключил режим сна Ардуины, подключил дополнительную нагрузку к аккумулятору, включил Serial монитор, и отслеживал поведение сигнализации, периодически проверяя её работоспособность. Эксперимент продолжался более суток. Аккумулятор разрядился до 3,6 В. Сбоев замечено не было. Схема полностью работоспособна.  Ставьте ёмкий аккумулятор и не о чём не думайте.

Для справки. Номинальное напряжение питания чипа зависит от частоты его работы. Если программно понизить частоту до 10МГц или ниже, то питание напряжением от 2,7 до 5,5В для Atmega328p будет стандартным. Если кого-то не убедили результаты эксперимента, то они могут  поиграться с настройками частоты.


С этим разобрались, теперь поговорим о доработках проекта.


За прошедшие две недели проект претерпел некоторые изменения. Геркон теперь подтянут через резистор не к +5В, а к +4,2В батареи (см. фото). Что позволит сохранить на пине высокий уровень при отключении внешнего питания без программной подтяжки. Мне кажется это более надёжным решением. Резисторы можно использовать любого номинала, начиная с 2,2 кОм и выше.


Остальные доработки касаются программной части. Файл настроек settings.h получил новые опции. https://github.com/wisenheimer/Arduino/blob/master/libraries...


По рекомендации читателей, в проект был добавлен watchdog (WTD), который перезагрузит Ардуину в случае её зависания. Включен по умолчанию следующим дефайном:

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

Т. к. стандартный загрузчик Ардуино Нано не поддерживает watchdog, и в случае его срабатывания уходит в бесконечную перезагрузку, для его работы нужно либо сменить загрузчик на другой, либо поступить проще. Прошить Ардуину через программатор. В этом случае на Ардуине больше не будет загрузчика. И watchdog будет работать. Но вы уже не сможете прошивать Ардуину по USB. Если вас это не устраивает, не используйте watchdog.


В качестве программатора я применил Ардуино УНО с прошивкой ArduinoISP из примеров.


Следующее изменение касается способа доставки отчётов. Теперь сигнализация поддерживает SMS отправку сообщений. Ранее мы отправляли ответы сигнализации на e-mail при помощи GPRS. Теперь можно выбирать способ отправки. Для этого добавлен следующий дефайн:

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

По умолчанию включены оба варианта.


SET_FLAG_ONE(GPRS_ENABLE) разрешает отправку e-mail по GPRS.

SET_FLAG_ONE(SMS_ENABLE) разрешает отправку отчётов по SMS.


GPRS имеет более высокий приоритет. Если сигнализации не удалось установить GPRS соединение, и SMS режим разрешён, то сообщения будут отправлены по SMS, флаг GPRS_ENABLE  выключен, и в дальнейшем будет задействована только SMS отправка. Включить или выключить оба режима можно так же в ручную DTMF командой.

Если мы хотим всегда использовать один режим, то дефайн нужно отредактировать, удалив лишнее.


Следующим нововведением стало изменение списка DTMF команд:

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

Команды, не вошедшие в список, будут подставлены в USSD запрос и отправлены сотовому оператору. Так что можете в режиме DTMF напирать любые USSD команды. Например запрос баланса. В случае успеха ответ оператора вернётся в виде отчёта.


Админ так же может управлять модемом SIM800L при помощи АТ команд из его даташита http://www.mt-system.ru/sites/default/files/documents/sim800... .


Например, добавлять и удалять номера из телефонной книги. Для этого достаточно с телефона Админа отправить сигнализации SMS с текстом АТ команды.


Дальше хочу подробно рассказать, как добавлять в проект датчики.


Для начала необходимо определиться с количеством пинов, требуемых для ваших датчиков. Датчики у нас подключаются, начиная с 4 пина. Первым желательно выбрать геркон, т.к. он будет будить Ардуину, если она войдёт в режим энергосбережения при отключении внешнего питания.

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

В файле https://github.com/wisenheimer/Arduino/blob/master/libraries... описан класс Sensor и следующие типы датчиков:

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

DIGITAL_SENSOR - любой датчик с одним цифровым выходом, на котором может быть только два состояния, 0 или 1.

CHECK_DIGITAL_SENSOR - тоже самое, только с проверкой от ложного срабатывания. Если через 10 секунд датчик сбросил своё значение, то срабатывание считается ложным.  Применяется для тех датчиков, которые удерживают логическое значение на выходном пине при сохранении внешнего воздействия. Например датчик пламени.

ANALOG_SENSOR - любой датчик с аналоговым выходом. Например датчик газа MQ-2.

DHT11, DHT21, DHT22 - датчики температуры и влажности.


Конструктор класса имеет следующий вид:

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

В нашем файле настроек имеется целый массив таких классов для каждого датчика:

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

Очень важно указать точный размер массива, иначе проект не соберётся. В данном случае у меня имеется 6 датчиков, конструктор для каждого описан отдельно.


Например:

Sensor(DOOR_PIN, DIGITAL_SENSOR, "DOOR", HIGH, 0)

означает, что для датчика двери (геркона) задействован пин Ардуино DOOR_PIN (задан в том же в файле), тип датчика DIGITAL_SENSOR, название датчика, которое будет выводиться в отчётах - "DOOR" (можно заменить на любое другое слово), обычное состояние пина  HIGH (DOOR_PIN у нас подтянут к 4,2В), время подготовки датчика при включении питания в секундах, через которое он начнёт показывать правильные значения - 0 секунд.


Для аналогового датчика газа MQ-2:

Sensor(A0, ANALOG_SENSOR, "GAS", LOW, 120)

пин A0, тип датчика ANALOG_SENSOR, имя  "GAS", значение на пине LOW, на прогрев датчика и выход на номинальный режим работы отводится 120 секунд. До истечения этого времени после включения датчик не опрашивается, что бы не получать неверные значения.


Для датчика температуры DHT11

Sensor(DHT_PIN, DHT11, "DHT", LOW, 10, 35)

в конце появилась цифра 35, которая означает уровень в градусах, при превышении которого считается, что датчик сработал. В помещении стало слишком жарко.


Внимательный читатель уже заметил, что для разных датчиков описано разное количество параметров. Дело в том, что в языке С++ можно не писать все параметры функции, если в заголовке функции указаны их значения по умолчанию. Мы пишем только то, что не имеет значения по умолчанию, или мы хотим задать другое значение. Однако никто не запрещает указать все параметры конструктора класса.


Вы можете подключать к сигнализации любые датчики, не требующие отдельной библиотеки, лишь заполнив конструктор класса, и добавив его в массив Sensor sensors[]. И это будет работать. Если для датчика требуется отдельная библиотека, то её можно добавить точно так же, как в проект была добавлена библиотека stDHT.h для датчика DHT11, который имеет свой протокол для обмена данными. Или напишите мне, я добавлю.


На этом всё, спасибо за внимание.


Скачать проект можно как всегда по ссылке: https://github.com/wisenheimer/Arduino

Показать полностью 7
356

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

Предлагаю вашему вниманию проект охранно-пожарной GSM/GPRS сигнализации на ардуино с резервным питанием от батареи. Мною ставилась цель создать простую в изготовлении сигнализацию для дома, состоящую из недорогих ардуиновских модулей и датчиков, управляемую с телефона. При этом затраты на обслуживание должны быть минимальными. А лучше чтобы их вообще не было! И мне удалось этого добиться.

Для вожделенной халявы пришлось отказаться от традиционных смс оповещений, и освоить отправку писем на электронную почту. При правильно подобранном тарифе, сигнализация не тратит денег с баланса. При этом мы получаем по e-mail всю информацию о работе сигнализации, сработавших датчиках, действиях пользователей. Такой роскоши не добиться с помощью платных смс. Управление сигнализацией реализовано на основе DTMF команд. Если у вас один оператор связи на основном телефоне и на сигнализации, с бесплатными звонками внутри сети, или имеется пакет бесплатных минут, то управление сигнализацией тоже будет бесплатным. В противном случае всегда можно отправить команду в течении первых 3-х секунд. И так же не платить. Заинтриговал? Тогда прошу под кат.

Первым делом составим техническое задание:

1) Оповещение звонком Админа при срабатывании датчика.

2) Отправка e-mail с подробностями.

3) Отправка e-mail о действиях пользователей.

3) Наличие резервного питания на случай отключения основного.

4) Управление сигнализацией при помощи DTMF команд и смс.


Для этого нам понадобится плата ардуино и недорогой, но функциональный GSM-модем SIM800L. Любой литиевый аккумулятор с модулем заряда. Датчики по вкусу.

Я использовал широкий набор различных датчиков, чтобы показать возможности сигнализации. Проект позволяет добавлять любые другие датчики.

В данном реализации были применены следующие сенсоры и модули:

1. Геркон NC типа, как датчик открытия двери.

2. Пироэлектрический инфракрасный датчик движения HC-SR501.

3. Датчик газа и дыма MQ-2.

4. Микроволновый датчик движения RCWL-0516. Видит сквозь препятствия и стены. Хорош для охраны дачи или частного дома. В квартире будут частые ложные срабатывания на соседей за стенкой или бегающих собачек и котиков.

5. Датчик пламени.

6. Датчик температуры и влажности DHT11.

7. Для подачи звуковых сигналов при выполнении команд использована пищалка (зуммер). В готовом изделии не обязателен.

8. Плата контроля заряда-разряда лития на основе микросхемы TP4056 с защитой от перезаряда и разряда.

9. Ардуино Nano V3. Можно заменить 5 вольтовой Ардуино pro mini.

10. В качестве GPRS GSM модема выбран недорогой, но хороший модуль SIM800L. Он имеет небольшие размеры. Умеет работать с DTMF командами, звонить, отправлять смс и e-mail. Смс дороги, а вот электронные письма можно слать практически бесплатно. Чем мы в дальнейшем и воспользуемся!


Датчиком открытия двери (окна) у нас служит нормально закрытый (NC тип) геркон. В случае отсутствия электричества наша ардуина будет отправлена в сон, и разбудить её смогут три вещи: сработавший геркон, появление внешнего питания (сеть), или сигнал RING с модема в случае звонка. Но это мы уже забежали вперёд.


Схема соединения.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост
Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост
Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Допустим мы всё собрали как надо. Чтобы сигнализация заработала, первым делом надо заполнить файл настроек, находящийся по следующему пути libraries/main_type/settings.h


В строке

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

за место 115200 необходимо указать скорость, на которой работает ваш модем. Как определить скорость работы модема, можно найти в интернете. Не буду на этом заострять внимание.


Далее перечисляются используемые датчики. Вам нужно оставить только те, которые вы используете. Остальные строчки сделать комментариями при помощи двойного слеша //

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Можно оставить всё как есть. Не подключенные датчики на работу не повлияют.

Далее перечисляются пины, на которых висят наши модули. Первым у нас будет пин RING модема. Он соответствует пину 2 ардуино. Т.к. это обычное перечисление, номер следующего пина будет на один больше предыдущего, т. е. 2, 3, 4 и т. д. Если вы закомментировали какие-то модули выше, то их пины не будут учитываться в перечислении.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

При сборке схемы модули подключаются начиная со 2-го пина друг за другом в том порядке, что указан в перечислении.

Далее нам надо настроить отправку e-mail.

Первым делом задаём SMTP сервер почты, к которой будет подключаться наш модуль SIM800L. Он прекрасно работает с яндекс почтой, с другими не тестировал. Советую завести там почтовый ящик, и слать через него. В этом случае настройки изменять не нужно.

Для яндекса у нас такие параметры сервера и порта:

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Далее за место слов login и password впишите логин и пароль от вашей почты

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Затем укажите полное название вашей почты и имя отправителя. В данном случае у нас указан отправитель SIM800L. Можете написать что-то своё.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Теперь впишите название почты получателя и его имя. На этот ящик будут приходить письма. Для отправки и получения можно указать один и тот же ящик. Тоже будет работать.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Если вы хотите отправлять письма сразу на два или три ящика , раскомментируйте вот эти дефайны, и впишите имя почты

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Поздравляю! На этом настройки закончены. Можно прошивать ардуину.


Как работает сигнализация.

Внимание! Сигнализация управляется только с номеров, записанных в телефонную книгу симкарты.

Если на симкарте уже есть номера, то их владельцы являются пользователями, которые могут включать и отключать сигнализацию. Перед использованием удалите ненужные номера. Администратором считается номер с именем ADMIN. Если на симкарте нет такого номера, то первый позвонивший незарегистрированный пользователь станет Администратором. Его номер будет занесён в телефонную книгу.

Администратор — единственный пользователь, который может отправлять DTMF и смс команды.

Для удалённого добавления пользователя в телефонную книгу Администратор должен отправить смс вида

AT+CPBW=,"+xxxxxxxxxxx",145,"USER"
где +xxxxxxxxxxx - номер телефона
USER - имя абонента

Модем настроен на поднятие трубки при звонке с номера Админа. Это сделано для возможности использовать DTMF команды. Звонки с других номеров будут сбрасываться.

Администратор может отправлять DTMF команды из списка ниже. Если команда принята, сигнализация сбросит звонок. Отчёт о выполнении команды придёт на почту. Любая команда представляет собой цифру и знак #, который означает завершение ввода. После этого модем завершит звонок и выполнит полученную команду.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Команды, не вошедшие в список, считаются USSD запросами. Например, мы хотим узнать баланс телефона. USSD запрос баланса нашего оператора *xxx#

где xxx — цифры.

Отправляем DTMF команду xxx#. Она будет подставлена в USSD запрос. Ответ оператора будет переслан на почту.


Порядок включения.

Подать питание на сигнализацию.

Дождаться прихода e-mail. Сигнализация загрузилась.

По умолчанию режим охраны выключен. При звонке любого зарегистрированного номера (кроме админа) сигнализация будет ставить/снимать с охраны и отправлять отчёт на почту. Звонок будет сброшен. При звонке с номера Администратора модем поднимает трубку и ждёт DTMF команду. Админ может поставить/снять с охраны сигнализацию командой 1# и 2# соответственно. После ввода команды звонок завершится сам.


Режимы работы:

Тревога.

При срабатывании одного из датчиков включится режим тревоги. На телефон Админа поступит звонок. Его надо сбросить. На почту будут отправлены показания сработавшего датчика. Продолжительность режима тревоги задана в файле настроек дефайном ALARM_MAX_TIME. По умолчанию 60 секунд. В течение этого времени идёт сбор статистики о сработавших датчиках. Когда время истечёт, информация будет отправлена на почту, а счётчики срабатываний обнулятся. Если датчики снова сработают, всё повторится.


Выключение сетевого питания. Режим низкого энергопотребления.

При пропадании электричества на 3 пине ардуины появится низкий уровень. Сигнализация переключится на питание от батареи. На почту придёт сообщение, что свет пропал Svet OFF. После этого, для экономии энергии батареи, ардуина уйдёт в сон, модем будет переведён в режим низкого энергопотребления.

Все датчики, питающиеся от сети, будут обесточены и перестанут работать. В моей реализации датчики питаются от внешнего источника. Все кроме геркона. Он не требует питания, поэтому работает всегда. При срабатывании геркона в режиме сна ардуины, она проснётся и перейдёт в режим тревоги. После того как режим тревоги завершится, ардуина снова уснёт.

При появлении электричества ардуина проснётся, переведёт модем в обычный режим работы, и отправит сообщение на почту Svet ON.


Поддерживаемые операторы.

Прошивка поддерживает основных российских операторов:

МТС, Билайн, Мегафон, Теле2. Если у вас другой оператор, и не отправляется e-mail, пишите в комментариях. Будем добавлять.


На этом всё. Скачать прошивку можно здесь https://github.com/wisenheimer/Arduino

Вопросы пишите в комментариях :)

Показать полностью 12
134

Простая GSM сигнализация для гаража или дачи на SIM800L и Ардуино.

Сделано своими руками на основе готовых модулей с Алиэкспресс. Основные модули – GSM модуль SIM800L, Аrduino Nano(можно любой-Uno и т.п.), понижающая плата, аккумулятор от сотового телефона.

Монтируем на макетную плату через колодки, что позволит при необходимости заменить модули. Включение сигнализации путем подачи питания 4,2вольта через выключатель на SIM800L и Аrduino Nano.

При срабатывании первого шлейфа система сначала отзванивается на первый номер, затем сбрасывает звонок и отзванивается на второй номер. Второй номер добавлен на всякий случай если вдруг первый будет отключен и т.д.При срабатывании второй, третий, четвертой, и пятой шлейфа, отсылаются СМС с номером сработавшей зоны, также на два номера. Схема и скетч кому интересно в описании под видео.

Размещаем всю электронику в подходящем корпусе. Если вам не нужно 5 шлейфов соедините контакт 5V Arduino c не нужными входами. GSM сигнализация на 5 шлейфов с аккумулятором, что позволит устройству продолжать работу в течении нескольких дней автономно, при отключении электроэнергии. Можно подключить к ним любые охранные контактные датчики, контакты реле и т.п. В результате получим простой, недорогой компактный охранный прибор для с передачей СМС и дозвоном на 2 номера. Применить его можно для охраны дачи, квартиры, гаража и т.д.

105

Установка блоков "Умного дома" в дом обычный

Ну надо же на ком-то испытать протестировать блоки "умного дома" для управления светом и управления розетками, а за одно и GSM-сигнализацию (из одной из прошлых статей), в реальных условиях, далеко от города, где инет еле тащит, и о 3G-4G не много кто слышал (бабульки одни в селе). А дом надо  оставить до следующего лета на "автопилоте", да чтобы избу не ушатали)), брать там особо и нечего, но все же.. смотрим.

строго не судим плиз)

392

Охранная сигнализация или система оповещения на Arduino

Привет ардуинщикам!

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


Для тех, кто хочет хлеба и зрелищ - видеоролик, который полностью копирует содержимое статьи:

Ну а для тех, кто больше любит читать, продолжим.. :)

Итак, перед тем как начать созидать нечто подобное, вам необходимо учесть дальность расположения от места управления, внутренний климат и другие характеристики охраняемого вами помещения.


В моей системе необходимо было обеспечить возможность управления сигнализацией удалённо, то есть из дома, поэтому у меня было два пути решения этой проблемы:

1. Организовать беспроводное соединение между двумя Arduino.

2. Либо же обойтись одной Arduino и в гараж вывести лишь длинный провод с датчиками.

(Еще, конечно же, был вариант с GSM-сигнализацией, но из-за близости помещения и отсутствия необходимого модуля эту идею я отмел, как-нибудь в другой раз..)


Я решил идти по второму пути - с проводом и одной Arduino, и вот почему: во-первых расстояние до моего гаража составляет примерно 50 метров, что не так много для ощутимого затухания сигнала в линии и вполне реализуемо по затратам кабеля, а во вторых, из-за неотапливаемости помещения зимой, температура в нем может опускаться до -30-35 градусов, что пагубно скажется на Arduino без дополнительного обогрева. Да и перебои с электричеством у нас частые, поэтому пришлось бы лепить дополнительный аккумулятор, что бы поддерживать обогрев и работоспособность.


В итоге я решил просто проложить витую пару и на ее конце навешать датчики. Ну а аккумулятор для резервного питания добавлю как-нибудь попозже.


В качестве датчика открытия двери я использовал датчик Холла и большой магнит, о принципе работы такой связки я рассказывал в этом видео, когда делал бесконтактный датчик тока. Если в двух словах, то датчик реагирует на подносимый к нему магнит, который расположен на подвижной двери ворот, сам же датчик закреплен на раме. Датчик меняет свои значения в зависимости от интенсивности магнитного поля, то есть расстояния до магнита. Таким образом, можно контролировать положение двери в любой момент времени.


Теперь немного подробнее о получившейся системе, если ее так можно назвать :)


Всю её можно разбить на три части: это та, что стоит дома (пульт управления), та, что стоит в охраняемом помещении (датчик Холла и пр), и та, что связывает эти части (витая пара).


Пульт управления я оборудовал небольшим LCD-экраном на две строки и кнопкой для запуска и остановки охранного режима, а так же поставил внутрь пищалку и блок питания, поместив всю начинку в корпус для автоматических выключателей. Отверстие под автоматы пришлось подпилить и сделать немного длиннее, что бы туда вошли все символы экрана, а кнопку управления вывести сбоку, так же сделав отверстие обычным ножом. В результате получился не совсем убогий корпус, который можно прикрутить к стене.

Охранная сигнализация или система оповещения на Arduino Arduino, Сигнализация, Охрана, Оповещение, Видео, Длиннопост

Из корпуса выходит витая пара на 8 жил, на обратном конце которой расположены датчик температуры и влажности, датчик Холла и пьезо-пищалка с кнопкой:

Охранная сигнализация или система оповещения на Arduino Arduino, Сигнализация, Охрана, Оповещение, Видео, Длиннопост

Схема подключения всей системы получилась довольно простой и выглядит как-то так:

Охранная сигнализация или система оповещения на Arduino Arduino, Сигнализация, Охрана, Оповещение, Видео, Длиннопост

Датчик температуры и влажности я добавил чтобы не только знать о текущем климате внутри помещения, но и на основании датчика температуры уведомлять о возможном возгорании, т.к. при пожаре температура в помещении очень резко поднимается до больших значений свыше 100 градусов по Цельсию.

Алгоритм работы сигнализации достаточно прост и представить его можно вот такой упрощенной блок-схемой:

Охранная сигнализация или система оповещения на Arduino Arduino, Сигнализация, Охрана, Оповещение, Видео, Длиннопост

Что касается кода, то объяснять его, я думаю, нет особого смысла, так как там все разбито по функциям и хорошо закомментировано. Скажу лишь только что код, конечно же, можно оптимизировать и внести в него изменения на своё усмотрение, он далек от идеала, но протестирован на живом примере и стабильно работает. Так же, если вам лень разбираться в коде и хочется просто собрать все по схеме, я специально оставил в самом верху листинга две переменные: первая отвечает за временную задержку на включение сигнализации после нажатия кнопки (я поставил 3 минуты), а вторая отвечает за включение оповещения об открытии двери, то есть то время, когда вы открыли дверь и еще не выключили сигнализацию - по умолчанию на это дается 30 секунд:

#define DELAY_CLOSE 180000
#define DELAY_OPEN 30000

В результате получилась довольно простая и надежная система оповещения, вполне справляющаяся со своей основной обязанностью.


Программный код и схемы вы найдете здесь: Яндекс.Диск


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

Показать полностью 4
345

GSM сигнализация о протечке 2, делаем за час своими руками.

Всем привет.

Первое видео про сигнализации вызвало большой интерес.

По этому выкладываю на суд общественности вторую версию сигнализации которая:

1. Оповестит вас звуковым сигналом

2. Сама сразу же перекроет воду

3. Позвонит вам на телефон.

И всё это без применения ардуино и микроконтроллеров!!!

Стоимость такого устройства на порядок дешевле промышленных устройств.

Купить придется только моторизированные клапаны.

Остальное можно найти в ящике любого мужчины, у которого есть паяльник.

Схема

GSM сигнализация о протечке 2, делаем за час своими руками. Сигнализация, Протечка, Gsm, Самоделки, Своими руками, Аквастоп, Видео, Длиннопост
GSM сигнализация о протечке 2, делаем за час своими руками. Сигнализация, Протечка, Gsm, Самоделки, Своими руками, Аквастоп, Видео, Длиннопост

На телефоне нужно настроить быстрый дозвон на одну из кнопок клавиатуры.

Подключить к контактам этой кнопки выводы.

Потом подсоединить эти выводы к реле.

GSM сигнализация о протечке 2, делаем за час своими руками. Сигнализация, Протечка, Gsm, Самоделки, Своими руками, Аквастоп, Видео, Длиннопост
GSM сигнализация о протечке 2, делаем за час своими руками. Сигнализация, Протечка, Gsm, Самоделки, Своими руками, Аквастоп, Видео, Длиннопост

Осталось расположить несколько параллельных датчиков в нескольких опасных местах квартиры. 

На всякий случай вставляю ссылку на пост с сигнализацией первой версии.

http://pikabu.ru/story/signalizatsiya_o_protechke_vodyi_svoi...

Всем удачи.
Показать полностью 4
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: