Материалы к набору датчиков для организации умного дома (средний)
Поздравляем с покупкой набора, чтобы тебе проще было в нём разобраться мы подготовили подробное описание, входящих в набор элементов и ссылки на все необходимые примеры кода и ПО.
Датчик движения HC-SR501
Датчик используется в охранных системах, сигнализациях и прочих проектах, предполагающих обнаружение инфракрасного сигнала.
Работает на расстоянии до 7 метров, угол обнаружения – до 120°. Для эффективной работы датчик должен располагаться вдали от прямых источников света и ветра.
Схема подключения датчика движения HC-SR501
Ниже на изображении представлена схема подключения датчика движения.
Для того, чтобы соотнести пины на датчике и на плате, аккуратно снимите пластиковый колпачок с платы сенсора, поддев его плоской отверткой.

Код для подключения датчика движения HC-SR501
В примере ниже показано, как подключить вывод датчика движения HC-SR501 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).
#define PIR 3 // датчик на пин 3 void setup() { pinMode(PIR, INPUT); // определяем пин как вход Serial.begin(9600); // подключение монитора порта } void loop() { int pirValue = digitalRead(PIR); // считываение цифровых данных Serial.println(pirValue); // данные в мониторе порта delay(100); // задержка 0.1 секунда }
Скачать файл с кодом, формат .INO: Датчик движения HC-SR501
Датчик освещённости пороговый (без аналогового выхода)

Схема подключения датчика освещённости порогового (без аналогового выхода)
Ниже представлено изображение со схемой подключения датчика освещенности.

Код для подключения датчика освещенности порогового (без аналогового выхода)
В примере ниже показано, как подключить вывод датчика освещенности порогового (без аналогового выхода) к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).
void setup() { pinMode(13, OUTPUT); pinMode(A1, INPUT); } void loop() { // считываем данные с датчика и выводим на монитор порта if (digitalRead(A1) == HIGH) { digitalWrite (13, LOW); } if (digitalRead(A1) == LOW) { digitalWrite (13, HIGH); } }
Скачать файл с кодом, формат .INO: Датчик освещенности пороговый
Датчик пламени пороговый
Инфракрасный датчик огня (пламени) используется в проектах пожарной сигнализации. Датчик представляет собой плату с компаратором и инфракрасным диодом, который реагирует на длину волны в диапазоне 760-1100 нм.
Основные характеристики:
- расстояние срабатывания: до 1 м;
- угол обнаружения: до 60°;
- напряжение питания: 3.3 – 5 В.
Схема подключения датчика пламени порогового
Ниже на изображении представлена схема подключения датчика пламени.

Код для подключения датчика пламени порогового
В примере ниже показано, как подключить вывод датчика пламени порогового к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).
#define DIGITAL_FIRE_SENSOR 2 // цифровой пин 2 #define ANALOG_FIRE_SENSOR A0 // аналоговый пин на А0 void setup() { pinMode(DIGITAL_FIRE_SENSOR, INPUT); // определяем пины как входы pinMode(ANALOG_FIRE_SENSOR, INPUT); Serial.begin(9600); // подключение монитора порта } void loop() { int digitalValue = digitalRead(DIGITAL_FIRE_SENSOR); // получение данных Serial.println(digitalValue); // данные в монитор порта delay(100); // задержка 0.1 секунда int analogValue = analogRead(ANALOG_FIRE_SENSOR); Serial.println(analogValue); delay(100); }
Скачать файл с кодом, формат .INO: Датчик огня
Датчик температуры/влажности DHT11
Цифровой датчик температуры и влажности является составным датчиком, который содержит калиброванный цифровой выходной сигнал с показаниями температуры и влажности.
Модуль цифрового датчика DHT-11 — хороший и недорогой вариант для различных робототехнических проектов, где необходимо измерять температуру и/или влажность.
Датчик имеет высокую надежность и превосходную долговременную стабильность работы.
Сенсор включает в себя резистивный компонент измерения влажности и компонент измерения температуры с отрицательным температурным коэффициентом (NTC), которые подключены к высокопроизводительному 8-битному микроконтроллеру.
Подключается посредством трех стандартных проводов. Данные о температуре и влажности передаются по одному сигнальному проводу.
Схема подключения датчика температуры/влажности DHT11
На изображении ниже представлена схема подключения датчика температуры и влажности.

