włącznik czasowy - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: włącznik czasowy (/watek-w%C5%82%C4%85cznik-czasowy) Strony:
1
2
|
włącznik czasowy - stalker1992 - 25-01-2017 Witam zaprogramowałem sterownik do akwarium. Układ prosty. 1. arduino uno 2. moduł 2 przekazników 3. czujnik temperatury onewire 4. DS1302 Sterowanie grzałką zależne od temeratury A także mój problem sterowanie czasowe swiatłem. Chciałbym aby załączało się o godzinie 16 i wyłączało o 22, lecz nigdzie nie mogę znależć odpowiedniego algorytmu. Gdyby ktos wiedział jak to zrobić lub miał jakiś pomysł to bedę wdzięczny za każdą pomoc . myslałem o if time <16, 0, 0 ale to neidziała. Załączam kod programu może komuś się przyda Kod: #include <Time.h> RE: włącznik czasowy - Smaczek - 25-01-2017 Witam, Musisz porównywać wartość zmiennej hour() w if-ie. Pozdrawiam. RE: włącznik czasowy - stalker1992 - 25-01-2017 Witaj. Próbowałem lecz kiedy próbuję Hour<16 To otrzymuje ze hour nie jest zdeklarowane w tym skeczu RE: włącznik czasowy - Smaczek - 26-01-2017 Witam, Zobacz w jaki sposób zmienna jest wyświetlana w przykładzie: http://playground.arduino.cc/Main/DS1302RTC Tam jest zmienna, a raczej funkcja, która zwraca godzinę: hour() i to co zwraca ta funkcja powinieneś porównywać. Pozdrawiam. RE: włącznik czasowy - stalker1992 - 26-01-2017 Witam. Czy chodzi ci o to : Display time centered on the upper line lcd.setCursor(3, 0); print2digits(hour()); lcd.print(" "); print2digits(minute()); lcd.print(" "); print2digits(second Tylko jak mam to zastosować bo chyba juz głupieje RE: włącznik czasowy - krn78 - 26-01-2017 (25-01-2017, 23:17)stalker1992 napisał(a): Witaj. I, imho, słusznie otrzymujesz Hour() jest funkcją, nie zmienną, więc pewnie Kod: if (Hour()<16), RE: włącznik czasowy - Smaczek - 26-01-2017 Witam, Tak jak @krn78 powyżej napisał, tylko chyba hour() powinno być z małej litery. Pozdrawiam. RE: włącznik czasowy - stalker1992 - 26-01-2017 koledzy spwdzałem Hour z małej i z dużej litery, ale to nie dziala. A mam pytanie jak przekazać wartość Hour() do zmiennej , RE: włącznik czasowy - stalker1992 - 26-01-2017 kiedy prubuje int hour(); a potem if (hour()<16); Otrzymuję : C:\Users\Kamil\AppData\Local\Temp\ccmBssiY.ltrans1.ltrans.o: In function `main': ccmBssiY.ltrans1.o.text.startup+0x5f8): undefined reference to `hour()' collect2.exe: error: ld returned 1 exit status exit status 1 Błąd kompilacji dla płytki Arduino/Genuino Uno. Myslałem o wersji z Time ale to także nie działa RE: włącznik czasowy - krn78 - 26-01-2017 (26-01-2017, 20:30)stalker1992 napisał(a): kiedy prubuje int hour(); To, imho, zły zapis. Jak pisałem wcześniej, hour() jest funkcją, na dodatek osadzoną w bibliotece, więc nie możesz jej ot tak sobie deklarować w kodzie. Przy okazji, rzeczywiście, zapis w bibliotece mówi o małej literze h w nazwie funkcji. Smaczek miał rację. Możesz za to (o ile pobrałem poprawną bibliotekę, do której potem zajrzałem) zadeklarować nową zmienną typu int i do niej zapisać wartość funkcji hour(), a następnie sprawdzić wartość tej zmiennej i, w zależności od wartości, coś tam zrobić (jak pisałem w poprzednim poście): Kod: int godzinaSprawdzana = hour(); |