Модуль 5 — Датчики и модули (курс для начинающих)

Цель модуля: познакомиться с популярными датчиками для Arduino, научиться читать документацию, подключать и считывать показания с датчиков температуры, освещённости и ультразвука. Создать проект «Умная лампа».


Примеры датчиков

  • DHT11 — цифровой датчик температуры и влажности. Передаёт данные по однопроводному протоколу. Прост в использовании, но не отличается высокой точностью (±2°C, ±5% влажности).
  • LDR (Light Dependent Resistor) — фоторезистор, изменяет сопротивление в зависимости от уровня освещённости. Используется для измерения света или автоматического управления освещением.
  • HC-SR04 — ультразвуковой дальномер. Измеряет расстояние, излучая ультразвук и измеряя время отражения сигнала. Применяется в робототехнике, системах парковки и охранных устройствах.

Чтение документации

Перед подключением любого модуля или датчика важно изучить документацию:

  • Параметры питания (рабочее напряжение, ток потребления).
  • Интерфейс подключения (цифровой, аналоговый, I2C, SPI и др.).
  • Распиновка (назначение каждого вывода).
  • Пример кода из даташита или библиотеки.

Совет: ищите «Datasheet + название датчика» или используйте официальные страницы производителей.


Практика

Подключение DHT11 и чтение температуры

Что нужно: Arduino Uno/Nano, датчик DHT11, резистор 10 кОм, библиотека DHT.h.

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

  • VCC → +5V
  • GND → GND
  • DATA → пин 2 Arduino
#include "DHT.h"

#define DHTPIN 2
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float temp = dht.readTemperature();
  float hum = dht.readHumidity();

  if (isnan(temp) || isnan(hum)) {
    Serial.println("Ошибка чтения с датчика DHT11!");
    return;
  }

  Serial.print("Температура: ");
  Serial.print(temp);
  Serial.print(" *C  Влажность: ");
  Serial.print(hum);
  Serial.println(" %");
  delay(2000);
}

Подключение LDR и измерение освещённости

Что нужно: Arduino Uno/Nano, LDR, резистор 10 кОм.

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

  • Один вывод LDR → +5V
  • Второй вывод LDR → A0 и через резистор 10 кОм на GND
const int ldrPin = A0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int lightValue = analogRead(ldrPin); // 0..1023
  Serial.print("Освещённость: ");
  Serial.println(lightValue);
  delay(500);
}

Проект: «Умная лампа»

Задача: включать светодиод при низкой освещённости.

Что нужно: Arduino Uno/Nano, LDR, резистор 10 кОм, светодиод, резистор 220–330 Ом.

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

  • LDR — как в предыдущем примере.
  • Светодиод через резистор → пин 9 (PWM) и GND.
const int ldrPin = A0;
const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int lightValue = analogRead(ldrPin);
  if (lightValue < 300) { // порог затемнения
    analogWrite(ledPin, 255); // включить на полную яркость
  } else {
    analogWrite(ledPin, 0);   // выключить
  }
}

Типичные ошибки

  • Отсутствие подтягивающего резистора у LDR — показания будут нестабильны.
  • Неправильная распиновка DHT11 — данные не считываются.
  • Слишком высокий порог освещённости — лампа включается днём.

Что дальше

В следующем модуле мы научимся подключать и использовать дисплеи для вывода информации с Arduino. Рассмотрим работу с LCD 1602 и OLED, использование библиотек Arduino, а также создадим проект «Термометр с экраном».


Контрольные вопросы

  1. Какие бывают типы датчиков и модулей для Arduino?
  2. Для чего нужно читать документацию перед подключением?
  3. Как подключить и считать данные с DHT11?
  4. Как использовать LDR для измерения освещённости?
  5. Как работает проект «Умная лампа»?

Авторский курс по Arduino для начинающих. Использование материалов на коммерческих сайтах допускается с указанием источника.

<< Проекты << Все товары >> Статьи, уроки >>

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Включение тиристоров переменным током. Фазовое управление

Включение тиристоров переменным током. Фазовое управление

Особенности работы с тирист-ми на переменном токеУправление тиристорами в цепях переменного тока име..

Датчик температуры аналоговый 10К

Датчик температуры аналоговый 10К

Датчик температуры аналоговый NTC 10K Аналоговый датчик температуры NTC 10K ±1% — это высокоточный ..

44.68грн.

Кодовый замок из набора резисторов

Кодовый замок из набора резисторов

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

Поворотный стол Arduino Nano шаговый двигатель

Поворотный стол Arduino Nano шаговый двигатель

Здесь представлена пошаговая разработка проекта автоматического поворотного стола для фотографов. По..

Модуль P-channel MOSFET 50A с опторазвязкой (IRF4905, 30В, 3–5В управление)

Модуль P-channel MOSFET 50A с опторазвязкой (IRF4905, 30В, 3–5В управление)

Модуль P-channel MOSFET на базе транзистора IRF4905 предназначен для коммутирования мощных нагрузок ..

177.66грн.