Материалы к набору датчиков для Arduino-проектов (15 штук)

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

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

Содержание

Датчик влажности почвы

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

Датчик влажности почвы

Модуль датчика состоит из двух частей:  контактного щупа и датчика, в комплекте идут провода для подключения.. Между двумя электродами щупа создаётся небольшое напряжение. Если почва сухая, сопротивление велико и ток будет меньше. Если земля влажная — сопротивление меньше, ток — чуть больше. По итоговому аналоговому сигналу можно судить о степени влажности. Щуп соединен с датчиком по двум проводам. Кроме контактов соединения с щупом,  датчик имеет четыре контакта для подключения к контроллеру.

  • Vcc – питание датчика;
  • GND – земля;
  • A0 — аналоговое значение;
  • D0 – цифровое значение уровня влажности.

Датчик построен на основе компаратора, который выдает напряжение на выход D0 по принципу: влажная почва – низкий логический уровень, сухая почва – высокий логический уровень. Уровень определяется пороговым значением, которое можно регулировать с помощью потенциометра. На вывод A0 подается аналоговое значение, которое можно передавать в контроллер для дальнейшей обработки, анализа и принятия решений. Датчик YL-38 имеет два светодиода, сигнализирующих о наличие поступающего на датчик питания и уровня цифрового сигналы на выходе D0. Наличие цифрового вывода D0 и светодиода уровня D0 позволяет использовать модуль автономно, без подключения к контроллеру.

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

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

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

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

#define SOILMOISTURE_SENSOR A0 // подключение к пину А0
void setup() { 
    Serial.begin(9600); // вывод данных в монитор порта
}

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

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

Датчик дождя

Датчик дождя с компаратором и соединительными проводами в комплекте. Плата датчика представляет собой большой резистор, который изменяет свое сопротивление по мере попадания на него воды. На плате с компаратором предусмотрены аналоговый и цифровой выводы. Напряжение питания датчика 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: Датчик дождя

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

Модуль датчика света на основе фоторезистора. Датчик имеет два управляющих выхода — аналоговый, значение пропорционально температуре, и цифровой, выдающий 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: Датчик огня

Модуль датчика температуры DS18B20

Основной компонент – микросхема DS18B20, она преобразует температуру корпуса в информацию передаваемую по последовательной двухпроводной шине данных 1-Wire. Также на шину можно установить несколько таких датчиков используя один вывод.

Несмотря на свой небольшой размер, модуль датчика обладает высокой эффективностью и может снимать показания температуры окружающей среды с точностью до 0,5 °С.

Также на плате расположено крепежное отверстие диаметром 2,54 мм, которое поможет с легкостью установить его на корпус вашего устройства.

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

Ниже представлена схема подключения модуля датчика температуры DS18B20 к плате Arduino Uno.

Обращаем ваше внимание, что для датчиков в капсуле и без нее подключение одинаковое.

Код для подключения модуля датчика температуры DS18B20

Ниже представлен простой код для DS18B20 в любом форм-факторе (сенсор, на плате, в герметичном корпусе), где с датчика выведены 3 пина подключения.

 



// Подключение библиотек
#include <DallasTemperature.h>
#include <OneWire.h>
 
// Определяем пин шины данных OneWire 
#define ONE_WIRE_BUS 2
 
// Задаем пин шины данных OneWire
OneWire oneWire(ONE_WIRE_BUS);
 
DallasTemperature sensors(&oneWire);
 
void setup(void) 
{  
 Serial.begin(9600); 
 sensors.begin(); 
} 

void loop(void) 
{
 Serial.print("Запрос температуры..."); 
 sensors.requestTemperatures(); // Посылаем команду для считывания температуры
 Serial.println("ГОТОВО"); 
 Serial.print("Температура: "); 
 Serial.println(sensors.getTempCByIndex(0)); // индекс "0" означает, работает первое устройство на шине

 delay(1000); 
}

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

Датчик вибрации пороговый

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

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

На плате датчика есть два индикаторных светодиода: красный – питание; зеленый – обнаружение вибрации. Напряжение питания: 5 В.

Схема подключения датчика вибрации порогового

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

Код для подключения датчика вибрации порогового

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

 #define VIBRATION_SENSOR A0 // датчик на пине А0

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

void loop() {
int sensorValue = analogRead(VIBRATION_SENSOR);
Serial.print("Analog value:");
Serial.println(sensorValue); // данные в мониторе порта
delay(500); // задержка 0.5 секунд
}

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

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

Датчик звука пороговый с аналоговым выходом 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

Датчик линии TCRT5000 с регулируемым порогом

Модуль инфракрасного датчика линии на основе TCRT5000. Реагирует на появление в контролируемой зоне темной отражающей поверхности. При отсутствии поверхности, или в случае, если поверхность светлая, датчик выдает логический 0, при появлении поверхности выдает 1. Может использоваться для ориентации различных роботов (для перемещения по темной линии).

  • Напряжение питания: 3.3-5В
  • Потребляемый ток: 10мА

Схема подключения датчика линии TCRT5000 с регулируемым порогом

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

Код для подключения датчика линии TCRT5000 с регулируемым порогом

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


int dig_signal = 2; // контакт DO подключен к 2-му цифровому пину Arduino
int an_signal = 0; // контакт AO подключен к 0-му аналоговому пину Arduino

