Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 10 cze 2026, o 22:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 8 lip 2015, o 09:10 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 02 lip 2014
Posty: 2
Lokalizacja: Płock
Pomógł: 0

Witam,

Jest to mój pierwszy post, ponieważ zawsze sam starałem się rozwiązywać problemy, udawało się, niestety przy tym, wydaję mi się, że wiem jak to można zrobić, ale nie wiem jak to ugryźć, więc na początku chciałbym się przedstawić. Mam na imię Mariusz, hobbystycznie zająłem się elektroniką i programowaniem w języku C. Kierunek ten obrałem będąc
małym chłopcem, wszczepił mi ją mój Wujek, pokazując mi kolorowe LEDY. To tak, trochę offtopic. Wracając do tematu, języka C uczę się od niedawna przy pomocy BB i GB, zakupiłem jeszcze parę innych książek do języka C, ale niestety tg. co szukam chyba nie ma.

Oprogramowałem sobie LED aby włączała się o określonej godzinie i minucie i wyłączała się o określonej godzinie i minucie. Wszystko pięknie działa w oparciu o pcf8583.
Problem polega na tym, iż mając np. obecną godzinę 12:00, ustawię czas włączenia LED-A, od godziny 6:00 do 18:00. LED się nie włączy. Wywnioskowałem, iż będzie potrzebna funkcja sprawdzająca czy aktualny czas znajduje się pomiędzy ustawioną godziną od....do. Włączenie i wyłączenie LED-A, opiera się na flagach.

Wklejam kawałek kodu, jeżeli źle coś zrobiłem proszę o słowa krytyki i pomoc z waszej strony.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Więc może szybko opiszę zmienne.
start_m_LED - nastawa minut włączenia LED.
start_h_LED - // - godzin włączenia LED

stop_m_LED - analogicznie jak wyżej z tym, że wyłącza o określonej uprzednio minucie.
stop_h_LED - Wyłącza o określonej godzinie.

Zmian dokonuję za pomocą przycisków z eliminacją drgań. Wszystko działa prawidłowo o ile ustawię czas następny po aktualnej godzinie. Niestety nie będę mógł monitorować postępu wątku, ponieważ mam trochę pracy, ale postaram się być po 23:00. Więc jeżeli będę mógł cokolwiek wprowadzić do tematu to właśnie po tej godzinie.

Dziękuję za Pomoc i Pozdrawiam

_________________
Zato-no tsute-o ushinatta jo



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lip 2015, o 09:34 
Offline
Użytkownik

Dołączył(a): 05 lut 2014
Posty: 252
Lokalizacja: obok Częstochowy
Pomógł: 14

Ja to zrobiłem tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Tylko najpierw czasy załączenia/wyłączenia wrzucam do jednego gara. Aktualny czas również (akurat struktura z mirkowego poradnika o DS3231 bardzo mi spasowała).

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie zrobiłem jeszcze przejścia przez północ , ale to kwestia ustalenia,czy godzina włączenia jest większa, czy mniejsza od godziny wyłączenia i w zależności od tego zastosowanie odpowiednich warunków.

edit:
Akurat ten kod jest z przejściem przez północ.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lip 2015, o 10:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Możesz jeszcze czas zamienić na sekundy i sprawdzać wszystko w skali sekundowej
Doba ma 86400 sekund i zamieniając aktualny czas i czas zał/wył na sekundy
nie masz dylematu czy jesteś po czy w trakcie lub przed przedziałem wył/zał .

Tylko prezentując czas na zewnątrz musisz przeliczyć ponownie na format gg:mm:ss
albo trzymać kopie czasu do prezentacji w takim formacie.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lip 2015, o 11:04 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 02 lip 2014
Posty: 2
Lokalizacja: Płock
Pomógł: 0

Dziękuję za pomoc, przyjadę do domu, to przeanalizuję ten kod.
Zaba świetny pomysł, z tym przeliczeniem na sekundy.
Dziękuję za cenne rady.

_________________
Zato-no tsute-o ushinatta jo



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO