Материалы к набору датчиков для организации умного дома (большой)

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

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

Содержание

Датчик движения 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

Датчик освещённости пороговый (без аналогового выхода)

Модуль датчика света на основе фоторезистора. Датчик имеет два управляющих выхода — аналоговый, значение пропорционально температуре, и цифровой, выдающий 0 или 1. Величина освещения, при которой происходит срабатывание датчика, регулируется подстроечным резистором.
Легко подключается к Arduino и позволяет создавать устройства, управляемые светом.

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

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

Код для подключения датчика освещенности порогового (без аналогового выхода)

В примере ниже показано, как подключить вывод датчика освещенности порогового (без аналогового выхода) к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта 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. расстояние срабатывания: до 1 м;
  2. угол обнаружения: до 60°;
  3. напряжение питания: 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

Датчик дождя

Датчик дождя с компаратором и соединительными проводами в комплекте. Плата датчика представляет собой большой резистор, который изменяет свое сопротивление по мере попадания на него воды. На плате с компаратором предусмотрены аналоговый и цифровой выводы. Напряжение питания датчика 3.3 – 5 В.

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

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

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

На изображении ниже представлена схема подключения датчика дождя к плате Arduino Uno.Схема подключения датчика дождя

Код для подключения датчика дождя

В примере ниже показано, как подключить вывод датчика дождя к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

#define ANALOG_RAINSENSOR A0 // датчик на аналоговом пине A0
#define DIGITAL_RAINSENSOR 3 // датчик на цифровом пине 3

void setup() {
    Serial.begin(9600); // подключение монитора порта
}

void loop() {
 // аналоговый пин А0 - выведение данных
 int analogValue = analogRead(ANALOG_RAINSENSOR); // считываем аналоговые данные датчика
 Serial.print("Analog value:"); // фраза перед значением данных
 Serial.println(analogValue); // выведение данных в монитор порта
 delay(1000); // задержка 1 секунда

 // цифровой пин 3 - выведение данных
 int digitalValue = digitalRead(DIGITAL_RAINSENSOR); // данные считываются с цифрового порта
 Serial.print("Digital value:"); // фраза перед значением данных
 Serial.println(digitalValue); // данные в мониторе порта
 delay(1000); // задержка 1 секунда
}

Скачать файл с кодом, формат .INO: Датчик дождя

Датчик звука пороговый с аналоговым выходом KY-037

Модуль датчика звука KY-037, с аналоговым и цифровым выходами. Чем выше уровень шума, тем выше уровень показаний датчика на аналоговым выходе, цифровой выход — выдает 0 или 1 в зависимости от уровня шума. Уровень звука, при котором на цифровом выходе будет высокий сигнал, задается переменным резистором на плате. Благодаря возможности регулировки частоты, можно настроить его работу под любые задачи.

  • A0 — аналоговый выход
  • D0 — цифровой выход
  • VCC — питание модуля (5В)
  • GND — земля

Схема подключения датчика звука порогового с аналоговым выходом KY-037

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

Код для подключения датчика звука порогового с аналоговым выходом KY-037

В примере ниже показано, как подключить вывод датчика звука порогового с аналоговым выходом KY-037 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

const int digital = 2; // Цифровой вход пин 2
const int analog = A0; // Аналоговый вход пин A0
 
 
void setup()
{
  pinMode(digital, INPUT);
  Serial.begin(9600);
}
 
void loop()
{
  Serial.print("Digital: ");
  Serial.print(digitalRead(digital)); // Цифровой сигнал с датчика
  Serial.print(", Analog: ");
  Serial.println(analogRead(analog)); // Аналоговый сигнал с датчика
  delay(50);
}

Скачать файл с кодом, формат .INO: Датчик звука ky-037

Датчик метана MQ-4

Модуль датчика газа MQ-4. Позволяет детектировать присутствие в воздухе бутана, пропана, метана и дыма. Он имеет высокую чувствительность и малое время отклика. Чувствительность может быть настроена с помощью потенциометра на плате датчика. Данный модуль может быть легко подключен к Arduino-совместимому контроллеру.

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

Схема подключения датчика метана MQ-4

На изображении ниже представлена схема подключения датчика газа MQ-4.

Код для подключения датчика метана MQ-4

В примере ниже показано, как подключить вывод датчика метана MQ-4 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

// контакт подключения аналогового вывода MQ4
const int analogInPin = A1;
const int ledPin = 8; // контакт подключения светодиода
int sensorValue = 0; // переменная для хранения значения датчика
void setup()
{
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}
void loop()
{
  sensorValue = analogRead(analogInPin); // получить значение
  if (sensorValue >= 750) // превышение уровня
    digitalWrite(ledPin, HIGH); // зажечь светодиод превышения
  else
    digitalWrite(ledPin, LOW); // потушить светодиод превышения
  // вывести значение в последовательный порт
  Serial.print("sensor = " );
  Serial.println(sensorValue); // пауза перед следующим измерением
  delay(1000);
} 

Скачать файл с кодом, формат .INO: Датчик метана MQ-4

Датчик расхода воды YF-S401

Устройство состоит из датчика Холла, ротора и пластмассового клапана с двумя штуцерами. Диаметр резьбы штуцеров для входа и выхода составляет 1/4 дюйма.

Функционирует YF-S401 просто: вода, проходя сквозь водяной ротор, заставляет его крутиться. Вращается ротор с различной скоростью, так как она прямо пропорциональна количеству проходящей через него воды.

Датчик Холла выдаёт на выходе импульсный сигнал определённой частоты. Чтобы с YF-S401 получать данные о расходуемой воде, датчик подключают к обрабатывающему устройству, которым может стать плата ардуино. Данные о расходе можно получать ежесекундно.

