Датчик воды на полу arduino своими руками

Обновлено: 01.05.2024

Bluetooth датчик протечки воды за $1-2 своими руками с погружением в BLE технологию (I серия)

Этим материалом запускаю серию постов с подробным описанием переделок брелков под различные датчики. По итогу, Вы сможете через интернет или GSM-связь получить аудио-видио информацию о проникновении через окна или двери, утечке воды, несанкционированном включении света в помещении, отключении электричества и др. Причем, все это бесплатно, ну или почти бесплатно. Кроме брелка потребуется лишь старый Android гаджет с Bluetooth 4.1 и выше, тройку недорогих радиодеталей, которые наверняка найдутся в ваших или доброго соседа закромах и совсем немного терпения.

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

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

Немного истории:

Идейными и финансовыми вдохновителями Bluetooth «маячков» являются Apple и Google которые в 2007 г. зарегистрировали свои технологии в некоммерческой организации Bluetooth SIG, которая сейчас представляет интересы 35000 компаний-членов. Каждый из прародителей пошел по собственному пути представив через три года свои готовые продукты как iBeacon и Eddystone соответственно. Это все к тому, на сколько серьезный был подход и каковы виделись перспективы этой идеи. Используемые технологии мало чем отличалась в независимости от обилия и скорости смены их названий (Wibree, ULP-B, BlueTooth Low Energy, сейчас — BlueTooth Smart). На мой взгляд самое удобное для понимания и написания название — BlueTooth Low Energy сокращенно BLE, которым судя по публикациям пользуется большинство специалистов и интернет сообщество, которым в дальнейшем буду использовать и я.

Суть технологии – передать на защищенном канале Bluetooth информацию с максимальной экономией энергии. Производители обещались, что на «одной батарейке CR2032 гаджет способен проработать до 2,5 года…» (приставка «до» меня почему-то всегда смущает).

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

Для визуализации того, как она работает в реальном времени я бы посоветовал закачать с PlayMarket-а программу Bluetooth Scanner — Bluetooth finder — pairing (ссылка исключительно информативного характера, как и все другие в данной серии материалов). Выбрав в программе (русский присутствует) свой брелок, открыв вкладку «Поиск устройств», вы увидите и даже услышите в каком темпе передаются сигналы, когда устройство засыпает и просыпается. Обратите внимание, что наибольший уровень сигнала соответственно и дальность действия приходится на момент подключения, что мы в дальнейшем с успехом будем использовать. Приложение также имеет и прикладное назначение для тех, кто не может сконнектить свои BLE устройства.



Большинство жалоб, которые слышатся от пользователей Bluetooth Tracer-ов (они же маячки, «антипотеряйки»):не подключаются к Bluetooth; не держат связь; не выдают геолокацию места потери; неприятные громкие звуки, которые могут раздаваться в самый неподходящий момент; неудобства с отключением этих звуков; малая дальность связи и т.д.

Взаимосвязь

Многих, наверное, раздражает тот факт, что телефон не может стандартно соединиться с вашим BLE гаджетом. Некоторые, это списывают на недоделки производителя или их желание ограничить ваши возможности. На самом деле, изначально, сама технология BLE не предусматривает обратной передачи идентификационного пакета без которого телефон не может поддержать стандартную связь Bluetooth. Сделано это с двумя целями – сэкономить энергию и разделить технологии. Правда, существуют BLE устройства двойного действия, ярким представителями которых являются недорогие и популярные сэлфи-пульты на процессорах ST17H26.


Спецификация:




Для того, чтобы перевести пульт из обычного режима в режим BLE нужно зайти в

Bluetooth настройки


По поводу удержания связи могу посоветовать сначала проверить свой телефон на наличие функции Always On Display (всегда на дисплее), что отключает глубокий сон. В старых версиях телефонных аппаратов этой опции нет, ее придется скачать в виде дополнительной программы, в новых — она присутствует по умолчанию, нужно только не забыть активировать ее. Если Вы этого не сделаете, сначала заснет телефон, а после минутного сканирования и сам брелок.

