Ничего не найдено :(
    В гостях у Самоделкина! » Копилка » Самоделки » Скетч для Arduino: Умная система мониторинга аквариума

    Скетч для Arduino: Умная система мониторинга аквариума

    Автоматизированный контроль параметров аквариума с:

    • Измерением температуры воды

    • Контролем уровня pH

    • Управлением подсветкой по расписанию

    • Автоматической подачей корма

    • Оповещением о критических показателях



    Необходимые компоненты:

    • Arduino Nano

    • Датчик температуры воды DS18B20 (водонепроницаемый)

    • Модуль pH-метра

    • Релейный модуль (2 канала)

    • Сервопривод для кормушки

    • Светодиодная лента 12V (синяя/белая)

    • LCD дисплей 16x2 + I2C

    • Модуль реального времени DS3231



    Код (основные функции):


    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <Servo.h>
    #include <LiquidCrystal_I2C.h>
    #include <Wire.h>
    #include "RTClib.h"
    
    #define ONE_WIRE_BUS 2
    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature sensors(&oneWire);
    
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    RTC_DS3231 rtc;
    Servo feederServo;
    
    const int phPin = A0;
    const int lightRelay = 3;
    const int feederPin = 4;
    
    void setup() {
      Serial.begin(9600);
      sensors.begin();
      lcd.init();
      lcd.backlight();
      rtc.begin();
      feederServo.attach(feederPin);
      
      pinMode(lightRelay, OUTPUT);
      
      // Установка времени при первом запуске
      // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    }
    
    void loop() {
      // Чтение данных
      sensors.requestTemperatures();
      float waterTemp = sensors.getTempCByIndex(0);
      int phValue = analogRead(phPin);
      float ph = map(phValue, 0, 1023, 0, 14);
      DateTime now = rtc.now();
    
      // Управление освещением
      controlLighting(now.hour());
    
      // Управление кормлением
      if (now.hour() == 8 && now.minute() == 0) {
        feedFish();
      }
    
      // Вывод на LCD
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Temp: " + String(waterTemp) + "C");
      lcd.setCursor(0, 1);
      lcd.print("pH: " + String(ph));
    
      // Проверка критических значений
      if (waterTemp > 28 || ph < 6.5) {
        alert();
      }
    
      delay(60000); // Проверка каждую минуту
    }
    
    void controlLighting(int hour) {
      if (hour >= 8 && hour < 20) {
        digitalWrite(lightRelay, HIGH);
      } else {
        digitalWrite(lightRelay, LOW);
      }
    }
    
    void feedFish() {
      for (int i = 0; i < 3; i++) {
        feederServo.write(90);
        delay(500);
        feederServo.write(0);
        delay(500);
      }
    }
    
    void alert() {
      // Здесь можно добавить звуковую сигнализацию
      // или отправку уведомления
      lcd.setCursor(12, 0);
      lcd.print("ALERT!");
    }


    Ключевые функции:

    • Температурный контроль

      • Оптимальный диапазон: 24-28°C

      • Превышение → сигнал тревоги

    • Баланс pH

      • Идеальный уровень: 6.5-7.5

      • Критическое значение → уведомление

    • Автоматическое освещение

      • С 8:00 до 20:00 → день

      • Ночью → синяя подсветка

    • Кормление

      • Точно в 8:00

      • 3 порции с паузой

    • Локальный мониторинг

      • Все параметры на LCD

      • Возможность подключения к Wi-Fi



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

    КомпонентArduino
    DS18B20Pin 2
    pH-метрA0
    Реле светаPin 3
    СервоприводPin 4
    LCD I2CSDA (A4), SCL (A5)
    RTC модульSDA (A4), SCL (A5)


    Доработки:

    1. Добавьте Wi-Fi для удаленного контроля

    2. Установите дозатор жидких удобрений

    3. Интегрируйте датчик уровня воды


    Готов к запуску! Для морского аквариума добавьте датчик солености. 🐠🌡

    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
    Подборки: Аквариум Arduino

    Скетч для Arduino: Умная система безопасности гаража с RFID и датчиками

    7 гениальных идей для остатков стройматериалов — не выбрасывайте, а вдохните вторую жизнь!

    0
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    0
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    0
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 0.0 из 10 (голосов: 0 / История оценок)

    Добавить комментарий

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии