Модуль 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Твердотельное реле 240В 2А

Твердотельное реле 240В 2А

Реле без механических переключающихся контактов на основе симистораТакие реле из-за их быстродействи..

53.78грн.

HX711 модуль весового контроллера для Arduino

HX711 модуль весового контроллера для Arduino

HX711 — это специализированный модуль для подключения тензометрических датчиков (датчиков веса) к ми..

38.08грн.

ESP32 таймеры: Многозадачность с аппаратными таймерами

ESP32 таймеры: Многозадачность с аппаратными таймерами

ESP32 таймеры: Многозадачность с аппаратными таймерами ESP32 — это мощный микроконтроллер с двухъ..

Конденсатор электролитический алюминиевый

Конденсатор электролитический алюминиевый

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

3.10грн.

Винт М3х14мм оцинкованный

Винт М3х14мм оцинкованный

Винт оцинкованный с резьбой М3 для крепления элементов любительских проектовДлина резьбы 14 мм..

0.59грн.