Поскольку, в качестве базы для своей охранной сигнализации я использую замученный экспериментами и временем старый Galaxy S5 на Android 6.0.1, то пришлось подбирать Always On в большом перечне предложений. Выбор пал на CyptoWake от Amir R Adib – минимум рекламы и хорошая функциональность. Для экономии, энергии заставку выбираем потемнее, отключаем не нужное и радуемся жизни.

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

К курьезам с отключением «антипотеряшек» можно отнести «невнимательность» продавцов и покупателей. Поскольку пульты для сэлфи часто делают в корпусе и на процессорах BLE трекеров — их попросту путают. Отличить их можно по отсутствию у пультов зуммера и как они идентифицируются системой.

По центру треккер, с краев пульты:


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

Для сравнения далеко не полный набор из возможных вариантов — ни одного повторения:



О геолокации:

BLE маячки изначально рассчитаны на возможность их поиска внутри помещений, чего не могут по понятным причинам Wi-Fi, GPS и им подобные системы. Но простое позиционирование — для коммерциализации не достаточно. Маячки стали предлагать сетям магазинов, музеям и владельцам выставочных залов, на туристических объектах, предварительно привязав рекламные метки к определенной точке в помещении. Вы подошли к товару или стенду выставки, а в вашем телефоне (при наличии заранее скачанной спец-программы) уже высвечивается полная информация об объекте.

Маячок примерно раз в секунду просыпается и выдает в эфир сигнал, который способен уловить любой современный телефон (планшет, ноутбук, часы, браслет…) даже в том случае, если у вас отключен Bluetooth. Последний незаметно посылает на сервер идентификационные данные маячка и информацию об уровне сигнала, по которым и определяется его местоположение. Именно поэтому протокол Bluetooth SIG требует от производителей включать в программы и прошивки обязательную активацию геоданных. Кстати, сами гаджеты с Bluetooth выше 4 версии также могут работать как маячки и даже полностью копировать любой из BLE устройств. Это свойство разработчики используют для отладки своих программных продуктов. Более того, BLE устройства могут общаться между собой образуя целые сети.

Другими словами, производители BLE рассчитывают на то, что рано или поздно мимо вашей «антипотеряшки» пройдет человек с такой же программой как у Вас, которая через сервер известит о точке, где она сейчас находится. Как Вы понимаете в селе или даже районном центре на такое рассчитывать не стоит, а вот в городе может повезет, хотя в условиях карантина — сомневаюсь. Встречал информацию, что американцы проводили исследования, согласно которым у 40% пользователей смартфонов в крупных городах постоянно подключены Bluetooth и геоданные.

Если находиться в тренде и поверить в пугалки о внедрении повсеместного чипования и создания глобальной сети слежки через 5G, то спешу вас успокоиться — кому надо вас могут отследить с точностью до сантиметров в помещении уже сегодня. Но при этом надо всегда задаваться вопросам — "… а кому Вы нужны?" Если у Вас есть BLE гаджет с собой, к примеру — ключи с трекером в кармане или мобильный телефон, а на столе беспроводная мышка или наушники, достаточно двух устройств из этого неполного списка, чтобы вычислить Ваше местоположение. Но даже если на Вашем теле нет ни одного электронного гаджета, а они лежат мирно где ни будь в квартире (а они наверняка есть), то о вашем местоположении и перемещении в помещении все рано «Всевидящему Оку» будет известно.
Если мы говорим о BLE, то для таких фокусов достаточно отслеживать его уровень сигнала связи. Если Вы оказались на пути этого сигнала, он поменяет свое значение на какое-то время в меньшую сторону. С увеличением числа устройств точность вашего позиционирования возрастает. Я даже задумывался сделать на этом принципе и представить вам датчик движения из брелка, но меня пока останавливает три момента: необходимость писать отдельное приложение, возможные сбои в расчетах при быстром передвижении объектов (пока BLE спит); отсутствие времени; да и зачем, если есть другие, недорогие и более точные решения таких задач.

Пока верстался топик, буквально вчера прилетела информация что (дословно): «Apple и Google объединяют силы с целью помочь медицинским работникам отслеживать контакты лиц, заразившихся коронавирусом. К середине мая они обещают разработать технологию, которая позволяет делать это с помощью беспроводной связи Bluetooth. Специально для внедрения этой технологии компании выпустят полноценную версию API, который позволит ей функционировать на устройствах с операционными системами Android и iOS». Интересно, это то о чем я намекал выше или что-то другое — скоро прояснится.
С неприятными звуками мы разберемся в последней серии, став на время «хакерами», а вот с дальностью не все так просто, хотя можно побороться и в этом вопросе.

