• 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
Problem z DS 1307
#1
Witam mam problem z zrobienie kilka czasów włączania i wyłączania a o to kawałek kodu gdzie sprawi mi problem:

if (GODZ == 13 && MIN >= 37 && GODZ < 13 && MIN < 38)               //karmienie 1

            {

myservo.write(90);
   digitalWrite(FIL, LOW);         //FILTR OFF  
   }
            else {

myservo.write(0);
   digitalWrite(FIL, HIGH);         //FILTR OFF 
}

if (GODZ == 13 && MIN >= 39 && GODZ < 13 && MIN < 40)               //karmienie 2
            {

myservo.write(90);
   digitalWrite(FIL, LOW);         //FILTR OFF  
   }
            else {

myservo.write(0);
   digitalWrite(FIL, HIGH);         //FILTR OFF 
}
 
Odpowiedź
#2
Witam,
Jak godzina ma być zarazem równa i mniejsza od 13?
Pozdrawiam
 
Odpowiedź
#3
Kolego napisz co chcesz osiągnąć.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#4
Dobra chodzi mi o to żeby załączały się 2 karmienia dla ryb w akwarium, godziny jakie podałem to tylko przykładowe .Chodzi o to ze działa tylko jeden czas zawsze ten ostatni i nie wiem jak to rozwiązać.
 
Odpowiedź
#5
Mi osobiście nie podoba się, podobnie jak koledze Smaczek, zapis o jednoczesnej godzinie takiej i innej. Algebra Boole'a mówi, że jeśli jednocześnie masz warunek spełniony i niespełniony, nie otrzymasz wartości pozytywnej (A*nA=0, gdzie nA - negacja A).
Spróbuj tak:

Kod:
if (GODZ == 13 && MIN >= 37 && MIN < 38)               //karmienie 1
            {
myservo.write(90);
   digitalWrite(FIL, LOW);         //FILTR OFF  
   }
            else {
myservo.write(0);
   digitalWrite(FIL, HIGH);         //FILTR ON
}

if (GODZ == 13 && MIN >= 39 && MIN < 40)               //karmienie 2
            {
myservo.write(90);
   digitalWrite(FIL, LOW);         //FILTR OFF  
   }
            else {
myservo.write(0);
   digitalWrite(FIL, HIGH);         //FILTR ON
}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości