Подключите светодиодную ленту WS2812B и запрограммируйте плавную смену цветов через FastLED. Достаточно трёх пинов: питание, земля и сигнал. Попробуйте анимацию «радуга» – встроенный пример из библиотеки демонстрирует работу с массивами и таймингами.
Создайте трекер влажности почвы на сенсоре FC-28. Аналоговый сигнал считывайте через analogRead(), а при падении уровня ниже порога – включайте реле для полива. Критическое значение подберите экспериментально: для большинства растений подходит диапазон 300–500 единиц.
Первые шаги с микроконтроллерами: идеи для старта
Создайте световую сигнализацию с тремя светодиодами. Красный загорается при нажатии кнопки, жёлтый мигает с интервалом 500 мс, зелёный включается через потенциометр, регулирующий яркость.
Используйте сервопривод SG90 для автоматизации дверцы кормушки. Управляйте углом поворота через потенциометр или по таймеру – достаточно 5 В и одного сигнального провода.
Запрограммируйте пьезоизлучатель на воспроизведение мелодии. Загрузите ноты в массив, задайте длительности и используйте функцию tone(). «Чижик-пыжик» займёт 20 строк кода.
Сборка мигающего светодиода с управлением кнопкой
Подключите светодиод к цифровому пину 9 через резистор 220 Ом. Кнопку соедините с пином 2 и землей, добавьте подтягивающий резистор 10 кОм к +5V.
Используйте этот код:
const int ledPin = 9; const int buttonPin = 2; bool blinking = false; void setup() { pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); } void loop() { if (digitalRead(buttonPin) == LOW) { blinking = !blinking; delay(300); } if (blinking) { digitalWrite(ledPin, HIGH); delay(500); digitalWrite(ledPin, LOW); delay(500); } }
При нажатии кнопки светодиод начнет мигать с интервалом 0.5 секунды. Повторное нажатие остановит процесс. Для надежного контакта используйте макетную плату и перемычки.
Если светодиод не загорается, проверьте полярность: длинная ножка должна быть подключена к пину, короткая – к земле. Убедитесь, что контакты кнопки правильно соединены с цепью.
Компоненты: плата Uno, датчик DS18B20, резистор 4.7 кОм, LCD 1602 I2C, провода.
Схема подключения:
- DS18B20: питание (3.3V или 5V), земля (GND), сигнал (D2) с подтягивающим резистором.
- LCD: SDA → A4, SCL → A5, питание → 5V, земля → GND.
Код:
#include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> #define SENSOR_PIN 2 OneWire oneWire(SENSOR_PIN); DallasTemperature sensors(&oneWire); LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { sensors.begin(); lcd.init(); lcd.backlight(); } void loop() { sensors.requestTemperatures(); float temp = sensors.getTempCByIndex(0); lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(temp); lcd.print(" C"); delay(1000); }
Настройка:
- Установите библиотеки OneWire, DallasTemperature и LiquidCrystal_I2C через менеджер библиотек.
- Проверьте адрес I2C дисплея (0x27 или 0x3F) с помощью сканера адресов.