Подключение фоторезистора к ардуино и работа с датчиком освещенности

Особенности монтажа

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

  1. Двери, предметы мебели, перегородки или всё, что затрудняет обзор перед датчиком быть не должно.
  2. Наиболее выгодное местоположение размещение датчика — потолок. Таким образом, получается предельно допустимый угол обнаружения и увеличивается обзор контролируемого помещения. Если по каким-то соображениям потолочное размещение недоступно, допускается монтаж приборов на колонны или стены.
  3. Приборы отопления, открытое солнце и вообще все, что вызывает нагревание, не должно находиться рядом с датчиком. Мало того что сам прибор будет нагреваться, так еще эти факторы вызовут ошибочное срабатывание детектора.
  4. Надо учитывать и такой фактор как радиус действия детектора. Т.е. люди могут просто не попасть в зону действия.
  5. Оптимальная высота монтажа потолочных извещателей — 2.5/3 метра. Для настенных приборов — высота колеблется от 1.2 до 2.3 метров от уровня пола.

Z- IR receiver. Модуль ИК приемника

Опубликовано 05.05.2014 8:44:00

Модуль ИК Приемника в связке и ИК пультом дистанционного управления позволит легко реализовать дистанционное управление платой Arduino.

Он представляет из себя не что иное, как ИК приемник VS1838B с установленной на плате рекомендуемой производителем обвязкой.

Для работы с данным модулем “из коробки” необходим ПДУ с частотой 38 кГц.

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

• Напряжение питания: 2.7 – 5.5В

• Частота модуляции: 38кГц

• Диапазон температур: – 20 … +  80°C

• Интерфейс: Цифровой

Подключение к Arduino

Модуль оборудован трехпиновым разъемом стандарта 2.54мм

 : подключается к выводу GND

 подключается к выводу +5V

 : подключается к цифровому выводу ( в примере D2 )

Пример работы в среде Arduino

Для работы с данным модулем необходимо установить библиотеку IRRemote

Скачиваем, распаковываем и закидываем в папку libraries в папке Arduino. В случае, если на момент добавления библиотеки, Arduino IDE была открытой, перезагружаем среду.

Считывание показаний кнопок ПДУ

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

В качестве примера будем использовать пульт, как на картинке, т.к. пульт такого типа идет в наборе ИК пульт + ИК модуль приемник

Пример программного кода:

// Тестировалось на Arduino IDE 1.0.3
#include 
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN); //Создаем объект получения сигнала с определенного порта
decode_results results; //Переменная, хранящая результат void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Начинаем прием
} void loop() {
  if (irrecv.decode(&results)) //При получении сигнала…
  { 
    Serial.println(results.value); //…выводим его значение в последовательный порт
    irrecv.resume(); // Получаем следующее значение
  }
}

В мониторе порта должны увидеть слудущее:

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

Управление платой Arduino c ПДУ

Заставим светодиод на плате Arduino (D13) загораться при получении кодировки первой кнопки и выключаться при получении кодировки второй.

Пример программного кода:

// Тестировалось на Arduino IDE 1.0.3
#include  int RECV_PIN = 2;
int LED = 13;
IRrecv irrecv(RECV_PIN);
decode_results results; void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Запуск приемника
  pinMode(LED, OUTPUT);
} void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value);
    if (results.value == 16769565) // При получении кодировки 1
    {
      digitalWrite(LED, HIGH); // Включаем светодиод
    }
    if (results.value == 16761405) // При получении кодировки 2
    {
      digitalWrite(LED, LOW); // Выключаем светодиод
    }
    irrecv.resume(); // Получаем следующее значение
  }
}

Купить в России  Z- Модуль ИК приемника

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

Принцип работы барометра

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

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

Карманный барометр Baro 90BИсточник bigl.ua

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

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

Пример работы

Рассмотрим ситуацию использования датчика на примере микроконтроллера Ардуино Уно и сенсора HC-SR501. Его характеристики:

  • рабочее напряжение постоянного тока — 4.5–20 В;
  • ток покоя —  ≈ 50 мкА;
  • выходное напряжение — 3.3 В;
  • диапазон температур — от −15 до +70 градусов Цельсия;
  • габариты — 32×24 мм;
  • угол детектирования — 110 градусов;
  • дистанция срабатывания — до 7 метров.

