Nie chodzi o to że ja tu czekam na gotowaca bo to nie pradawda.Poprostu chciałem taki tema tu poruszyć bo u was takiego nie ma a pewnie nie jedna osoba tego szuka.Podam kod który działa u mnie w akwarium tylko że mam z nim mały problem dlatego szukałem innego rozwiązania a wyszło ja wyszło. Jeśli chodzi o forum elektroda to ludzie wypisywali głupoty w moim temacie,dlatego postanowiłem tu napisać z myślą że znajdę tu ludzi z większą wiedzą.
Przepraszam za błędy al pisałem z telefonu bo poruszyły mnie waszeodpowiedzi.
Przepraszam za błędy al pisałem z telefonu bo poruszyły mnie waszeodpowiedzi.
Kod:
#include <DS1307.h>
#include <Wire.h>
#define DS1307_ADDRESS 0x68
#include <LiquidCrystal_I2C.h>
#include <DallasTemperature.h>
#include <OneWire.h>
#define BACKLIGHT_PIN 3 //lcd
#define ONE_WIRE_BUS 4 //TU ZMIENIAMY PIN DO TERMOMETRU
#include <Servo.h>
Servo myservo;
byte zero = 0x00;
OneWire oneWire(ONE_WIRE_BUS); //termometr - one wire
DallasTemperature sensors(&oneWire); //termometr
LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7);
//*************************************opis wyjść****************************************************
int pos = 0;
int LED1 = 3; // OŚWIETLENIE LED
int FIL = 5; // FILTR
int CO2 = 8; // BUTLA CO2
int KARP= 6; // KARMINIK
int KARL = 7; // KARMINIK
int T1 = 4; // TERMOMETR
int GODZ; //Godzina
int MIN; //Minuta
int SEC; //Sekundy
//****************************************SETUP**************************************************/
void setup()
{
myservo.attach(11);
lcd.begin(20,4); //lcd
Wire.begin();
lcd.setBacklight(HIGH); //lcd
lcd.home(); //lcd
sensors.begin();
pinMode(FIL, OUTPUT);
pinMode(KARL, OUTPUT); // KARMINIK
pinMode(KARP, OUTPUT); // KARMINIK
pinMode(T1, INPUT); //TERMOMETR
Serial.begin(9600);
}
//*****************************************LOOP*****************************************/
void loop()
{
int CZAS = (GODZ*3600+MIN*60+SEC);
sensors.requestTemperatures();
//***dane do zmian - zmieniamy informacje tylko w tej części*******
//********************FILTR************************************************
//******DZIEŃ*************************WIECZÓR*****************************
int gFDON = 15; int gFWON = 19;
int mFDON = 00; int mFWON = 00;
int gFDOFF = 15; int gFWOFF = 19;
int mFDOFF = 03; int mFWOFF = 03;
//***************************CZAS FILTR***************************
int czasFDON = (gFDON*3600+mFDON*60); //dzień filtr OFF karmik ON
int czasFDOFF = (gFDOFF*3600+mFDOFF*60); //dzień filtr ON karmik OFF
int czasFWON = (gFWON*3600+mFWON*60); //wieczór filtr OFF karmik ON
int czasFWOFF = (gFWOFF*3600+mFWOFF*60); //wieczór filtr ON karmik OFF
GODZ = (RTC.get(DS1307_HR,true));
MIN = (RTC.get(DS1307_MIN,true));
SEC = (RTC.get(DS1307_SEC,true));
//***********************KARMIENIE************************
if ((CZAS<czasFDON)) //od północy do karmienia 1
{
myservo.write(pos);
digitalWrite(FIL, HIGH); //FILTR ON
}
if ((czasFDON<=CZAS)&&(CZAS<czasFDOFF)) //karmienie poranne
{
myservo.write(120);
digitalWrite(FIL, LOW); //FILTR OFF
}
if ((czasFDOFF<=CZAS)&&(CZAS<czasFWON)) //czas pomiędzy karmieniami
{
myservo.write(pos);
digitalWrite(FIL, HIGH); //FILTR ON
}
if ((czasFWON<=CZAS)&&(CZAS<czasFWOFF)) //karmienie 2
{
myservo.write(120);
digitalWrite(FIL, LOW); //FILTR OFF
}
if (czasFWOFF<=CZAS) //od karmienia wieczornego do północy
{
myservo.write(pos);
digitalWrite(FIL, HIGH); //FILTR ON
}
delay (200);
}