• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
DS1307
#1
Witam zacznę od początku mam problem z robieniem czasowe wyłącznika na arduino nano i ds1307, to znacz wiem jak zrobić prosty wyłącznik czyli np. 6:00 włącz i 23:00 wyłącz. Mnie troszkę chodzi o coś innego ale podobnego chciałbym żeby adruno włączał kilka godzin nie tylko jeden czas np. 12:00 do 12:03 potem 15:00 do 15:05 i na koniec 19:00 do 19:03 i tak codziennie. Obszukałem się całe google i nigdzie takiego poradnika nie ma, myślę że nie jednemu się to też przyda więc czekam na propozycje i z góry dziękuje za pomoc.
 
Odpowiedź
#2
Dostałeś dobre porady na elektrodzie i masz je w głębokim poważaniu, więc dlaczego teraz miałoby się coś zmienić. Zamiast czekać na gotowca naucz się podstaw i zrobisz to w minutę. Zapewne więcej czasu poświęciłeś na szukanie gotowca niż na naukę podstawowych instrukcji które wystarczą aby rozwiązać Twój problem.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#3
namok podaj lik do elektrody gdzie podjął temat.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#4
Poszukaj po użytkowniku to znajdziesz.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#5
Teraz rozumie kolega chce gotowca na elektrodzie prawie go dostał wystarczy pomyśleć to kod do zrobienia w 3 godziny.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#6
Tu nawet nie chdzi o gotowca tylko o to że "wiel lepiej".
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#7
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.

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);

                }
 
Odpowiedź
#8
Spokojnie . Tematów odnośnie ds1307 jest na forum kilka jak nie więcej ( polecam wyszukiwarkę ). Jeżeli chcesz się wiedzą podzielić napisz poradnik w odpowiednim dziale a zostaniesz doceniony i nagrodzony . Pamiętaj że na tym forum są osoby które korzystają z wielu for poświęconych innym zagadnieniom z elektroniki , programowania i szybko namierzą działalność pasożytniczą . Niestety jak i w twoim przypadku zazwyczaj kończy się to niepochlebnymi komentarzami i ogólnym niesmakiem .

P.s. "code" jest taki znacznik z niego też proszę korzystać bo i ja zacznę karać .
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#9
Thumbs Up 
Jak 1-szy raz użyłem 1307 znalazłem stronę Pana Jarzębskiego. W niej jest zawarte chyba wszystko. Warto przeczytać od deski do deski a reszta użycia to już fantazja programisty. Rozumiem że buduje sterownik akwarystyczny. Załączanie czasu kiedyś robiłem najprościej if godzina then set pin, if godzina then reset pin. Jak widzę to w kodzie tak napisałeś. Opisz dokładnie z czym się borykasz gdzie leży problem twojego kodu ? I ciekawi mnie ten karmnik... masz automatyczne karmienie ? fotka hardwarowa ?
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości