Инкубатор рассады | Arduino UNO, i2c RTC DS1307, i2c lcd 1602 Blue, Relay 4, HC-06, DS18b20, DHT11
- Войдите на сайт для отправки комментариев
Инкубатор рассады.
Здравствуйте дорогие форумчане, а так же программисты.
Сталкнулся с препятствиями в программировании. Так как я не владею навыками программирования и не практиковал его ( о чем очень сожалею) сталкнулся с рядом проблем в данном не простом деле. А имеено самого процесса програмирования микроконтроллера.
Что пытаюсь реализовать так это инкубатор для расады, так как всегда влияет человекечкий фактор (забыл, не учел, перелил и т.д.) решил сделаю данный проект на микроконтроллере Arduino Uno R3.
Имею в наличии HC-06-Bluetooth / I2C-RTC-DS1307-AT24C32 / I2C LCD 1602 Blue / Relay 4 Port / Датчик темпиратуры DS18b20 / DHT11 (дешевый ради считывания влажности)
Чего пытаюсь добится это, что бы контролер опрашивал DS18b20(первый, находящиеся в воде) и выводил информацию на экран (для состояния темпиратуры воды). Так же DHT11 выдавал информацию о температуре и влажности внутри инкубатора на экран в соответствии его параметра упралял Реле (Relay 2 - вентиляция). Так же с возможностью выставить режим работы освещения (День-Ночь)16-8, 18-6 и 20-4 (Relay 1 - свет) того три режима освещения. Так же есть еще один DS18b20 его скорее всего буду использовать для измерения температуры вне инкубатора с дальнейшим выводом инфы на экран. Так же есть модуль HC-06-Bluetooth в роли независиммого управления реле.
Вот что использую:
http://ru.aliexpress.com/item/Stainless-steel-package-Waterproof-DS18b20...
http://ru.aliexpress.com/item/hc-06-HC-06-RF-Wireless-Bluetooth-Transcei...
http://ru.aliexpress.com/item/1602-16x2-HD44780-Character-LCD-w-IIC-I2C-...
http://ru.aliexpress.com/item/1-pcs-I2C-RTC-DS1307-AT24C32-Real-Time-Clo...
http://ru.aliexpress.com/item/Free-Shipping-1x-DHT11-DHT-11-Digital-Temp...
Вот сам код программы которую начал писал (а где тупо нашел):
#include <Wire.h> #include "RTClib.h" //#include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); // int Batt = 2 // Индикатор работы питания акб // int Line = 3 // Индикатор работы питания сети int Light_1 = 4; // Реле для освещения int Cooler_2 = 5; // Реле для вентиляции int Pump_3 = 6; // Реле управления помпой - поливом int Aero_4 = 7; // Реле управление аэрации ёмкости void setup() { Serial.begin(9600); //pinMode(Batt, OUTPUT); // Подключения информативного индикатора led //pinMode(Line, OUTPUT); // Подключения информативного индикатора led pinMode(Light_1, OUTPUT); // вывод нагрузки R1 pinMode(Cooler_2, OUTPUT); // вывод нагрузки R2 pinMode(Pump_3, OUTPUT); // вывод нагрузки R3 pinMode(Aero_4, OUTPUT); // вывод нагрузки R4 digitalWrite(Light_1, HIGH); digitalWrite(Cooler_2, HIGH); digitalWrite(Pump_3, HIGH); digitalWrite(Aero_4, HIGH); //digitalWrite(Batt, LOW); //digitalWrite(Line, LOW; //Выведем на дисплей стартовое сообщение на 5 секунд lcd.init(); lcd.backlight(); lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("Temp. Controller"); lcd.setCursor(2, 1); lcd.print("Hydroponics"); delay(5000); lcd.clear(); } void loop(){ if (Serial.available() > 0) { int i = Serial.read()-48; if (i == 1)digitalWrite(Light_1, !digitalRead(Light_1)); if (i == 2)digitalWrite(Cooler_2, !digitalRead(Cooler_2)); if (i == 3)digitalWrite(Pump_3, !digitalRead(Pump_3)); if (i == 4)digitalWrite(Aero_4, !digitalRead(Aero_4)); } }
Не написал сразу, решил добавить ниже.
Контроль температуры на уровне 21-25 градусов.
Полив по заданному времени согласно часам реального времени I2C-RTC-DS1307-AT24C32
Работа Аэрации по заданному времени.
Пожалуста не суди строго, это первый проект да и вообще впервые работа с программированием. Спасибо
Вот затем инкубатор Умки . Изучай пока.
Скорее всего тебе надо тему пересести сюда http://arduino.ru/forumy/ishchu-ispolnitelya тут за деньги сделают.