Инкубатор рассады | 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 тут за деньги сделают.