Дальность

Есть возможность увеличить/изменить дальность гаджетов BLE программно, но нужно осознавать, что чем выше дальность — тем больше расход энергии. Процедура простая (в помощь программа nRF Connect и ей подобные) но это потребует определенных специализированных знаний (не для домохозяек). Вот припаять кусочек провода к антенному выводу на плате с учетом того, что уже есть длиной так в 8,2 см многим вполне под силу (основы антенно построения здесь)
Как альтернатива – можно погуглить и приобрести готовые варианты Bluetooth трекеров с заявленной дальностью в 50 и даже 100 метров, правда цены совсем другие. Для квартиры же площадью в 60-80 кв. м стандартная для BLE дальность в 10-15 м (при условии расположения базы по центру жилплощади или в коридоре), вполне достаточна. Привередливые, дополнительно могут приобрести BLE повторители (приемопередатчики) выбор очень большой, цены от $4 и выше.

Если Вы еще не передумали разбирать свой BLE гаджет, тогда пошагово приступим собственно к сотворению датчика протечки. Для этого подойдет любая BLE «антипотеряшка» или сэлфи-пульт. Я же выбрал из своей коллекции белый, квадратный брелок по трем причинам — подходит по цвету и фактуре под кафель ванной, лучше защищен от влаги, но главное — из-за того, что его схемотехника не позволяет также просто как у других разделить питание процессора от батареи, а варианты с разделением еще пригодятся для других изделий. Забегая вперед отмечу, что все датчики из сериала основаны на трех принципах – изменении (гашении) сигнала передачи, механическом или транзисторном разрыве питания, эмуляции нажатия встроенной кнопки. Все способы имеют свои достоинства и недостатки, главное понять — где и как их применять.

В представленном случае, менять частоту радиопередачи будет жидкость (вода). Все что нам нужно для реализации этого «сложного» проекта — два провода и паяльник. Как только вода коснется контактов — связь прервется, а «база» просигнализирует вам о происшествии. Как показали опыты, в зависимости от схемы и обвеса процессора (наличия или отсутствия конденсаторов и резисторов), некоторые брелки способны восстановить связь с базой даже после длительной приостановке работы процессора. Процессор продолжает получать питание, но тактовая частота его меняется (замедляется или совсем приостанавливается). В нашем случае, этот момент не столь существенен. Не так часто происходят затопления, а если процессор все же остановился и связь, после того как контакты обсохли, самостоятельно не восстановилась, то можно одним нажатием кнопки вновь запустить гаджет, благо, что проверить это можно дистанционно, а в некоторых приложениях параллельно проконтролировать и уровень заряда батарейки.

Пошаговая инструкция для домохозяек :

1. Берем нож (можно кухонный) и смело разделяем половинки гаджета.

2. Отбираем у мужа или у соседа паяльник, предварительно предупредив, что это «не на долго». Если будут сопротивляться намекните, что в этом случае Вы бы предпочли тонкое жало. Думаю это их на время дезориентирует и утихомирит.

3. Два проводка, или как в моем видио — ножки любой радиодетали + плюс мягкий проводок, можно найти в игрушках младшего ребенка.

4. У среднего отбираем для «базы» старый телефон обязательно пообещав ему на День рождение новый.

Пол дела сделано.
5. Мягким движением руки, один провод припаиваем к любому выводу кнопки. Лучше

к управляющему (I/O)


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

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

кварцевый резонатор (кристалл, генератор частоты)



6. Свободные концы выводим наружу корпуса брелка. В моем случае три точки пайки и выглядит это так:



Расстояние между проводами не столь важно, можно вывести и в противоположные концы корпуса, как вам покажется удобней. Чувствительность датчика настолько велика, что если Вы возьметесь одной рукой за один вывод, а другой за второй, то сопротивление тела, которое при влажных пальцах равно около 1-2 МОм, а при сухих – 3-10 МОм будет вполне достаточным, чтобы разорвать Bluetooth соединение.

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

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