Схема подключения датчик расхода воды YF-S401

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

Код для подключения датчика расхода воды YF-S401

В примере ниже показано, как подключить вывод датчика расхода воды YF-S401 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

volatile int flow_frequency; // измеряет частоту
int l_hour; // рассчитанные литр/час
unsigned char flowsensor = 2; // Вход сенсора
unsigned long currentTime;
unsigned long cloopTime;

void flow () // функция прерывания
{
  flow_frequency++;
}

void setup()
{
  pinMode(flowsensor, INPUT);
  digitalWrite(flowsensor, HIGH);
  Serial.begin(9600);
  attachInterrupt(0, flow, RISING); // настраиваем прерывания
  sei(); // активируем прерывания
  currentTime = millis();
  cloopTime = currentTime;
}

void loop ()
{
  currentTime = millis();

  // Каждую секунду рассчитываем и выводим на экран литры в час
  if (currentTime >= (cloopTime + 1000))
  {

    cloopTime = currentTime; // Обновление cloopTime
    // Частота импульсов (Гц) = 7.5Q, Q - это расход в л/мин.
    l_hour = (flow_frequency * 60 / 7.5); // (Частота x 60 мин) / 7.5Q = расход в л/час
    flow_frequency = 0; // Сбрасываем счетчик
    Serial.print(l_hour, DEC); // Отображаем л/час
    Serial.println(" L/hour");
  }
}

Скачать файл с кодом, формат .INO: Датчик расхода воды

Датчик тока 30 А

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

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

Устройство отлично совместимо с Arduino и прочими микроконтроллерами. Датчик тока имеет аналоговый выход.

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

На изображении ниже представлена схема подключения датчика тока.

Код для подключения датчика тока 30 А

В примере ниже показано, как подключить вывод датчика тока 30А к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

 
// пин подключения контакта OUT
#define PIN_OUT A0
// подключение библиотеки
#include <TroykaCurrent.h>

// создание объекта
ACS712 dataI(PIN_OUT);

void setup()
{
  // запуск последовательного порта
  Serial.begin(9600);
}

void loop()
{
  // вывод показаний в последовательный порт
  Serial.print("i = ");
  Serial.print(dataI.readCurrentDC());
  Serial.println(" A");
  delay(1000);
}
 

Скачать файл с кодом, формат .INO: Датчик тока 30А

Датчик тока 5 А

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

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

Устройство отлично совместимо с Arduino и прочими микроконтроллерами. Датчик тока имеет аналоговый выход.

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

На изображении ниже представлена схема подключения датчика тока.

Код для подключения датчика тока 5 А

В примере ниже показано, как подключить вывод датчика тока 5А к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).


// пин подключения контакта OUT
#define PIN_OUT A0
// подключение библиотеки
#include <TroykaCurrent.h>

// создание объекта
ACS712 dataI(PIN_OUT);

void setup()
{
  // запуск последовательного порта
  Serial.begin(9600);
}

void loop()
{
  // вывод показаний в последовательный порт
  Serial.print("i = ");
  Serial.print(dataI.readCurrentDC());
  Serial.println(" A");
  delay(1000);
}

Скачать файл с кодом, формат .INO: Датчик тока

Модуль беспроводной связи NRF24L01+

Модуль производит приём и передачу сигналов в диапазоне ISM-частот. Весь диапазон разбит на 128 независимых каналов, что позволяет «общаться» устройствам между собой без помех. Шаг канала составляет 1 МГц, а диапазон – от 2.400 до 2.527 ГГц. Так, 27 канал будет работать на частоте 2.427 ГГц, 100 канал – на 2.500 ГГц, а 1 канал – на 2.401 ГГц.

Радиомодуль способен работать на одном канале максимум с шестью передатчиками одновременно и одним приёмником. Но если некоторые устройства будут иметь одинаковые адреса, их количество может быть увеличено.

Дальность NRF24L01+ будет напрямую зависеть от скорости передачи данных. При 1 Мбит радиус действия составит 750 м, при 2 Мбит – 520 м, при 250 кбит – 1.1 км. Данные приведены при отсутствии препятствий на пути сигнала. Максимальная длина передаваемого пакета – 32 байта.

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

Схема подключения модуля беспроводной связи NRF24L01+

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

Код для подключения модуля беспроводной связи NRF24L01+

В примере ниже показано, как подключить вывод модуля беспроводной связи NRF24L01+ к контроллеру. Для корректной работы кода нужно установить библиотеку SerialFlow.h.


#include <SerialFlow.h>
SerialFlow rd(9, 10);
const unsigned long data_to = 100;
unsigned long tm, data_next;
void setup(void) {
  rd.setPacketFormat(2, 1);
  rd.begin(0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL);
}
void loop(void) {
  tm = millis();
  if ( tm > data_next ) {
    data_next = tm + data_to;
    rd.setPacketValue( tm );
    rd.sendPacket();
  }
}

Скачать файл с кодом, формат .INO: Модуль беспроводной связи NRF24L01+

Плата реле двухканальная

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

Провода, идущие от реле, надёжно закрепляются клеммниками при помощи винтов. За счёт наличия на каждом клеммнике трёх контактов, можно выбирать для каждого канала начальное состояние: нормально разомкнутое (NO) или нормально замкнутое (NC).

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

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

Код для подключения платы реле двухканальной

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


#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: Реле

Коробка пластиковая цветная, 21 ячейка

Бокс для хранения модулей и компонентов — это полезная и удобная составляющая нашего набора.

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

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

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

Габариты бокса (ДШВ): 280х185х50 мм