Автоматический полив растений на базе Capacitive Soil Moisture Sensor работает без сложных настроек. Датчик втыкается в грунт, реле управляет насосом. Порог срабатывания задаётся в скетче – стартовое значение 400 (сухая почва) корректируется экспериментально.
Простые схемы с микроконтроллером
Создайте мигающий светодиод с кнопкой. Подключите LED к пину 13, тактовую клавишу – к пину 2. Скетч использует функцию digitalRead() для считывания состояния.
Сконструируйте датчик освещенности. Фоторезистор подключается через делитель напряжения к аналоговому входу A0. Порог срабатывания регулируется в диапазоне 200-800 единиц.
Запрограммируйте звуковую сигнализацию. Пьезоизлучатель на пине 8 воспроизводит мелодии через команду tone(). Готовые нотные массивы есть в библиотеке pitches.h.
Организуйте управление сервоприводом. Модель SG90 подключается к ШИМ-выходу, угол поворота задается функцией write() от 0 до 180 градусов.
Настройте передачу данных по Bluetooth. Модуль HC-05 работает на скорости 9600 бод, принимает команды через Serial.read().
Сборка светодиодного индикатора с кнопкой
Подключите светодиод к цифровому пину 13 через резистор 220 Ом. Кнопку соедините с пином 2 и землей, добавив подтягивающий резистор 10 кОм к +5V.
Необходимые компоненты
- Плата с микроконтроллером
- Светодиод (любого цвета)
- Тактовая кнопка
- Резисторы: 220 Ом, 10 кОм
- Соединительные провода
Код для загрузки
const int ledPin = 13;
const int buttonPin = 2;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
if (digitalRead(buttonPin) == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
После загрузки кода нажатие кнопки будет включать светодиод, отпускание – выключать. Для инверсии логики добавьте INPUT_PULLUP в setup() и измените условие на LOW.
Термометр с DS18B20: сборка и настройка
Подключите датчик DS18B20 к цифровому пину 2 через резистор 4.7 кОм. Используйте трёхпроводную схему: питание (красный), земля (чёрный), сигнал (жёлтый).
Необходимые компоненты
– Плата с микроконтроллером (например, Uno или Nano)
– Датчик температуры DS18B20 (водонепроницаемая версия подходит для улицы)
– Резистор 4.7 кОм
– Макетная плата и провода типа «папа-папа»
Код и калибровка
#include <OneWire.h>
#include <DallasTemperature.h>
#define PIN 2
OneWire oneWire(PIN);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
Serial.print("Температура: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" °C");
delay(1000);
}
Для точности проверьте датчик в воде со льдом (0°C) и кипятке (100°C). Корректируйте смещение в коде, если отклонение превышает 0.5°C.