9. Если Вы «профессиональная» домохозяйка и большую часть времени находитесь дома, то для Вас вполне достаточным будет скачать рекомендованное производителем маячка программное приложение или ALARM BLE iTAG, которое оповестит Вас своим сигналом об утечке днем и ночью предохранив от очередного приключения с соседями.

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


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

Почему Macrodroid, а не Automate или Automatel или им подобные? Да потому, что первая очень гибкая и понятная, с интегрированным BLE модулем, на хорошем русском (или более близких вам с десяток других языков).
Продвинутые пользователи, могут попытаться освоить специально разработанный французским профессором программный продукт iTAG Alarm (500 тыс. скачиваний), который, судя по заверению автора, призван сделать с вашего брелка – пульт дистанционного управления. Мне он не подошел, по причине того, что заточен исключительно под конкретного производителя и сильно отстает по функционалу от Macrodroid (более одного млн. скачиваний). Все используемые нами программы бесплатные и как сейчас модно говорить — с возможностью расширения функционала за финансовое вознаграждение.
Для автоматического перекрытия Ваших кранов потребуется электронный затвор/кран управляемый по Bluetooth или Wi-FI. Таких на местных и зарубежных интернет рынках предостаточно, правда и цены «кусачие» (как и о обещал – никакой рекламы). Если система затворов работает на собственных частотах, то в них можно постараться интегрировать такие же «антипотеряшки» благо, что они двунаправленного действия.


Итоговое фото:

Можно и так:



Интересное использование BLE трекеров можно подсмотреть ЗДЕСЬ.

В следующем материале Вы найдете пошаговую инструкцию изготовления из «антипотеряшек» двух BLE датчиков – уровня жидкости и объема (емкостной ). Они не многим сложнее в изготовлении, имеют другой функционал и назначение, но их также с успехом можно будет использовать и для детекции протечек воды в помещении. Если стиль и содержание таких топиков понравится сообществу, то в недалекой перспективе попробую описать в картинках и процесс изготовления бесконтактных датчиков дверей и окон с магнитом и без таковых, а так же и датчик детектора влажности почвы (полива). Думаю, что этот абзац будет и ответом на вопрос "… почему сериал?". Все (в том числе программирование) уместить в один топик в моем представлении не приемлемо и не читабельно. Постараюсь долго не затягивать, видео часть уже подготовлена.

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

Как сделать аналоговый датчик своими руками

Для этого проекта нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • самодельный датчик воды;
  • 1 светодиод и резистор на 220 Ом;
  • провода «папа-папа» и «папа-мама».

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

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

Проверка самодельного датчика на Ардуино

Скетч для самодельного датчика воды Ардуино

Рассмотрим на этом занятии аналоговый датчик протечки воды (уровня жидкости). Расскажем, как подключить датчик к аналоговому порту на Arduino. Самостоятельно напишем скетч для вывода показаний датчика протечки воды на серийный порт. Рассмотрим команды Serial.begin и Serial.print в языке программирования C++ для вывода информации с микроконтроллера Arduino на серийный монитор порта.

На этом занятии мы соберем схему и напишем скетч для автоматического включения светодиода при попадании воды на наш датчик (Water Sensor). Для начала нам необходимо узнать, какое значение мы будем получать на аналоговом порту, когда датчик будет в воде. Далее в скетче мы добавим условие включения светодиода при достижении максимального порога и его автоматического отключения.

Датчик уровня жидкости (Water Sensor Arduino)

Как вы уже заметили на фото к этому занятию, датчик уровня жидкости имеет три контакта. Правый контакт (-) подключается к Земле (GND), средний к питанию 5v, а левый к аналоговому входу, например, A0. При полностью сухом датчике выходное напряжение и показания на аналоговом входе будут равны нулю, чем больше датчик будет погружен в воду, тем больше будут его показания (от 0 до 1023).

Как подключить датчик воды к Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • датчик воды;
  • 1 светодиод и резистор 220 Ом;
  • провода «папа-папа» и «папа-мама».

Перед тем как, подключить датчик протечки воды к плате Ардуино, следует написать скетч. Откройте программу Arduino IDE и вы увидите скетч, где уже прописаны процедуры void setup() и void loop() . Для начала зададим переменную water с помощью оператора int . Переменную мы будем использовать для хранения данных в памяти и присваивания ей значения, получаемого с датчика воды.

