<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=21286&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-10-07T10:49:57+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=21286&amp;mode</id>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2018-10-07T10:49:57+01:00</updated>
<published>2018-10-07T10:49:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212378#p212378</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212378#p212378"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212378#p212378"><![CDATA[
Jeżeli odświeżasz wyświetlacz tylko co sekundę, to i tak daje Ci to 86400 razy na dobę, ogólnie żywotność wyświetlaczy to jakieś 50-100 tysięcy godzin, pytanie tylko czy ilość odświeżeń nie skróci ich żywotności.<br />Generalnie w przerwaniu nie powinno być obsługi wyświetlaczy, ani innych zasobożernych operacji.<br />Obliczenia czasów włączenia/wyłączenia wyrzuć sobie z pętli, bo to niema żadnego sensu - przecież nie przestawiasz zegara co sekundę, a tam zostaw tylko czas aktualny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 7 paź 2018, o 10:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazekat]]></name></author>
<updated>2018-10-07T09:58:56+01:00</updated>
<published>2018-10-07T09:58:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212374#p212374</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212374#p212374"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212374#p212374"><![CDATA[
Funkcja jest wywoływania w przerwaniu i jest wywoływania co 1 sek, nie wiem czy to jest dobrze? Wyświetlacz będzie w urządzeniu tylko kontrolne powinno to działać. Dioda i wyjście na moduł przekaźnika jest na stałe. Ale może jeszcze coś poćwicze z flagą.<br />Dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17021">kazekat</a> — 7 paź 2018, o 09:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2018-10-07T09:45:54+01:00</updated>
<published>2018-10-07T09:45:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212373#p212373</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212373#p212373"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212373#p212373"><![CDATA[
Nie musisz kopiować całości,  ale chociaż zastosuj flagi, bo teraz z każdym obiegiem pętli wysyłasz tekst na wyświetlacz. Obawiam się że przy takiej eksploatacji padnie po max kilku miesiącach. <br /><br />Wysłane ze srajfona<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 7 paź 2018, o 09:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazekat]]></name></author>
<updated>2018-10-07T09:38:14+01:00</updated>
<published>2018-10-07T09:38:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212372#p212372</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212372#p212372"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=212372#p212372"><![CDATA[
Chciałem odpowiedzieć co wyszło z moich wypocin i kolegów podpowiedzi. Przede wszystkim chciałem Wam podziękować za podpowiedzi. Trzy razy zamieniłem dwie zmienne w jedną i dużo to uprościło kod. Nie działa mi to jeszcze gdy czas wyłączenia światła mam ustawiony po północy ale w tym projekcie nie jest mi to potrzebne i na razie to zostawię wstawię kandę i w przyszłości może wgram coś lepszego. <br />Tak wygląda moja funkcja: <br />[syntax=c]//-------------funkcja wyłączająca światło - podająca &quot;0&quot; na LED_IN------------------- <br />void wylacz_alarm (void){          <br />        uint16_t czas_akt = (( hours * 60 ) + minutes );<br />        uint16_t czas_alarm_on = (( hours_al_on * 60 ) + minutes_al_on );<br />        uint16_t czas_alarm_off = (( hours_al_off * 60 ) + minutes_al_off );<br /><br />           PORTD &amp;= ~LED_IN;<br />            if (( czas_akt &gt;= czas_alarm_on ) &amp;&amp; ( czas_akt &lt; czas_alarm_off ) )    {<br />                PORTD |= LED_IN;<br />            lcd_locate( 1, 13 );<br />            lcd_str( &quot;Zal&quot; );<br />        } else   {<br />            lcd_locate( 1, 13 );<br />            lcd_str( &quot;Wyl&quot; );                    <br />        }               <br />}[/syntax]<br />Jest chyba prościej prawda?<br />Harry poznajesz ten kodzik?<br />Jeszcze raz dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17021">kazekat</a> — 7 paź 2018, o 09:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazekat]]></name></author>
<updated>2018-09-18T11:27:45+01:00</updated>
<published>2018-09-18T11:27:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211791#p211791</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211791#p211791"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211791#p211791"><![CDATA[
Daro69 Harry to może być to <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> muszę to jeszcze prześledzić jak będę miał chwilę wolną. Dam znać co z tego wyszło. Dzięki chłopaki. No i przede wszystkim muszę to zrozumieć, na razie założenia rozumiem, jeszcze raz dziękuję.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17021">kazekat</a> — 18 wrz 2018, o 11:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2018-10-07T09:39:23+01:00</updated>
<published>2018-09-18T10:39:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211788#p211788</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211788#p211788"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211788#p211788"><![CDATA[
A może od razu z &quot;detekcją&quot; przejścia przez północ<br /><br />[syntax=c]uint16_t czas_akt = (hours*60) + minutes;<br />uint16_t czas_alarm_on = (hours_al_on*60) + minutes_al_on;<br />uint16_t czas_alarm_off = (hours_al_off*60) + minutes_al_off;<br /><br />while(1){<br />flagaSwiatlo=0;<br />if(czas_alarm_on &lt; czas_alarm_off){ //włączenie i wyłączenie w tym samym dniu<br />if ( czas_akt &gt;= czas_alarm_on &amp;&amp; czas_akt &lt; czas_alarm_off ) flagaSwiatlo = 1;<br />else<br />if (czas_akt &gt;= czas_alarm_on || czas_akt &lt; czas_alarm_off ) flagaSwiatlo = 1; //wyłączenie po północy<br />}<br />//dalej jak wyżej<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 18 wrz 2018, o 10:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-09-18T10:47:04+01:00</updated>
<published>2018-09-18T08:29:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211783#p211783</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211783#p211783"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211783#p211783"><![CDATA[
Witam,<br />Strasznie dużo tego &amp;&amp; || :/<br />Myślę że znacznie uprości logikę,<br />wkiteanie minut i godzin w jedną zmienną.<br />Cztery starsze bity to godziny a młodsze to minuty. (Przesunięcie bitowe).<br />Łatwiej jest tak sklejony czas porównywać.<br />Oczywiście sklejanie bieżącego czasu i porównywanie co minutę, a sklejanie ustawionego w momencie ustawiania.<br />Taka myśl.<br />Możliwe że coś nie doczytałem. <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" /><br />Pozdrawiam.<br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 18 wrz 2018, o 08:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2018-09-18T03:35:18+01:00</updated>
<published>2018-09-18T03:35:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211781#p211781</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211781#p211781"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211781#p211781"><![CDATA[
Miałem na myśli coś w tym stylu, ale musisz oczywiście sprawdzić <br />[syntax=c]if (( hours &gt;= hours_al &amp;&amp; minutes &gt;= minutes_al ) || ( hours &gt; hours_al &amp;&amp; minutes &lt; minutes_al ) || ( zalacz_hours &gt; hours ) ) {<br />flagaSwiatlo=0<br />} else {<br />flagaSwiatlo=1<br />}<br /> <br /> if(flagaSwiatlo==0 &amp;&amp; flagaWyl==0){<br />        PORTD &amp;= ~LED_IN;  //ustaw stan niski na PD7    wyłącz światło<br />                lcd_locate( 1, 13 );<br />                lcd_str( &quot;Wyl&quot; );<br />flagaWyl=1; <br />flagaWl=0;<br />            }<br /> <br />if(flagaSwiatlo==1 &amp;&amp; flagaWl==0){<br />                PORTD |= LED_IN;                                                                                                <br />                lcd_locate( 1, 13 );<br />                lcd_str( &quot;Zal&quot; );<br />flagaWyl=0<br />flagaWl=1<br />}[/syntax]<br />mam nadzieję że zrozumiesz coś z tego<br /><br />sorry za formatowanie, ale o 3:30 poprostu mi się nie chce <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 18 wrz 2018, o 03:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazekat]]></name></author>
<updated>2018-09-17T19:40:45+01:00</updated>
<published>2018-09-17T19:40:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211768#p211768</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211768#p211768"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211768#p211768"><![CDATA[
Po pierwsze to muszę napisać, że nie jestem biegły w te klocki i każdy problem muszę dużo wałkować aby zrozumieć i rozwiązać.<div class="quotetitle">wachcio napisał(a):</div><div class="quotecontent"><br />Warunki sprawdzasz co minutę czy sekundę lub częściej?<br /></div>   Warunki przedstawione powyżej mam w pętli głównej i można by powiedzieć sprawdzam ciągle. Dokładność i szybkość działania nie jest mi potrzebna bardziej pewność działania.<div class="quotetitle">Harry napisał(a):</div><div class="quotecontent"><br />A nie lepiej ustawić flagę ze światło jest włączone, a potem tylko sprawdzać ją? W ten sposób tylko raz wejdziesz do bloku wykonawczego.<br /></div> Jeśli to jest klucz do stworzenia lepszego uniwersalnego warunku a także nauczenia się czegoś nowego to muszę to zgłębić tylko od czego zacząć?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17021">kazekat</a> — 17 wrz 2018, o 19:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2018-09-17T14:40:03+01:00</updated>
<published>2018-09-17T14:40:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211765#p211765</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211765#p211765"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211765#p211765"><![CDATA[
A nie lepiej ustawić flagę ze światło jest włączone, a potem tylko sprawdzać ją? W ten sposób tylko raz wejdziesz do bloku wykonawczego.<br /><br />Wysłane ze srajfona<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 17 wrz 2018, o 14:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2018-09-16T16:06:16+01:00</updated>
<published>2018-09-16T16:06:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211713#p211713</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211713#p211713"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211713#p211713"><![CDATA[
Daj warunek w programie, który sprawdza i zamienia 00 na 24, który widoczny będzie tylko dla programu. To chyba najprostsze rozwiązanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 16 wrz 2018, o 16:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazekat]]></name></author>
<updated>2018-09-16T13:29:55+01:00</updated>
<published>2018-09-16T13:29:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211707#p211707</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211707#p211707"/>
<title type="html"><![CDATA[Re: Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211707#p211707"><![CDATA[
<div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />No ale co chcesz uprościć? Możesz rozpisać to na kolejne if-y ale czy ja wiem czy to coś zmieni, jeśli ten warunek jest dla ciebie czytelny to w porządku<br /></div><br />Warunki są czytelne i do mojego projektu pasują bo stan niski na PD7 ma mi się pojawić po godzinie 21 i załączyć możliwość załączenia światła w ciągu dnia (przed zmrokiem) i tak jest. Jednakże nie są to warunki uniwersalne bo jak hours_al ustawię na 00 to już mi to nie działa. Myślałem, że ktoś miałby pomysł nie na if-ach i mnie naprowadził.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17021">kazekat</a> — 16 wrz 2018, o 13:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazekat]]></name></author>
<updated>2018-09-15T11:28:12+01:00</updated>
<published>2018-09-15T11:28:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211687#p211687</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211687#p211687"/>
<title type="html"><![CDATA[Wyłącznik świateł cz można prościej?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21286&amp;p=211687#p211687"><![CDATA[
Witam szanownych kolegów.<br />Od jakiegoś czasu &quot;męczę&quot; się z pewnym projektem. Obecnie na obiekcie jest układ załączający i wyłączający światło na parkingu. Układ ten reaguje na czujkę zmierzchową i po godzinie 21 ręcznie wyłączamy dwa obwody światła. Ale wiadomo, że raz przypomni się o 21 a raz o godzinie 24 i wtedy wyłącza się światło. Zbudowałem układzik oparty na atmedze 8 i DS1307, który podaje mi czas nawet po wyłączeniu prądu i podaje mi stan niski na PD7(LED_IN) atmegi. Właściwie to wszystko działa ale chciałbym zapytać szanownych kolegów czy można inaczej a przede wszystkim prościej sformułować warunki podawania tego stanu niskiego (wyłączenia światła). Ja powołałem sobie takie zmienne &quot;hours_al = 21&quot; i &quot;minutes_al = 20 &quot; godzina i minuta wyłączenia i &quot;zalacz_hours = 11&quot;, która daje mi możliwość załączenia światła czyli podaje stan wysoki na LED_IN i po zadziałaniu zmierzchówki włączy światło na parkingu oraz hours, minutes.<br />Fragment kodu odpowiedzialny za wyłączanie:<br /><br />[syntax=c]if (( hours &gt;= hours_al &amp;&amp; minutes &gt;= minutes_al ) || ( hours &gt; hours_al &amp;&amp; minutes &lt; minutes_al ) || ( zalacz_hours &gt; hours ) ) {<br /><br />            PORTD &amp;= ~LED_IN;  //ustaw stan niski na PD7    wyłącz światło<br />            lcd_locate( 1, 13 );<br />            lcd_str( &quot;Wyl&quot; );<br />        } else {<br /><br />            PORTD |= LED_IN;                                                                                                <br />            lcd_locate( 1, 13 );<br />            lcd_str( &quot;Zal&quot; );<br />        }[/syntax]<br /><br />I teraz zadam powyższe pytanie czy można prościej inaczej a może powinienem iść całkowicie inną drogą?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17021">kazekat</a> — 15 wrz 2018, o 11:28</p><hr />
]]></content>
</entry>
</feed>