В указанном сенсоре установлены два пироэлектрических датчика IRA-E700.

Сверху они прикрыты сегментированной полусферой. Каждый сегмент — фокусирующая тепло на определенный участок ПИР-датчика линза.

Внешний вид устройства:

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

Настройка

ИК-модуль HC-SR501 весьма прост в настройке и дешев. У него есть перемычка для конфигурирования режима и пара подстроечных резисторов. Общая чувствительность настраивается первым потенциометром: чем она выше, тем шире зона «видимости» гаджета».

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

Следующий управляющий элемент — перемычка. От нее зависит режим работы.

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

Соединение датчика с контроллером

Подключение датчика движения к Ардуино следует выполнять по указанной схеме:

Пин OUT соединяется с пином 2 Уно, а VCC подсоединено к контакту +5 В. Принципиальная схема конструкции:

Программная часть

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

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

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

Макет:

Программа для реализации данного функционала:

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

Схема датчика освещения на фоторезисторе и реле

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

#define PIN_RELAY 10
#define PIN_PHOTO_SENSOR A0

void setup() {
  pinMode(PIN_RELAY, OUTPUT);
  digitalWrite(PIN_RELAY, HIGH);
}

void loop() {
  int val = analogRead(PIN_PHOTO_SENSOR);
  if (val < 300) {
    // Светло, выключаем реле
    digitalWrite(PIN_RELAY, HIGH);
  } else {
    // Темновато, включаем лампочку
    digitalWrite(PIN_RELAY,  LOW);
  }
}

Как работает PIR датчик движения?

Если вы не знали, все объекты с температурой выше абсолютного нуля (0 Кельвинов / -273,15°C), включая человеческие тела, испускают тепловую энергию в виде инфракрасного излучения. Чем горячее объект, тем большее излучение он излучает.

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

Рисунок 2 – PIR датчик, пироэлектрический датчик, два слота обнаружения

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

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

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

Рисунок 3 – Принцип действия PIR датчика

1Описание и принцип действия ИК датчика препятствий

Инфракрасное (ИК) или infrared (IR) излучение – это невидимое человеческим глазом электромагнитное излучение в диапазоне длин волн от 0,7 до 2000 мкм. Вокруг нас существуют огромное количество объектов, которые излучают в данном диапазоне. Его иногда называют «тепловое излучение», т.к. все тёплые предметы генерируют ИК излучение.

Длины волн разных типов электромагнитного излучения

Модули на основе ИК излучения используются, в основном, как детекторы препятствий для различного рода электронных устройств, начиная от роботов и заканчивая «умным домом». Они позволяют обнаруживать препятствия на расстоянии от нескольких сантиметров до десятков сантиметров. Расстояние до препятствия при этом определить с помощью ИК-сенсора невозможно.

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

Модуль сенсора обычно имеет излучатель (светодиод) и детектор (фотодиод) в инфракрасном диапазоне. Инфракрасный светодиод излучает в пространство ИК излучение. Приёмник улавливает отражённое от препятствий излучение и при определённой интенсивности отражённого излучения происходит срабатывание. Чтобы защититься от видимого излучения, фотодиод имеет светофильтр (он выглядит почти чёрным), который пропускает только волны в инфракрасном диапазоне. Разные поверхности по-разному отражают ИК излучение, из-за чего дистанция срабатывания для разных препятствий будет отличаться. Выглядеть ИК модуль может, например, вот так:

Модуль с ИК излучателем и ИК приёмником

Когда перед сенсором нет препятствия, на выходе OUT модуля напряжение логической единицы. Когда сенсор детектирует отражённое от препятствия ИК излучение, на выходе модуля напряжение становится равным нулю, и загорается зелёный светодиод модуля.

Помимо инфракрасного свето- и фотодиода важная часть модуля – это компаратор LM393 (скачать техническое описание на LM393 можно в конце статьи). С помощью компаратора сенсор сравнивает интенсивность отражённого излучения с некоторым заданным порогом и устанавливает «1» или «0» на выходе. Потенциометр позволяет задать порог срабатывания ИК датчика (и, соответственно, дистанцию до препятствия).

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