Скетч для датчика воды (water sensor)

Пояснения к коду:
  1. в первой строчке мы присвоили переменной int имя water для хранения значений c входа A0, значения water могут принимать только целое число.

Датчики и модули Arduino

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

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

Адресная светодиодная лента ws2812 и Arduino

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

Музыка на Arduino с модулем MP3 и WAV

Модули Ардуино позволяют создать множество различных электронных устройств, которые будут работать по несложным программам. Одним из таких устройств является компактный плеер. Ардуино плеер, проигрывающий WAV и МР3 файлы, может быть реализован.

Подключение тензодатчика HX711 к Arduino

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

Подключение Arduino Bluetooth модулей HC 05 HC06

Сенсорные кнопки в Ардуино

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

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

Датчики давления Arduino bmp280, bmp180, bme280

Датчики атмосферного давления bmp180, bmp280, bme280 - частые гости в инженерных проектах. С их помощью можно предсказать погоду или измерить высоту над уровнем моря. Сегодня именно эту линейку можно назвать самыми.

Модули GPS в Arduino: подключение NEO 6 и обзор программ U-Center

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

Часы реального времени на RTC модулях Ардуино DS1302, DS1307, DS3231

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

GSM и GPRS модули для Arduino

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

Wemos D1 R2 и mini на основе esp8266

Платы WeMos на основе esp8266 давно пользуются большой популярностью у мейкеров. Они совместимы с большинством датчиков ардуино и позволяют писать скетчи в Arduino IDE. Благодаря WeMos вы получаете возможность работать с.

Драйверы двигателя L298N, L293D и Arduino Motor Shield

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

Подключение RFID к Arduino с помощью RC522 и RDM3600

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

Датчик движения ардуино

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

Описание датчика движения ардуино

Конструкция ПИР датчика движения не очень сложна – он состоит из пироэлектрического элемента, отличающегося высокой чувствительностью (деталь цилиндрической формы, в центре которой расположен кристалл) к наличию в зоне действия определенного уровня инфракрасного излучения. Чем выше температура объекта, тем больше излучение. Сверху PIR-датчика устанавливается полусфера, разделенная на несколько участков (линз), каждый из которых обеспечивает фокусировку излучения тепловой энергии на различные сегменты датчика движения. Чаще всего в качестве линзы применяют линзу Френеля, которая за счет концентрации теплового излучения позволяет расширить диапазон чувствительности инфракрасного датчика движения Ардуино.

PIR-sensor конструктивно разделен на две половины. Это обусловлено тем, что для устройства сигнализации важно именно наличие движения в зоне чувствительности, а не сам уровень излучения. Поэтому части установлены таким способом, что при улавливании одной большего уровня излучения, на выход будет подаваться сигнал со значением high или low.

Основными техническими характеристиками датчика движения Ардуино являются:

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

Принцип работы датчика движения на Arduino следующий:

  • Когда устройство установлено в пустой комнате, доза излучения, получаемая каждым элементом постоянна, как и напряжение;
  • При появлении в комнате человека, он первым делом попадает в зону обозрения первого элемента, на котором появляется положительный электрический импульс;
  • Когда человек перемещается по комнате, вместе с ним перемещается и тепловое излучение, которое попадает уже на второй сенсор. Этот PIR-элемент генерирует уже отрицательный импульс;
  • Разнонаправленные импульсы регистрируются электронной схемой датчика, которая делает вывод, что в поле зрения Pir-sensor Arduino находится человек.

Схема подключения датчика движения к Ардуино

Arduino uno sensor PIR

Подключение Pir-датчика к Ардуино выполнить не сложно. Чаще всего модули с сенсорами движения оснащены тремя коннекторами на задней части. Распиновка каждого устройства зависит от производителя, но чаще всего возле выходов есть соответствующие надписи. Поэтому, прежде чем выполнить подключение датчика к Arduino необходимо ознакомиться с обозначениями. Один выход идет к земле (GND), второй – обеспечивает выдачу необходимого сигнала с сенсоров (+5В), а третий является цифровым выходом, с которого снимаются данные.

  • «Земля» – на любой из коннекторов GND Arduino;
  • Цифровой выход – на любой цифровой вход или выход Arduino;
  • Питание – на +5В на Arduino.

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