void setup() {
  Serial.begin(9600);
  pinMode(dig_signal, INPUT);
  pinMode(an_signal, INPUT);
}

void loop() {

  if (digitalRead(dig_signal)) { // Датчик не срабатывает
    Serial.println("White color");
  } else { // Датчик срабатывает
    Serial.println("Black color");
  }
  Serial.println("Analog data is: " + String(analogRead(an_signal)));
  delay(200);
}

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

Датчик препятствия пороговый

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

Основные характеристики:
1. дистанция обнаружения: 2-30 см;
2. угол обнаружения: 35°;
3. напряжение питания: 3.3 – 5 В.

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

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

Код для подключения датчика препятствий порогового

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

 #define LINE 2 // датчик на пине 2

void setup() {
Serial.begin(9600); // подключение монитора порта
pinMode(LINE, INPUT); // пин LINE - вход
}

void loop() {
int barrier = digitalRead(LINE); // получение данных
Serial.println(barrier); // данные в монитор порта
delay(100); // задержка 0.1 секунда
}

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

Датчик пульса

С помощью данного датчика вы сможете сами создать пульсометр. С управляющего контакта считывается напряжение, преобразуется в сигнал и выводится на графике (можно использовать инструменты в Arduino IDE),
Посчитать пульс человека можно помощью ИК диода (источник света), посветив излучением на ткани человека и в зависимости от отраженного значения вычислить нужные данные. Если на исследуемом участке кровяной поток сильный, то свет не сможет поглощаться тканями человека, он отразится и попадет на фотоприемник. Если кровяной поток слабый, то большая часть света поглотится тканями человека и отраженного света на фотоприемник поступит гораздо меньше.

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

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

Код для подключения датчика пульса

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

int PulseSensorPurplePin = 0; // выход Ардуино А0 
int LED13 = 13; // светодиод на плате 
int Signal;                 
int Threshold = 550; // значение для данных сенсора, после которого подаётся сигнал            

void setup(){ 
    pinMode(LED13, OUTPUT);
    Serial.begin(9600);
}

void loop(){ 
    Signal = analogRead(PulseSensorPurplePin); // чтение данных с сенсора 
    Serial.println(Signal); 
    if (Signal > Threshold){ 
        digitalWrite(LED13, HIGH); // если значение выше "550", то сигнал на светодиод 
    } else { 
        digitalWrite(LED13, LOW); 
    } 
    delay(10); 
} 

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

Модуль весов HX711

Двухканальный 24 bit АЦП модуль подключения резистивных датчиков давления (тензодатчиков), построен на чипе HX711. Простой в подключении (всего два сигнальных провода) и использовании. Имеются готовые библиотеки для использования с контроллерами Arduino.

 Для преобразования сигналов с датчика его используется в связке с АЦП модулем на базе интегральной микросхемы HX-711. Его подключение к контроллеру (например, к плате Arduino) проходит по четырем контактам:
«GND» — заземление (к контакту «GND» на плате)
«DT» (DATA/OUT) — к цифровому контакту (его номер прописывается в коде)
«SCK» (CLOCK/IN) — к цифровому контакту (его номер прописывается в коде)
«VCC» — подается напряжение от 2,6 до 5,5 В (можете использовать контакты «+3,3V» или «+5V» на плате Arduino)

Схема подключения модуля весов HX711

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

Код для подключения модуля весов HX711

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

 // Подключение библиотеки

#include "HX711.h"
// создание экземпляра объекта
// 15(A1) – пин подключения DT
// 14(A0) – пин подключения SCK

HX711 weight(15, 14);

// значение калибровочного коэффициента (делать подбор для своих весов)
float scale_calibration = 64.80;

// переменные
float weight_units;
float weight_gr;


void setup() {
Serial.begin(9600);
scale.set_scale();
//Сбрасываем на 0
scale.tare();
//Применяем калибровку
scale.set_scale(scale_calibration);
}



void loop() {
Serial.print("Read data … ");

// усредняем показания
for(int i = 0;i < 10; i ++) units =+ scale.get_units(), 10;
weight_units / 10;

// перевод из унций в граммы
weight_gr = weight_units * 0.035274;

// вывод данных в последовательный порт
Serial.print("weight_gr =");
Serial.print(weight_gr);
Serial.println(" gr");
}

Скачать файл с кодом, формат .INO: Модуль весов HX711

Датчик алкоголя MQ-3

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

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

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

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

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

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

const int analogSignal = A0; //подключение аналогового сигналоьного пина
const int digitalSignal = 8; //подключение цифрового сигнального пина
boolean noGas; //переменная для хранения значения о присутствии газа
int gasValue = 0; //переменная для хранения количества газа
 
void setup() {
  pinMode(digitalSignal, INPUT); //установка режима пина
  Serial.begin(9600); //инициализация Serial порта
 
}
 
void loop() {
  noGas = digitalRead(digitalSignal); //считываем значение о присутствии газа
  gasValue = analogRead(analogSignal); // и о его количестве
 
  //вывод сообщения
  Serial.print("There is ");
  if (noGas) Serial.print("no gas");
  else Serial.print("gas");
  Serial.print(", the gas value is ");
  Serial.println(gasValue);
 
  delay(1000); //задержка 1 с

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

Датчик метана 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

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

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

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

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

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

Габариты бокса (ДШВ): 240х130х35 мм