Код для подключения датчика температуры/влажности DHT11
В примере ниже показано, как подключить вывод датчика температуры/влажности DHT11 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).
#include <DHT.h>; // подключаем библиотеку для датчика DHT dht(2, DHT11); // сообщаем на каком порту будет датчик void setup() { dht.begin(); // запускаем датчик DHT11 Serial.begin(9600); // подключаем монитор порта } void loop() { // считываем температуру (t) и влажность (h) float h = dht.readHumidity(); float t = dht.readTemperature(); // выводим температуру (t) и влажность (h) на монитор порта Serial.print("Humidity: "); Serial.println(h); Serial.print("Temperature: "); Serial.println(t); }
Скачать файл с кодом, формат .INO: Датчик температуры/влажности DHT11
Датчик угарного газа MQ-7
Датчик MQ7 — это датчик угарного газа CO. Основным источником выделения СО является сгорание углеродного топлива при недостаточном количестве кислорода. Углерод «не догорает» и вместо углекислого газа CO2, в атмосферу выбрасывается угарный газ CO. Он чрезвычайно ядовит, но при этом не обладает ни цветом, ни запахом. Попав в помещение с угарным газом, вы только по косвенным симптомам поймете, что подвергаетесь воздействию яда.
Основным рабочим элементом датчика является нагревательный элемент, за счет которого происходит химическая реакция, в результате которой получается информация о концентрации газа. Поэтому во время работы сенсор будет горячим. Для получения стабильных показаний новый сенсор необходимо один раз прогреть (оставить включённым) в течение 48 часов. После этого стабилизация после включения будет занимать около минуты. Выдаваемый датчиком аналоговый сигнал пропорционален концентрации угарного газа. Показания датчика подвержены влиянию температуры и влажности окружающего воздуха. Поэтому в случае использования датчика MQ7 в изменяющейся среде, при необходимости получения точных показаний, понадобится реализовать компенсацию этих параметров.
Схема подключения датчика угарного газа MQ-7
На изображении ниже представлена схема подключения датчик угарного газа.

Код для подключения датчика угарного газа MQ-7
В примере ниже показано, как подключить вывод датчика угарного газа MQ-7 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).
int analogMQ7 = A5; // Пин к которому подключен A0 int val = 0; // Создаем переменную void setup() { Serial.begin(9600); // Задаем скорость передачи данных Serial.println("Warming-UP"); // Печать текста "Разогрев" delay(6000); // Пауза 6 с Serial.println("Measurement"); // Печать текста "Измерение" } void loop() { val = analogRead(analogMQ7); // Считываем значение с порта A5 Serial.print("CO = " ); // Печать текста Serial.println(val); // Вывод значение переменной val delay(5000); // Пауза }
Скачать файл с кодом, формат .INO: Датчик угарного газа MQ-7
Датчик уровня воды
Датчик уровня воды может быть использован в проектах, где важно следить за колебанием уровня воды около конкретной отметки. Сигнал датчика обрабатывается через аналоговый вывод S. Датчик работает по принципу изменения сопротивления в зависимости от того, насколько глубоко он опущен в воду. Напряжение питания датчика 3.3 – 5 В.
С помощью представленного ниже кода можно вывести в монитор порта показания датчика. Данные снимаются в реальном времени, диапазон от 0 до 1023, где 0 – сухой датчик. Чем выше значение показания датчика, тем выше уровень воды.
Датчик устанавливается вертикально к поверхности воды, контакты должны быть хорошо защищены от воздействия влаги для корректной и долгой работы устройства.
Схема подключения датчика уровня воды
На изображении ниже представлена схема подключения датчика уровня воды.