Пример программы

Скетч представляет собой программный код, который помогает проверить работоспособность датчика движения после его включения. В самом простом его примере есть множество недостатков:

  • Вероятность ложных срабатываний, за счет того, что для самоинициализации датчика требуется одна минута;
  • Отсутствие выходных устройств исполнительного типа – реле, сирены, светоиндикации;
  • Короткий временной интервал сигнала на выходе сенсора, который необходимо на программном уровне задержать, в случае появления движения.

Указанные недостатки устраняются при расширении функционала датчика.

Скетч самого простого типа, который может быть использован в качестве примера работы с датчиком движения на Arduino, выглядит таким образом:

Возможные варианты проектов с применением датчика

Пир-датчики незаменимы в тех проектах, где главной функцией сигнализации является определение нахождения или отсутствия в пределах определенного рабочего пространства человека. Например, в таких местах или ситуациях, как:

  • Включение света в подъезде или перед входной дверью автоматически, при появлении в нем человека;
  • Включение освещения в ванной комнате, туалете, коридоре;
  • Срабатывание сигнализации при появлении человека, как в помещении, так и на придомовой территории;
  • Автоматическое подключение камер слежения, которыми часто оснащаются охранные системы.

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

Беспроводной датчик протечки воды на nRF52832, DIY проект

Приветствую всех читателей раздела «DIY или Сделай сам» на Habr! Сегодня хочу рассказать об очередном своем проекте, эта статья будет о датчике протечки воды на батарейном питании. Как и в предыдущих проектах, это устройство работает на микроконтроллере nRF52832. Есть три версии этого датчика, во всех трех версиях используются готовые модули с nRF52832, в этой статье речь пойдет о средней версии в котором используется модуль YJ-17103 от HOLYIOT.




Детектор жидкости реализован на микросхеме SN74LVC1G00 | Даташит. Кратко опишу схемное решение и принцип работы. Электрод №1 датчика подключен к земле, электрод №2 датчика подключен к ножкам A и В микросхемы SN74LVC1G00 через резистор 100Oм, так же к этой линии подведено 3.3в через резистор 1М, так же в схему добавлена емкость. Когда контакта с жидкостью нет на ножках микросхемы A и В логическая единица, соответственно на ножке Y подключенной к ножке МК (програмно настроенной на детектирование прерывания через встроенный компоратор) логический ноль. Как только произойдет контакт с жидкостью и на ножках A и B будет низкий уровень, то сигнал на ножке Y микросхемы SN74LVC1G00 так же инвертируется, что вызовет прерывание, которое в свою очередь выведет МК из сна. В дальнейшем микросхема SN74LVC1G00 возможно будет заменена на микросхему SN74LVC1G14 | Даташит, а возможно и не будет :). Детектирование жидкости с ножки МК через встроенный компоратор не планируется.

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

Mysensors это сообщество разработчиков програмного обеспечения с открытым исходным кодом. Данный протокол разработан сообществом для создания радио и проводных сетей. Первоначально проект разрабатывался для платформы Arduino. Стандартная Mysensors сеть состоит из гейта(шлюза), ретранстяторов и конечных устройств(ноды). В одной сети может быть до 254 устройств, каждое из устройств может быть оснащено до 254-мя сенсорами, датчиками, исполнительными узлами. Работа сети, обработка данных, выполнение сценариев и взаимодействие в другими устройствами осуществляется с помощью контроллера УД. Некоторые из контроллеров(Мажордомо) поддерживают работу с несколькими сетямии Mysensors(мультигейтовость), соответственно сетей может быть намного больше одной управляемых одним контроллером.

Поддерживаемые аппаратные платформы: Linux / Raspberry Pi / Orange Pi | ATMega 328P | ESP8266 | ESP32 | nRF5x(Cortex M0, M4) | Atmel SAMD, используемое в Arduino Zero (Cortex M0) | Teensy3(MK66FX1M0VMD18) | STM32F1.

Поддерживаемые радиопередатчики: NRF24L01 | RFM69 | RFM95 (LoRa) | nRF5x

Поддерживаемый проводной тип связи: RS485