PIR-sensor конструктивно разделен на две половины

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

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

  • Зона обнаружения движущихся объектов составляет от 0 до 7 метров;
  • Диапазон угла слежения – 110°;
  • Напряжение питания – 4.5-6 В;
  • Рабочий ток – до 0.05 мА;
  • Температурный режим – от -20° до +50°С;
  • Регулируемое время задержки от 0.3 до 18 с.

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

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

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

Принцип работы

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

Разница ультразвукового сонара от прочих излучателей слышимых колебаний в направленности действия. Волна двигается от него в определенную сторону, охватывая угол до 15–20° перед прибором. Оттуда же ожидается эхо-возврат, отраженный от препятствия. С целью уменьшения влияния сторонних помех на сигнал используется звук с частотой в 40 КГц, не слышимый человеческим ухом.

Проблемы

За время эксплуатации температура в помещении понизилась с +10°С до -15°С и обнаружилась две проблемы.

  1. Используемый PIR датчик начинает давать ложные срабатывания при низких температурах. При +5°С использование стало совсем невозможным: число ложных срабатываний превысило одно в день. Попытка замены датчика на другой проблему не решило, поэтому сейчас этот датчик временно отключен. Что с этим делать пока не понятно.
  2. Датчик температуры, встроенный в DS3231 при -10°С и ниже начал сходить с ума: периодически выдает случайные значения, например, «-84°С» или «+115°С». Интересно, что RTC работает нормально. На текущий момент не понятно, проблема ли это конкретно моего экземпляра или нет. Жду для проверки второй идентичный модуль, при повторении с ним проблемы в устройство будет добавлен DS18B20.

В остальном полет нормальный.

Что измеряет сенсор

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

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

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

Схема соединений

Подключите Arduino к RCWL-0516, символьному ЖК-дисплею, зуммеру и светодиоду, как показано на схеме ниже.

Таблица соединений 1:

Arduino Pin Number
LED 2
Content 3

Таблица соединений 2:

Arduino Analog IO Character LCD
A5 SCL
A4 SDA

Таблица соединений 3:

Arduino Nano RCWL-0516
GND GND
5V VIN
D2 OUT

Вывод 3V3 на RCWL-0516 является выходным выводом. Вывод CDS позволяет вам добавить LDR (светозависимый резистор) к плате, что позволяет работать в режиме низкого энергопотребления, чтобы датчик активировался только в темноте. После подключения перепроверьте соединения, а затем загрузите исходный код (ниже).

Инструкция по изготовлению лодки с пультом

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

1. Изготовление корпуса лодки из пеноплекса

Изготовление корпуса лодки на Ардуино своими руками

Размеры и форма лодки могут быть абсолютно разными — все зависит лишь от фантазии. Что касается прорезей, то они должны соответствовать размерам деталей. На трафарете (слева-направо) размечены прорези для: платы Ардуино UNO, сервомотора, привода киля и микромоторчика. Учтите, что привод от сервомотора к килю должен свободно ходить в прорези, для этого надо точно рассчитать радиус.

2. Изготовление деталей для привода и управления

Изготовление деталей для привода и управления лодкой

Киль можно изготовить из любого материала — пластик, дерево и т.д. Стержень от ручки, прикрепленный к килю служит осью, на котором он поворачивается. Скрепка на киле обеспечивает подвижное соединение киля и рычага сервомотора из проволоки. Размер и конструкция привода сервомотора будет зависеть от конструкции лодки. Винт изготавливается из стержня шариковой ручки и куска пластиковой баночки.

Сборка деталей для привода радиоуправляемой лодки

3. Сборка лодки на Ардуино с управлением

Для начала следует установить плату, сервопривод и двигатель

В этом проекте мы обошлись без использования макетной платы. Если вспомнить схему подключения ИК приемника к Ардуино, то она очень проста (слева-направо): A0 — GND — 5V  и не требует расходов на приобретение макетной платы. Транзистор мы использовали в этой схеме для включения советского электромоторчика от 3,3 V.

Сборка электрической схемы лодки на ИК управлении