Код для подключения датчика уровня воды
В примере ниже показано, как подключить вывод датчика уровня воды к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE)
#define ANALOG_WATERSENSOR A0 // датчик на аналоговом пине А0 void setup() { Serial.begin(9600); // подключение монитора порта } void loop() { int sensorValue = analogRead(ANALOG_WATERSENSOR); // данные считываются с аналогового порта А0 Serial.print("Analog value: "); // фраза, выводимая перед показаниями датчика Serial.println(sensorValue); // данные в мониторе порта delay(1000); // задержка 1 секунда }
Скачать файл с кодом, формат .INO: Датчик уровня воды
Плата реле одноканальная
Модуль на основе электромеханического реле SRD-05VDC-SL-C. Управляющее напряжение 5В. Подключаемая нагрузка до 10А, 30В DC, 250В AC. Может использоваться в различных проектах, в том числе, и на Arduino, где требуется коммутировать напряжение, например включать освещение или переменное напряжение в сети 220 вольт. По своей сути это рубильник с электронным управлением.
Схема подключения платы реле одноканальной
На изображении ниже представлена схема подключения платы реле одноканальной.

Код для подключения платы реле одноканальной
В примере ниже показано, как подключить реле к контроллеру. При срабатывании электромеханическое реле будет издавать щелчки в соответствии с установленным интервалом включения и выключения.
#define PIN_RELAY 4 // Определяем пин, используемый для подключения реле // В этой функции определяем первоначальные установки void setup() { pinMode(PIN_RELAY, OUTPUT); // Объявляем пин реле как выход digitalWrite(PIN_RELAY, HIGH); // Выключаем реле - посылаем высокий сигнал } void loop() { digitalWrite(PIN_RELAY, LOW); // Включаем реле - посылаем низкий уровень сигнала delay(5000); digitalWrite(PIN_RELAY, HIGH); // Отключаем реле - посылаем высокий уровень сигнала delay(5000); }
Скачать файл с кодом, формат .INO: Реле
Датчик барометр/термометр GY-68 BMP180
Данный датчик очень высокоточен и экономичен в расходе энергии. Степень точности измерения можно выставлять программно, однако следует понимать, что чем выше точность измерений датчика GY-68, тем выше будет и его энергопотребление.
Помимо всего прочего, модуль обладает встроенным альтиметром и может определить высоту над уровнем моря с погрешностью до 17 см.
Барометр/термометр GY-68 BMP180 имеет собственную температурную компенсацию проводимых измерений.
Схема подключения датчика барометра/термометра GY-68 BMP180
На изображении ниже представлена схема подключения датчика.