Поддерживаемые типы связи между гейтом и контроллером: MQTT | Serial USB | WiFi | Ethernet | GSM

Вернемся к датчику протечки. Устройство работает от батареек CR2430, CR2450 или CR2477. Потребление во сне составляет менее 3мкА. Скорость передачи — 250Kbps, 10-15ms. Энергопотребление в момент передачи составляет не более 8мА. Теоретически срок работы на одной батарейке примерно равен сроку саморазряда батарейки. На практике все конечно менее радужно, так как есть процедура регистрации, презентации, периодическая отправка уровня заряда, так что срок работы от одной батарейки скорее ближе к значению — срок саморазряда/2 :). Питание осуществляется напрямую от батарейки, контроль уровня заряда батарейки производится непосредственно с пина VDD. В датчике установлен RGB LED для индикации регистрации датчика в сети, для индикации сервисных режимов и для индикации детектирования протечки. Естественно светодиод может не использоваться вообще или использоваться частично.

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


Корпус устройства был спроектирован из двух частей. Верхняя крышка с местами для крепления платы и нижняя часть(ванночка) с 2 отверстиями под стальные контактные винты(герметизация возможна силиконовым герметиком под шляпку винтов или не требуется) и двумя трубками под кнопки (сброс и режимы) на плате. Печать выполнялась на SLA 3D принтере ANICUBIC PHOTON. После печати была выполнена обработка наждачной бумагой 320 и 1000 для подгонки стыков крышки и дна корпуса.



Фотографии датчика








Код тестовой программы

nRF52832 программно настроен на работу в режиме пониженного энергопотребления (DC-DC Mode), Вывод МК из сна по сигналу от микросхемы SN74LVC1G00 настроен через внутренний компаратор LPCOMP. Устройство так же имеет тактовую кнопку для реализации сервисных режимов, таких как привязка устройства, обнуление устройства и т.п. Кнопка заведена на ту же ножку МК что и детектор протечки. Обе линии разделены диодами Шоттки. Микросхема SN74LVC1G00 в режиме мониторинга ничего не потребляет. Управление питанием микросхемы осуществляется с ножки МК.

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

Видео с демонстрацией работы датчика протечки

GitHub проекта
(гербер файлы, софт, модели корпуса, список компонентов)

Место где всегда с радостью помогут всем кто хочется познакомиться с MYSENSORS (установка плат, работа с микроконтроллерами nRF5 в среде Arduino IDE, советы по работе с протоколом mysensors, обсуждение новых авторских проектов — телеграмм чат @mysensors_rus.

Делаем автополив комнатного цветка на Arduino за 15 минут

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

image

При помощи двух регуляторов можно настроить объём поливаемой за раз воды, а также период между поливами. Кому интересно — далее подробная инструкция, как сделать такое устройство.

Для сборки поливалки вам понадобится некоторое количество компонентов и не более чем 30 минут свободного времени.

  • Arduino Mega (она просто была под рукой, но любая другая подойдёт)
  • Насос и силиконовая трубка (подойдёт насос омывателя автомобильных стёкол — можно купить в любых автозапчастях или можно купить маленький погружной насос на ebay)
  • Блок питания
  • Два переменных резистора для регулировки (любые)
  • Транзистор IRL3705N
  • Два резистора (100 Ом и 100 кОм)
  • Диод (любой)
  • Резервуар для воды (в моем случае пластиковая коробочка из Ikea)
  • Макетка

image

image

Собираем всё по такой схеме:

image

Или нагляднее:

image

Вот что получилось у меня:

Сначала протестим насос. Подадим на него 5В. Если он зажужжал, всё в порядке, двигаемся дальше.

image

Теперь подключим насос к Arduino. Сделаем для управления насоса с ардуино небольшую обвязку на макетке.

Попробуем поуправлять насосом с Ардуино. Зальём такой код

Если он периодически жужжит, значит, снова всё в порядке.

image

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

Зальём такой код на Ардуино

Зайдём в Serial Monitor и убедимся, что есть реакция на поворот регулятора. Он должен меняться примерно от 0 до 1024

image

Теперь осталось заставить заработать всё это вместе.

Вот непосредственно код поливалки:

    — цветок — устройство

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

Читайте также: