Материалы к набору датчиков для 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 НЕ на модуле подключается по-другому, с помощью резистора на 4.7 кОм.

Подключение датчика DS18B20
Подключение датчика DS18B20

Код для подключения модуля датчика температуры 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

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

Код для подключения датчика линии 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

Код для подключения модуля весов 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

Код для подключения датчика метана 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 мм