Транзистор размещен на пинах 12, 11 и 10. На Pin11 (средняя ножка транзистора — это база) мы подаем напряжение для включения электродвигателя. Pin12 и Pin10 в скетче не используются, поэтому служат нам эмиттером и коллектором. К Pin12 подключен выход 3,3 V, а к Pin10 подключен электромоторчик (красный плюсовой провод).

4. Крепление привода винта на валу двигателя

Разогрейте стержень от ручки над паяльником и он зайдет на вал двигателя

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

Скетч для лодки на Ардуино с ИК пультом

#include <IRremote.h> // библиотека для IR-приемника
#include <Servo.h>      // библиотека для сервомотора

// Замените коды команд от пульта ДУ на свои значения
#define forward 16736925
#define left 16769565
#define right 16754775
#define turm_left 16712445
#define turm_right 16711935
#define stope 16755285

Servo servo; // присваиваем имя сервомотору

int RECV_PIN = A0;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  Serial.begin(9600); // подключаем монитор, чтобы узнать коды кнопок пульта
  irrecv.enableIRIn();
  pinMode(11, OUTPUT);
  pinMode(13, OUTPUT);
  pinMode(A0, INPUT);
  servo.attach (7);
}

void loop() {
  
    if (irrecv.decode(&results)) {
    
    Serial.println(results.value); // выводим на монитор порта коды с пульта ДУ

    if (results.value == left) {
    servo.write(60);
    digitalWrite(11, HIGH);
   }
   
    if (results.value == right) {
    servo.write(120);
    digitalWrite(11, HIGH);
   }
   
    if (results.value == turm_left) {
    servo.write(10);
    digitalWrite(11, HIGH);
   }
   
    if (results.value == turm_right) {
    servo.write(170);
    digitalWrite(11, HIGH);  
   }
   
    if (results.value == forward) {
    servo.write(90);
    digitalWrite(11, HIGH);
   }
   
    if (results.value == stope) {
    servo.write(90);
    digitalWrite(11, LOW);
   }
   
    irrecv.resume(); // Ждем следующий сигнал от пульта
  }  
}

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

Что такое Ардуино

Фирма Arduino Software выпускает различные модели микропроцессоров и других электронных устройств. Однако, если в разговоре упоминается об Ардуино, в виду чаще всего имеется микрокомпьютер Arduino Uno. Это небольшая плата, на которой установлен процессор и электронные компоненты. По своим функциональным возможностям это устройство близко к материнским платам компьютеров, хоть и с урезанными возможностями.

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

Где используются

Микропроцессоры Ардуино уже успели стать незаменимыми во множестве систем и комплексов:

  • управление различными датчиками;
  • мультитестеры;
  • квадрокоптеры;
  • светофоры;
  • системы умного дома;
  • робототехнические системы;
  • вентиляционные комплексы;
  • охранные системы;
  • метеорологические системы и так далее.

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

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

  • игрушки;
  • оснащение предметов или аттракционов в квест-румах;
  • интерактивные арт-инсталляции и так далее.

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

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

Простейший скетч для датчика движения Ардуино выглядит следующим образом:

Текст скетча можно скачать здесь: здесь

Это самая простая программа, которая плохо подходит для выполнения практических задач. Чаще всего ее используют для тестирования датчиков и проверки их работоспособности. Основным недостатком этого скетча является отсутствие возможности определить количество и размер регистрируемых объектов, что будет приводить к ложным срабатываниям. Для практического использования составляют более сложные скетчи, которые включают увеличенное количество команд (строк кода).

Управляем освещением при помощи датчика приближения

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

Для этого примера потребуется такое оборудование и ПО:

  • Arduino UNO — одна из разновидностей плат Ардуино;
  • PIR-датчик;
  • Блок реле SRD-12VDC-SL-C;
  • Arduino IDE — программное обеспечение для загрузки микрокода в микроконтроллер Arduino;
  • Лампочка, подключаемая к сети 220 вольт.

Как и в предыдущих примерах, первым делом соберем схему, представленную ниже.

Теперь наберем в Arduino IDE код, представленный ниже, и загрузим его на плату:
Принцип работы этой программы детально описан в ее комментариях. Проверить работу датчика можно с помощью «Монитора порта», в котором будут выводиться сообщения «The object started moving» и «The object does not move».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector