<?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=13203&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-10-13T14:19:49+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13203&amp;mode</id>
<entry>
<author><name><![CDATA[tomson5]]></name></author>
<updated>2015-10-13T14:19:49+01:00</updated>
<published>2015-10-13T14:19:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142294#p142294</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142294#p142294"/>
<title type="html"><![CDATA[Re: [Attiny13] Włącznik zmierzchowy. Potrzebna logika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142294#p142294"><![CDATA[
Chodzi mi oto aby uniknąć programowania liniowego na samych IFach. Myślę jak to ubrać w jakieś funkcje lub pentelki While lub do... While albo FOR. <br />Do tego powinno być to odporne na chwilowe włączenie światła lub błyski burzy za oknem. Każdy pomysł rozważę,  nie oczekuje gotowca.<br /><br />Edit : ciekawa koncepcja z wyłączeniem światła i pomiarem. Wcześniej czytałem i nie zrozumiałem. Jeden pomysł jest. Drugi to okresowy pomiar. Dzięki.<br /><br />EDIT2: Wykonałem funkcję okresowego pomiaru światła (testowo co 10sek.) Przed pomiarem wygaszam PWM.<br />Zastanawia mnie poprawność tej funkcji. Ponieważ w niej jest zawarta funkcja adc_read() Czy może być tak że funkcja jest w funkcji??<br />[syntax=c]void pomiar (void)<br />{<br />if (flaga_pomiar == 1) //zezwolenie z przerwania <br />{<br />pwm_write(255);<br />poziom_swiatla = adc_read();<br />czas_pomiaru = 0;<br />flaga = 0;<br />}<br /><br />}[/syntax]<br /><br />Czas pobieram z przerwania.<br />[syntax=c]ISR(TIM0_OVF_vect)<br />{<br /><br />cykanie++;<br /><br /><br />  if (cykanie == 4715) //jak minie sekunda<br />   {<br />czas_pomiaru++;<br />sekunda++;<br />        cykanie = 0;<br />   }<br />   if (czas_pomiaru == 10) //co 10 sekund zezwolenie na wykonanie funkcji pomiar<br />   {<br />   flaga_pomiar = 1;<br />   czas_pomiaru = 0;<br />   }<br />   if (sekunda ==60)<br />   {<br />         minuta++;<br />    sekunda = 0;<br />   }<br />}//----------------------------[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2382">tomson5</a> — 13 paź 2015, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bartek123]]></name></author>
<updated>2015-10-13T13:28:02+01:00</updated>
<published>2015-10-13T13:28:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142283#p142283</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142283#p142283"/>
<title type="html"><![CDATA[Re: [Attiny13] Włącznik zmierzchowy. Potrzebna logika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142283#p142283"><![CDATA[
Wpadłem na taki pomysł, że można zrobić to tak. Jak jest włączone światło to wyłączasz je i mierzysz natężenie światła a później znów włączasz lampkę i zrobić to tak szybko avr'em że tego nawet nie zauważysz taki mój pomysł, ale nie wiem czy to się uda.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10617">Bartek123</a> — 13 paź 2015, o 13:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomson5]]></name></author>
<updated>2015-10-12T19:07:40+01:00</updated>
<published>2015-10-12T19:07:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142222#p142222</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142222#p142222"/>
<title type="html"><![CDATA[[Attiny13] Włącznik zmierzchowy. Potrzebna logika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13203&amp;p=142222#p142222"><![CDATA[
Witam<br />Robię włącznik zmierzchowy i szukam inspiracji jak to ubrać w logikę.<br />Włącznik jak to włącznik ma o zmierzchu włączyć oświetlenie ale ten mój po godzinie ma zmniejszyć jasność świecenia do odpowiedniego poziomu. Rano gdy się zrobi widno ma wyłączyć.<br />Zastosowałem przycisk za pomocą którego mam zapamiętać próg zadziałania. O odpowiedniej porze nacisnę przycisk i od tej chwili ten poziom oświetlenia ma być tym progiem. Potrzebna tutaj niewielka histereza aby światło z listwy nie spowodowało ponownego wyłączenia.<br />Uruchomiłem Adc, Pwm, i przerwanie za pomocą którego będę mierzył czas.<br />W tej chwili dla testu mam coś takiego.<br />[syntax=c]while(1)<br />{<br />poziom_swiatla = adc_read();<br />if (KEY_DOWN)<br />{<br /> zmierzch = poziom_swiatla;<br />}<br /><br />if (zmierzch &lt;= (poziom_swiatla = poziom_swiatla + 10))<br />{<br />pwm_write(0);<br />}<br />else<br />{<br />pwm_write(255);<br />}<br /><br /><br />}[/syntax]<br /><br />Mój czasomierz:<br />[syntax=c]//------Przerwanie------------<br />ISR(TIM0_OVF_vect)<br />{<br />static uint8_t sekunda;<br />static uint32_t cykanie;<br />cykanie++;<br /><br />  if (cykanie == 4715)<br />   {<br /><br />sekunda++;<br />    cykanie = 0;<br />   }<br />   if (sekunda ==60)<br />   {<br /> minuta++;<br />    sekunda = 0;<br />   }<br />}//----------------------------[/syntax]<br /><br />Proszę o jakieś pomysły jak to ubrać aby było w miarę głupio odporne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2382">tomson5</a> — 12 paź 2015, o 19:07</p><hr />
]]></content>
</entry>
</feed>