Код для подключения датчика барометра/термометра GY-68 BMP180
В примере ниже показано, как подключить вывод датчика барометра/термометра GY-68 BMP180 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE). Для корректной работы кода нужно подключить библиотеки SFE_BMP180.h и Wire.h.
#include <SFE_BMP180.h> #include <Wire.h> SFE_BMP180 pressure; // Объявляем переменную для доступа к SFE_BMP180 void setup() { Serial.begin(9600); // Задаем скорость передачи данных Serial.println("REBOOT"); // Печать текста "Перезагрузка" if (pressure.begin()) // Инициализация датчика Serial.println("BMP180 init success"); // Печать текста "BMP180 подключен" else { // В противном случаи, датчик не подключен Serial.println("BMP180 init fail\n\n"); // Печать текста "BMP180 не подключен" while (1); // Пауза. } } void loop() { char status; double T, P, p0, a; /* Так как давление зависит от температуры, надо сначала узнать температуру Считывание температуры занимает какое-то время. Если все хорошо, функция pressure.startTemperature вернет status с количеством миллисекунд которые нужно подождать. Если какая-то то проблема, то функция вернет 0. */ status = pressure.startTemperature(); // Считывание показания if (status != 0) { // Если значение status не 0, выполняем следующую команду. delay(status); // Ждем status = pressure.getTemperature(T); // Полученные показания, сохраняем в переменную T if (status != 0) { // Если все хорошо, функция вернет 1, иначе вернет 0 Serial.print("Temperature: "); // Печать текста "Температура" Serial.print(T, 2); // Печать показания переменной "Т" Serial.println(" C, "); // Печать текста "С" /* Определяем показания атмосферного давления Параметр указывает расширение, от 0 до 3 (чем больше расширение, тем больше точность, тем дольше ждать) Если все хорошо, функция pressure.startTemperature вернет status с количеством миллисекунд которые нужно подождать. Если какая-то то проблема, то функция вернет 0. */ status = pressure.startPressure(3); // Считывание показания if (status != 0) { // Если значение status не 0, выполняем следующую команду. delay(status); // Ждем status = pressure.getPressure(P, T); // Полученные показания, сохраняем в переменную P if (status != 0) { // Если все хорошо, функция вернет 1, иначе вернет 0 Serial.print("Absolute pressure: "); // Печать текста "Атмосферное давление" Serial.print(P, 2); // Печать показания переменной mBar Serial.print(" mbar, "); // Печать текста "mBar" Serial.print(P * 0.7500637554192, 2); // Печать показания в mmHg Serial.println(" mmHg"); } // Печать текста "mmHg" else Serial.println("error retrieving pressure measurement\n"); } // Ошибка получения давления else Serial.println("error starting pressure measurement\n"); } // Ошибка запуска получения давления else Serial.println("error retrieving temperature measurement\n"); } // Ошибка получения температуры else Serial.println("error starting temperature measurement\n"); // Ошибка запуска получения температуры delay(5000); // Пауза в 5с }
Скачать файл с кодом, формат .INO: Датчик BMP180
Датчик углеводородных газов и дыма MQ-2
Датчик газа MQ2 предназначен для обнаружения присутствия углеводородов и дыма в воздухе, а так же водорода. Может работать как в бинарном режиме (пороговое значение задаётся потенциометром), так и в аналоговом для прямого подключения к микроконтроллеру.
Может работать как в бинарном режиме (пороговое значение задаётся потенциометром), так и в аналоговом для прямого подключения к микроконтроллеру.
Диапазон измерений датчик газа MQ-2:
- Пропан: 0,2 – 5 промилле
- Бутан: 0,3 – 5 промилле
- Метан: 5 – 20 промилле
- Водород: 0,3 – 5 промилле
- Пары спиртов: 0,1 – 2 промилле
Схема подключения датчика углеводородных газов и дыма MQ-2
Ниже на изображении представлена схема подключения датчика газов MQ-2.

Код для подключения датчика углеводородных газов и дыма MQ-2
В примере ниже показано, как подключить вывод датчика углеводородных газов и дыма MQ-2 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).
#define smokePin A0 // определяем аналоговый выход к которому подключен датчик int sensorThres = 400; // пороговое значение АЦП, при котором считаем что газ есть void setup() { Serial.begin(9600); // Устанавливаем скорость порта 9600 бод } void loop() { int analogSensor = analogRead(smokePin); // считываем значения АЦП с аналогового входа // к которому подключен датчик Serial.print (analogSensor); // выводим в порт значение АЦП сигнала с датчика // Проверяем, достигнуто ли пороговое значение if (analogSensor > sensorThres) { // если значение больше допустимого... Serial.println(" Gaz!"); // выводим в порт надпись, что газ есть } else { // иначе... Serial.println(" normal"); // выводим в порт надпись, что газа нет } delay(500); // задержка в 500 миллисекунд. }
Скачать файл с кодом, формат .INO: Датчик углеводородных газов и дыма MQ-2
Коробка пластиковая цветная, 7 ячеек
Бокс для хранения модулей и компонентов — это полезная и удобная составляющая нашего набора.
Небольшие модули и радиодетали могут быть удобно размещены в маленькой коробочке. Бокс плотно закрывается, поэтому детали будет сложно потерять. Коробка состоит из прозрачной крышки, позволяющей видеть содержимое, с замком и основания, которое разделено несъемными перегородками на семь ячеек для хранения принадлежностей.
Коробочка сделана из прочного пластика, поэтому не боится падений с небольшой высоты. Клипса, закрывающая крышку, не позволит компонентам выпасть из бокса.
Яркий цвет коробочки привлекает внимание, а в комплекте с компонентами весь набор станет отличным подарком.
Габариты бокса (ДШВ): 125х175х50 мм