1Описание и принцип действия ИК датчика препятствий
Инфракрасное (ИК) или infrared (IR) излучение – это невидимое человеческим глазом электромагнитное излучение в диапазоне длин волн от 0,7 до 2000 мкм. Вокруг нас существуют огромное количество объектов, которые излучают в данном диапазоне. Его иногда называют «тепловое излучение», т.к. все тёплые предметы генерируют ИК излучение.
Длины волн разных типов электромагнитного излучения
Модули на основе ИК излучения используются, в основном, как детекторы препятствий для различного рода электронных устройств, начиная от роботов и заканчивая «умным домом». Они позволяют обнаруживать препятствия на расстоянии от нескольких сантиметров до десятков сантиметров. Расстояние до препятствия при этом определить с помощью ИК-сенсора невозможно.
Если оснастить, для примера, своего робота несколькими такими ИК модулями, можно определять направление приближения препятствия и менять траекторию движения робота в нужном направлении.
Модуль сенсора обычно имеет излучатель (светодиод) и детектор (фотодиод) в инфракрасном диапазоне. Инфракрасный светодиод излучает в пространство ИК излучение. Приёмник улавливает отражённое от препятствий излучение и при определённой интенсивности отражённого излучения происходит срабатывание. Чтобы защититься от видимого излучения, фотодиод имеет светофильтр (он выглядит почти чёрным), который пропускает только волны в инфракрасном диапазоне. Разные поверхности по-разному отражают ИК излучение, из-за чего дистанция срабатывания для разных препятствий будет отличаться. Выглядеть ИК модуль может, например, вот так:
Модуль с ИК излучателем и ИК приёмником
Когда перед сенсором нет препятствия, на выходе OUT модуля напряжение логической единицы. Когда сенсор детектирует отражённое от препятствия ИК излучение, на выходе модуля напряжение становится равным нулю, и загорается зелёный светодиод модуля.
Помимо инфракрасного свето- и фотодиода важная часть модуля – это компаратор LM393 (скачать техническое описание на LM393 можно в конце статьи). С помощью компаратора сенсор сравнивает интенсивность отражённого излучения с некоторым заданным порогом и устанавливает «1» или «0» на выходе. Потенциометр позволяет задать порог срабатывания ИК датчика (и, соответственно, дистанцию до препятствия).
Обзор аппаратного обеспечения
Теперь давайте перейдем к более интересным вещам. Давайте разберем оба датчика DHT11 и DHT22/AM2302 и посмотрим, что внутри.
Корпус состоит из двух частей, поэтому для его вскрытия достаточно просто достать острый нож и разделить корпус на части. Внутри корпуса на стороне датчиков находятся датчик влажности и датчик температуры NTC (термистор).
Рисунок 2 – Внутренности датчиков температуры и влажности DHT11 DHT22/AM2302
Чувствительный к влажности компонент, который используется, разумеется, для измерения влажности, имеет два электрода с влагоудерживающей подложкой (обычно соль или проводящий пластиковый полимер), зажатой между ними. По мере поглощения водяного пара подложка высвобождает ионы, что, в свою очередь, увеличивает проводимость между электродами. Изменение сопротивления между двумя электродами пропорционально относительной влажности. Более высокая относительная влажность уменьшает сопротивление между электродами, в то время как более низкая относительная влажность увеличивает это сопротивление.
Рисунок 3 – Внутренняя структура датчика влажности в DHT11 и DHT22
Кроме того, в этих датчиках для измерения температуры имеется датчик температуры NTC (термистор). Термистор – это терморезистор – резистор, который меняет свое сопротивление в зависимости от температуры. Технически все резисторы являются термисторами – их сопротивление слегка изменяется в зависимости от температуры, но обычно это изменение очень мало и его трудно измерить.
Термисторы сделаны так, чтобы их сопротивление резко изменялось при изменении температуры, и изменение на один градус может составлять 100 Ом или более! Термин «NTC» означает «Negative Temperature Coefficient» (отрицательный температурный коэффициент), что означает, что с ростом температуры сопротивление уменьшается.
Рисунок 4 – График зависимости сопротивления NTC термистора от температуры
С другой стороны имеется небольшая печатная плата с 8-разрядной микросхемой в корпусе SOIC-14. Эта микросхема измеряет и обрабатывает аналоговый сигнал с сохраненными калибровочными коэффициентами, выполняет аналого-цифровое преобразование и выдает цифровой сигнал с данными о температуре и влажности.
Описание модуля ИК-приемника KY-022.
Модуль ИК-приемника Arduino KY-022, реагирует на инфракрасный свет 38 кГц.
KY-022 Технические характеристики.
Этот модуль состоит из ИК-приемника на базе «VS1838B», резистора 1 кОм и светодиода. Работает вместе с модулем ИК-передатчика KY-005. Совместимость с популярными электронными платформами, такими как Arduino, Raspberry Pi и ESP8266.
Рабочее напряжение |
От 2,7 до 5,5 В |
Рабочий ток |
От 0,4 до 1,5 мА |
Расстояние приема |
18м |
Угол приема |
± 45º |
Несущая частота |
38 кГц |
0,4 В |
|
Напряжение высокого уровня |
4,5 В |
Фильтр окружающего света |
до 500 люкс |
Схема подключения KY-022 к Arduino.
Подключите линию питания (посередине) и землю (-) к +5 и GND соответственно. Также, необходимо подключить сигнал (S) к контакту 11 на Arduino. Сигнал на приемник будем отправлять с помощью пульта ДУ.
Подключение KY-022:
- S – сигнальный контакт
- VСС – «+» питания
- GND – общий
KY-022 скетч для Arduino.
В следующем скетче Arduino используется библиотека IRremote для приема и обработки инфракрасных сигналов. В уроке использую пульт ДУ для последовательной отправки данных на модуль KY-022.
#include "IRremote.h" int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); Serial.println("Enabling IRin"); irrecv.enableIRIn(); // ииничиализируем работу с IR Serial.println("Enabled IRin"); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Ждем следующее значение от пульта ДУ } delay(100); }
Ссылки на необходимые материалы и библиотеку для данного примера KY-022 Arduino можно найти в разделе «».
После того как скетч загружен и IR приемник подключен, можно проверить, какой код соответствует той или иной кнопке пульта ДУ. Поочередно нажимаем на кнопки, и в мониторе последовательного порта (Ctrl+Shift+M) вы уведите следующее.
У вас скорее всего возник вопрос: «Что за повторяющая команда FFFFFFFF»? Эта команда выводится, когда мы долго удерживаем кнопку на пульте и на Ардуино приходит одинаковая команда. В этом нет ничего страшного, а иногда это даже полезно. На основе получения данных в таком виде, я сделал управление машинкой, с помощью пульта ДУ. При этом машинка едет только тогда, когда нажата кнопка пульта. Отпускаем и машина перестает ехать или поворачивать.
Само простое, чем можно управлять — это включение и выключения встроенного светодиода на плату Arduino при помощи пульта дистанционного управления и инфракрасного приемника KY-022.
Схема подключения, как и в примере выше. Коды кнопок моего пульта, которые я буду использовать для примера:
//FF10EF — стрелочка вправо //FF5AA5 — стрелочка влево
У вашего пульта команды будут другие, если он не такой же модели, как у меня. Большинство наборов для Arduino оснащены пультом данной модели.
Скетч включения светодиода с помощью пульта ДУ.
//FF10EF — стрелочка вправо //FF5AA5 — стрелочка влево #include "IRremote.h" IRrecv irrecv(11); // указываем вывод, к которому подключен приемник decode_results results; void setup() { irrecv.enableIRIn(); // запускаем прием } void loop() { if ( irrecv.decode( &results )) { // если данные пришли switch ( results.value ) { case 0xFF10EF: digitalWrite( 13, HIGH ); break; case 0xFF5AA5: digitalWrite( 13, LOW ); break; } irrecv.resume(); // принимаем следующую команду } delay(100); }
Вот так можно легко научить Arduino принимать команды с пульта.
Понравился Урок KY-022 – модуль ИК приёмника. Подключение к Arduino? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу , в группу на .
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
Скачивая материал, я соглашаюсь с
Правилами скачивания и использования материалов.
KY-022 скетч для Arduino.ino | 0 Kb | 108 | Скачать | |
Скетч включения светодиода с помощью пульта ДУ.ino | 1 Kb | 92 | Скачать | |
Infrared receiver vs1838b.pdf | 285 Kb | 99 | Скачать |
Элементы платы
Пироэлектрический сенсор с линзой Френеля
Модуль выполнен на пироэлектрическом сенсоре RD-624 в металлическом герметичном корпусе. Внутри компонента расположено два чувствительных элемента, которые смотрят на внешний мир через прямоугольное окно, которое пропускает инфракрасное излучение.
На пироэлектрический сенсор одевается Линза Френеля, которая концентрируют излучение, значительно расширяя диапазон чувствительности датчика.
Микросхема управления
Мозгом сенсора является микросхема BISS0001. Чип считывает и обрабатывает сигналы с PIR-сенсора. В итоге на выходе модуля бинарный цифровой. Есть движение — единица, нет — ноль.
Выбор режима работы
Режим работы модуля задается перемычкой . Есть два режима — режим H и режим L. На фото выше в модуле установлен режим H.
Режим H — в этом режиме при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень.
Режим L — в этом режиме на выходе при каждом срабатывании датчика появляется отдельный импульс.
Регулировка режимов работы
На модуле расположено три потенциометра отвечающие за подстройку режима работы:
- — регулировка длительности сигнала при обнаружении движения объекта. Время на которое сенсор будет выдавать гарантированно высокий уровень при детектировании объекта. Диапазон длительности: от одной секунды до пяти минут.
- — регулировка длительности игнорирования движения при повтором срабатывании датчика. Время на которое сенсор не будет реагировать на движущий объект при циклическом срабатывании датчика. Временной диапазон: от нуля до пяти секунд.
- — регулировка чувствительности сенсора.
Световой индикатор
Индикаторный светодиод дублирующий выходной сигнал с датчика движения. При высоком уровне сигнала с модуля — светодиод горит, при низком — не горит.
Датчик освещённости
Датчик освещённости на фоторезисторе GL5528, подкорректирует чувствительность модуля на солнечный свет. Это удобно при необходимости отключение работы сенсора в дневное время суток.
Troyka-контакты
На модуле выведена группа Troyka-контактов:
- Сигнальный (S) — цифровой выход сенсора. Используется для передачи текущего состояния модуля. Подключите к цифровому пину микроконтроллера.
- Питание (V) — соедините с рабочим напряжением микроконтроллера.
- Земля (G) — соедините с землёй микроконтроллера.
PIR датчик движения Ардуино: характеристики
Сегодня уже никто не удивляется при автоматическом включении освещения в подъездах многоквартирных домов, которые срабатывают при прохождении человека. В большинстве приборов установлены пассивные датчики движения (PIR). Рассмотрим в этой статье устройство датчика движения, схему его подключения к Arduino UNO и соберем на его основе автоматический включатель освещения.
Линза Френеля концентрирует инфракрасное излучение
Модуль с ПИР датчиком состоит из пироэлектрического элемента под пластиковой линзой Френеля — цилиндрическая деталь с прямоугольным кристаллом в центре, который улавливает уровень инфракрасного излучения и пропускает его через себя. При подключении IR к Arduino мы уже выяснили, что все предметы имеют инфракрасное излучение и чем выше температура, тем интенсивнее излучение.
Устройство и распиновка пироэлектрического датчика движения
PIR датчики движения практически одинаковы по устройству. Диапазон чувствительности PIR сенсоров для Ардуино до 6 метров, угол обзора 110° x 70°. Питание — 5 Вольт, а выходной цифровой сигнал имеет значение 0, когда движения нет и значение 1 при наличии движения. Чувствительные элементы устанавливается в герметический корпус, который защищает от влажности и перепадов температур.
Как подключить датчик движения к Ардуино
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega;
- PIR датчик движения HC-SR501;
- беспаечная макетная плата;
- 1 светодиод и резистор 220 Ом;
- провода «папа-папа», «папа-мама».
Схема подключения PIR датчика к Ардуино Уно
Распиновка датчиков движения Ардуино у разных производителей может отличаться, но рядом с контактами есть надписи (см. фото выше). Поэтому, перед подключением внимательно изучите модуль. Один выход идет к GND, второй к питанию 5 Вольт (VCC), а третий выход (OUT) выдает цифровой сигнал с PIR сенсора. Соберите схему, как на фото выше, подключите светодиод к пину 12 на Ардуино и загрузите следующий скетч.
Скетч для датчика движения Ардуино
#define PIR 2 #define LED 12 void setup() { pinMode(PIR, INPUT); pinMode(LED,OUTPUT); } void loop() { int pirVal = digitalRead(PIR); if (pirVal == HIGH) { digitalWrite(LED, HIGH); delay(2000); } else { digitalWrite(LED,LOW); delay(2000); } }
Пояснения к коду:
- с помощью директивы для портов 2 и 12 мы назначили соответствующие имена PIR и LED. Это сделано лишь для нашего удобства;
- в условном операторе if использовано двойное равенство: . Согласно языку программирования Ардуино, двойное равенство является оператором сравнения.
Скетч для светильника с PIR датчиком движения
#define LED 3 // назначаем порт для светодиода #define PIR 2 // назначаем порт для PIR sensor unsigned long counttime; // выделение памяти для счетчика void setup() { pinMode(LED, OUTPUT); pinMode(PIR, INPUT); } void loop() { // если есть движение включаем светодиод if (digitalRead(PIR) == HIGH) { digitalWrite(LED, HIGH); } // включаем счетчик на 1 минуту counttime = millis(); // если нет движения и прошла 1 минута if (digitalRead(PIR) == LOW && millis() - counttime > 60000) { // если нет движения в течении 1 минуты выключаем светодиод digitalWrite(LED, LOW); } }
Пояснения к коду:
- с помощью функции мы начинаем отсчет времени. И в отличие от функции delay Arduino, которая полностью прерывает программу, микроконтроллер может продолжать остальные вычисления в скетче.
- мы изменили время выключения светильника. Если в первом скетче светодиод выключался сразу после сигнала LOW с датчика. То сейчас мы даем 1 минуту до выключения светильника, на случай если человек не вышел из комнаты.
Как работает модуль инфракрасного датчика
Принцип работы инфракрасного датчика достаточно прост, он состоит из двух основных компонентов: инфракрасного передатчика и инфракрасного приемника. Инфракрасным передатчиком служит излучающий ИК диод, а инфракрасным приемником – фотодиод.
Модуль инфракрасного датчика начинает работу когда на его излучающий ИК диод подано напряжение, при этом он испускает инфракрасные лучи. Лучи распространяются в пространстве, отражаются от препятствий и снова возвращаются к датчику, где улавливаются фотодиодом. Если препятствие (объект) находится близко, уровень отраженного света будет высок, если же объект находится далеко, то уровень отраженного света будет составлять небольшую величину.
При подаче питания на инфракрасный датчик на свой выходной контакт он выдает уровень Low, который может быть считан платой Arduino или любым другим микроконтроллером.
В большинстве электронных проектов данный датчик используется для обнаружения каких либо препятствий. Он находит широкое применение у радиолюбителей благодаря своей низкой стоимости и низкого энергопотребления, при этом он отличается достаточно большим диапазоном обнаружения препятствий.
Кроме передающего ИК диода и фотодиода модуль инфракрасного датчика содержит компаратор на основе операционного усилителя, который используется для преобразования поступающего аналогового сигнала в цифровой сигнал. Также в составе датчика есть потенциометр, с помощью которого можно отрегулировать его чувствительность.
Схема модуля инфракрасного датчика приведена на следующем рисунке.
Как видите, его схема достаточно проста и содержит набор простых, “массовых” компонентов. При желании вы даже можете собрать эту схему самостоятельно.
PIR Motion Sensors
PIR motion sensors, albeit called sensors, are configured as switches in Tasmota since they basically report motion ( 1 ) or no motion ( 0 ) to the device.
Most PIR’s are single wire and they require connecting to VCC, GND and one GPIO. In this guide we will use GPIO13 as the pin that the PIR output is connected to. See PIN Restrictions on which pins not to use
Tasmota Settings
In Configuration -> Configure Module menu change GPIO13 to Switch1 .
If there already is a Switch1 simply choose the next in line. Same applies if you’re connecting more than 1 PIR on a single device.
A configured PIR will not appear in the web UI in any form. To make it report like a sensor we need a rule that will send movement triggers to an MQTT topic.
Look in console for motion detection messages stat/%topic%/PIR1 ON to verify everything is working
optional: Before using rules configure any GPIO that doesn’t have anything connected to it as Relay1 . This creates a dummy relay which is triggered by the PIR so you can see the changes in the web UI. This method is not recommended for daily use and should only be used for testing.
A more advanced example of rules with PIRs.
Возможные варианты проектов с применением датчика
Пир-датчики незаменимы в тех проектах, где главной функцией сигнализации является определение нахождения или отсутствия в пределах определенного рабочего пространства человека. Например, в таких местах или ситуациях, как:
- Включение света в подъезде или перед входной дверью автоматически, при появлении в нем человека;
- Включение освещения в ванной комнате, туалете, коридоре;
- Срабатывание сигнализации при появлении человека, как в помещении, так и на придомовой территории;
- Автоматическое подключение камер слежения, которыми часто оснащаются охранные системы.
Пир-сенсоры просты в эксплуатации и не вызывают сложностей при подключении, имеют большую зону чувствительности и также могут быть с успехом интегрированы в любой из программных проектов на Ардуино. Но следует учитывать, что они не имеют технической возможности предоставить информацию о том, сколько объектов находится в зоне действия, и как близко они расположены к датчику, а также могут срабатывать на домашних питомцев.
Источник
Описание датчика движения ардуино
PIR-sensor конструктивно разделен на две половины
Это обусловлено тем, что для устройства сигнализации важно именно наличие движения в зоне чувствительности, а не сам уровень излучения. Поэтому части установлены таким способом, что при улавливании одной большего уровня излучения, на выход будет подаваться сигнал со значением high или low
Основными техническими характеристиками датчика движения Ардуино являются:
- Зона обнаружения движущихся объектов составляет от 0 до 7 метров;
- Диапазон угла слежения – 110°;
- Напряжение питания – 4.5-6 В;
- Рабочий ток – до 0.05 мА;
- Температурный режим – от -20° до +50°С;
- Регулируемое время задержки от 0.3 до 18 с.
Модуль, на котором установлен инфракрасный датчик движения включает дополнительную электрическую обвязку с предохранителями, резисторами и конденсаторами.
Принцип работы датчика движения на Arduino следующий:
- Когда устройство установлено в пустой комнате, доза излучения, получаемая каждым элементом постоянна, как и напряжение;
- При появлении в комнате человека, он первым делом попадает в зону обозрения первого элемента, на котором появляется положительный электрический импульс;
- Когда человек перемещается по комнате, вместе с ним перемещается и тепловое излучение, которое попадает уже на второй сенсор. Этот PIR-элемент генерирует уже отрицательный импульс;
- Разнонаправленные импульсы регистрируются электронной схемой датчика, которая делает вывод, что в поле зрения Pir-sensor Arduino находится человек.
Для надежной защиты от внешних шумов, перепадов температуры и влажности, элементы Pir-датчика на Arduino устанавливаются в герметичный металлический корпус. На верхней части корпуса по центру находится прямоугольник, выполненный из материала, который пропускает инфракрасное излучение (чаще всего на основе силикона). Чувствительные элементы устанавливаются за пластиной.
3Скетч Arduino для инфракрасного датчика препятствий
Скетч для работы с инфракрасным сенсором препятствий также предельно простой: мы будем читать показания с выхода модуля и выводить в монитор порта. А также, если ИК модуль обнаружил препятствие, будем сообщать об этом.
const int ir = A7; void setup() { Serial.begin(115200); } void loop() { int r = analogRead(ir); // r в диапазоне от 0 до 1023 Serial.println(r); if (r < 100) { // т.к. используется аналоговый пин Arduino Serial.println("Detected!"); } delay(100); }
Напомню, в Arduino используется 10-разрядный АЦП, поэтому значение аналогового сигнала кодируется числом в диапазоне от 0 до 1023. При использовании аналогового входа Arduino предельные значения «0» или «1023» мы вряд ли получим с датчика, поэтому лучше использовать некоторый порог, например, равный 100 (поэтому в скетче r < 100). При использовании же цифрового вывода Arduino для чтения показаний инфракрасного датчика, можно можно написать (r == LOW) или (r == 0) или (r < 1).
Хорошая статья про аналоговые измерения на Arduino.
Думаю, довольно понятно, как найти применение такому модулю в ваших проектах. Необходимо периодически опрашивать состояние на выходе модуля, и как только напряжение меняется с HIGH на LOW, предпринимать необходимые действия: менять направление движения робота, включать свет в помещении и т.п.
Объяснение программы для Arduino для подключения инфракрасного датчика
Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.
Код программы достаточно прост – в нем нам будет необходимо непрерывно проверять состояние (HIGH или LOW) контакта D9 платы Arduino, к которому подключен инфракрасный датчик. Код программы начнем с объявления двух глобальных переменных, в одной из которых будет храниться номер контакта, к которому подключен инфракрасный датчик, а во второй – номер контакта, к которому подключен светодиод.
Arduino
int IRSensor = 9; // connect IR sensor module to Arduino pin D9
int LED = 13; // connect LED to Arduino pin 13
1 |
intIRSensor=9;// connect IR sensor module to Arduino pin D9 intLED=13;// connect LED to Arduino pin 13 |
Далее, в функции setup() мы инициализируем последовательную связь со скоростью 115200 бод и зададим режимы работы используемых контактов (на ввод или вывод данных).
Arduino
void setup(){
Serial.begin(115200); // Init Serial at 115200 Baud Rate.
Serial.println(«Serial Working»); // Test to check if serial is working or not
pinMode(IRSensor, INPUT); // IR Sensor pin INPUT
pinMode(LED, OUTPUT); // LED Pin Output
}
1 |
voidsetup(){ Serial.begin(115200);// Init Serial at 115200 Baud Rate. Serial.println(«Serial Working»);// Test to check if serial is working or not pinMode(IRSensor,INPUT);// IR Sensor pin INPUT pinMode(LED,OUTPUT);// LED Pin Output } |
Затем в функции void loop() мы будем в бесконечном цикле считывать состояние контакта, к которому подключен инфракрасный датчик, с помощью функции digitalRead() и сохранять это значение в переменной sensorStatus. Если считанное состояние равно high, это будет обозначать, что датчиком обнаружено движение – мы будем выводить сообщение об этом в окно монитора последовательной связи.
Arduino
void loop(){
int sensorStatus = digitalRead(IRSensor); // Set the GPIO as Input
if (sensorStatus == 1) // Check if the pin high or not
{
// if the pin is high turn off the onboard Led
digitalWrite(LED, LOW); // LED LOW
Serial.println(«Motion Detected!»); // print Motion Detected! on the serial monitor window
}
else {
//else turn on the onboard LED
digitalWrite(LED, HIGH); // LED High
Serial.println(«Motion Ended!»); // print Motion Ended! on the serial monitor window
}
}
1 |
voidloop(){ intsensorStatus=digitalRead(IRSensor);// Set the GPIO as Input if(sensorStatus==1)// Check if the pin high or not { // if the pin is high turn off the onboard Led digitalWrite(LED,LOW);// LED LOW Serial.println(«Motion Detected!»);// print Motion Detected! on the serial monitor window } else{ //else turn on the onboard LED digitalWrite(LED,HIGH);// LED High Serial.println(«Motion Ended!»);// print Motion Ended! on the serial monitor window } } |
Сопутствующие товары
HC-SR04 модуль ультразвукового датчика, датчик расстояния, светодиодный модуль с цифровым дисплеем
32 руб.
10*15cm Single Side/Double Side Copper Clad Plate DIY PCB Kit Laminate Circuit Board 10x15cm
16 руб.
3590S серии потенциометр 500 1 K, 2K 5K 10K 20K 50K 100K ohm регулируемый резистор 3590S-2-103L 3590S 102 103 104 202 203 501 502
57 руб.
Переключение Питание монтажная плата AC-DC 12V 1A 1000MA/1.2A 1200MA DC Напряжение Регулятор модуль из-за цветопередачи монитора 110V 220V 50/60HZ
29 руб.
Пластиковый электронный корпус Корпуса прибора для проекта DIY 100x60x25 мм
10 руб.
3 шт. Портативные водонепроницаемые чернила Электроника CCL анти-травление печатной платы чернил маркер двойная ручка для DIY PCB маркер ручка
13 руб.
Импульсный источник питания AC-DC 100-240 В до 5 В А, модуль питания постоянного тока, регулятор напряжения, пустая плата, переключатель цепи 2500MA
36 руб.
10 шт. Германий диод 1N34A DO-35 1N34 IN34A для ТВ FM AM радио обнаружения
17 руб.
DIY Kit детектор металла Комплект Электронный комплект DC 3 V-5 V 60 мм Бесконтактный Сенсор модуль DIY электронные детали детектор металла
66 руб.
Описание
AM312 Mini PIR Motion Sensor (HW-740)
В основе модуля AM312 лежит пироэлектрический (пассивный) инфракрасный сенсор (PIR-sensor) накрытый пластиковой линзой Френеля для увеличения зоны обнаружения движущихся объектов с инфракрасным излучением (теплых объектов). Может использоваться напрямую с реле или другим исполняющим устройством без контроллеров (Arduino).
Особенностью данного модуля в отличие от HC-SR501 является его очень малые размеры (25х13*13мм), а так же то что AM312 может работать только в “H режиме”.
H – режим при котором датчик фиксирует все движения объекта после срабатывания, т.е. после каждого нового обнаружения движения таймер обнуляется и отсчет до появления на выходе 0 начинается сначала. Используется для систем освещения. При однократном срабатывании на выходе OUT появляется 1 на срок 2 сек (±20%).
- Датчик PIR-sensor: AS312
- Микросхема PIR controller: нет
- Угол обнаружения: 100°
- Дистанция обнаружения: от 3 до 5 метров
- Сигнал на выходе (OUT): Высокие(1) и низкие(0) уровни в ?3.3V TTL логике
- Длительность сигнала при обнаружении (OUT): 2 сек
- Напряжение питания модуля: 2,7 – 12V
- Ток потребления в режиме ожидания: менее 50мкА
- Ток потребления: 0,1 мА
- Размер модуля : 25 x 13 x 13 мм
- Размер модуля без гребенки: 19 x 13 x 13 мм
OUT (в центре) – цифровой бинарный выход ?3,3 v
Источник
Код Arduino. Вывод значений на монитор последовательного порта
Как обсуждалось ранее, датчики DHT11 и DHT22/AM2302 имеют собственный однопроводный протокол, используемый для передачи данных. Этот протокол требует точной синхронизации. К счастью, нам не нужно беспокоиться об этом, потому что мы собираемся использовать библиотеку DHT, которая позаботится почти обо всем.
Сначала скачайте библиотеку, посетив репозиторий на GitHub, или просто нажмите эту кнопку, чтобы скачать архив:
Чтобы установить библиотеку, откройте Arduino IDE, перейдите в «Скетч» → «Подключить библиотеку» → «Добавить .ZIP библиотеку» и выберите только что загруженный zip-архив DHTlib.
После установки библиотеки вы можете скопировать следующий скетч в IDE Arduino. Данный скетч выводит значения температуры и относительной влажности в монитор последовательного порта. Попробуйте скетч в работе; а затем мы рассмотрим его подробнее.
Скетч начинается с включения библиотеки DHT. Затем нам нужно определить номер вывода Arduino, к которому подключен вывод данных нашего датчика, и создать объект . Так мы сможем получить доступ к специальным функциям, связанным с библиотекой.
В функции нам нужно инициировать интерфейс последовательной связи, так как для вывода результатов мы будем использовать монитор последовательного порта.
В функции мы будем использовать функцию , которая считывает данные с DHT22/AM2302. В качестве параметра она принимает номер вывода данных датчика. Если вы работаете с DHT11, вам нужно использовать функцию . Вы можете сделать это, раскомментировав вторую строку.
После расчета значений влажности и температуры мы можем получить к ним доступ:
Объект возвращает значение температуры в градусах Цельсия (°C). Его можно преобразовать в градусы Фаренгейта (°F) по простой формуле:
\[T_{^\circ F} = T_{^\circ C} \times 9/5 +32\]
В конце мы выводим значения температуры и влажности в монитор последовательного порта.
Рисунок 8 – Вывод в мониторе последовательного порта показаний датчика DHT11 или DHT22/AM2302