Модуль 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
Контрольні запитання
- Які бувають типи датчиків і модулів для Arduino?
- Для чого потрібно читати документацію перед підключенням?
- Як підключити і зчитати дані з DHT11?
- Як використовувати LDR для вимірювання освітленості?
- Як працює проєкт «Розумна лампа»?
Авторський курс по Arduino для початківців. Використання матеріалів на комерційних сайтах допускається з вказанням джерела.





