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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-09-30T19:41:28+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=16325&amp;mode</id>
<entry>
<author><name><![CDATA[pomier]]></name></author>
<updated>2016-09-30T19:36:16+01:00</updated>
<published>2016-09-30T19:36:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170055#p170055</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170055#p170055"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170055#p170055"><![CDATA[
ok, przepraszam, poprawię się z tym wstawianiem kodów.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 10 minutach ]</span></strong><br /><br /><div class="quotetitle">Alef2 napisał(a):</div><div class="quotecontent"><br />Warto też poznać bibliotekę serial i funkcję Serial.print()<br /></div><br />Ta funkcję poznałem pobieżnie przy zabawie z czujnikiem odległości, fajna ale penie jeszcze dużo mnie czeka <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Dobra na dziś starczy, jednak piwko i uwaga potrzebna przy projektowaniu programu nie idą w parze <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Wrócę do tematu na świeżo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15003">pomier</a> — 30 wrz 2016, o 19:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2016-09-30T19:31:58+01:00</updated>
<published>2016-09-30T19:31:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170054#p170054</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170054#p170054"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170054#p170054"><![CDATA[
Polecam się zapoznać: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 30 wrz 2016, o 19:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pomier]]></name></author>
<updated>2016-09-30T19:41:28+01:00</updated>
<published>2016-09-30T19:01:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170051#p170051</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170051#p170051"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170051#p170051"><![CDATA[
dzięki już kombinuję a skoro operacjach na zboczach to już nie zakrawa o przerywania?<br />Przyznam szczerze, fajna zabawa z tym całym AVR ale wymyśliłem sobie &quot;niby&quot; prosty układ i program a tyle w tym zaawansowanych, jak dla mnie, opcji, ustawień i kombinacji. Nie mówię że się nie nauczę. Z natury jestem dociekliwy i chętny nauki czegoś nowego. Dodatkowo zawodowo zajmuję się projektowaniem grafiki 2D i 3D to i cierpliwości i dokładności mi raczej nie brakuje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Taka mała auto reklama. Wracam do pracy z AVR<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15003">pomier</a> — 30 wrz 2016, o 19:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Alef2]]></name></author>
<updated>2016-09-30T18:52:46+01:00</updated>
<published>2016-09-30T18:52:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170050#p170050</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170050#p170050"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170050#p170050"><![CDATA[
To potrzebujesz wyzwalania nie poziomem (HIGH/LOW) a zboczem (zmianą z HIGH na LOW, lub z LOW na HIGH). Do tego potrzebna jest dodatkowa zmienna, która zapamięta stan poprzedni. Jak to zrobić, to pewnie sam dasz radę. A jeśli nie to podpowiem.<br /><br />Pomysł z druga Led znakomity. Masz mini debugger.  Warto też poznać bibliotekę serial i funkcję Serial.print(). Bardzo ułatwia uruchamianie programów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14998">Alef2</a> — 30 wrz 2016, o 18:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pomier]]></name></author>
<updated>2016-09-30T18:00:51+01:00</updated>
<published>2016-09-30T18:00:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170047#p170047</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170047#p170047"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170047#p170047"><![CDATA[
hehe spoko dzięki za następną podpowiedz. zaraz testuje !!<br />Sprawdziłem i fakt jest super ale jest jednak ale sama czujka działa ok sam switch super ale w połączeniu czujka i w tym czasie przycisk to nic nie zmienia, zostaje czas świecenia z czujki<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">//lepiej użyc #define bo to są stałe i w trakcie działania programu nie będa zmieniane<br />#define pir 4<br />#define switchPin1 2<br />#define LedCzerwona 8<br />#define Ledzolta 7<br />unsigned int tick;<br /><br /><br />void setup() {<br />  pinMode(pir, INPUT); // klawisz/ czujnik ruchu<br />  pinMode(switchPin1, INPUT); // klawisz <br />  pinMode(LedCzerwona, OUTPUT); //dioda led wyjście czerwona<br />  pinMode(Ledzolta, OUTPUT); <br />  tick=0;  //nie konieczne, ale lepiej stan początkowy mieć pod kontrolą<br />}<br /><br />void loop() {  <br /><br />  if(digitalRead(pir) == HIGH)<br />   {<br />     digitalWrite(LedCzerwona, HIGH);<br />     tick=50;// bo 100*50ms to 5s<br />   }<br /><br />   <br />  if(digitalRead(switchPin1) == HIGH)<br />   {<br />     digitalWrite(LedCzerwona, HIGH);<br />     digitalWrite(Ledzolta, HIGH);<br />     tick=2000;<br />   }<br />   <br />   delay(50);//czekamy 50ms<br />   tick--;//zmniejszamy zmienną tick o 1<br />   if(tick==0)<br />   {<br />    digitalWrite(LedCzerwona,LOW);//jak odliczy czas, to gasimy led<br />    digitalWrite(Ledzolta,LOW);<br />   }<br />   <br />   <br />}</div><br />dla zobrazowania działania dodałem sobie ledzolta<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15003">pomier</a> — 30 wrz 2016, o 18:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Alef2]]></name></author>
<updated>2016-09-30T17:45:48+01:00</updated>
<published>2016-09-30T17:45:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170043#p170043</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170043#p170043"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170043#p170043"><![CDATA[
<div class="quotetitle">pomier napisał(a):</div><div class="quotecontent"><br />The unsigned char datatype encodes numbers from 0 to 255.<br /></div><br /><br />Sorry, mój błąd. <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" />  Powinien być typ int. Ale pocieszam się, że nie ma tego złego... . Widzę, że wychwyciłeś ten błąd - gratulacje!<br />Rzeczywiście, typ unsigned char obejmuje wartości od 0 do 255, przy próbie nadania wartości 400 będzie błąd. Typ unsigned int obejmuje od 0 do 32tyś. i wartość 400 zmieści się znakomicie. Ja pomyślałem o wartości 100 i nie spojrzałem na 400. Nie to, że się usprawiedliwiam, ale pokazuję jak to się stało, bo lepiej uczyć się na błędach innych. I nauka dla mnie, by najpierw przetestować, a dopiero później pisać. Następnym razem się poprawie. <img src="https://forum.atnel.pl/images/smilies/icon_exclaim.gif" alt=":!:" title="Wykrzyknik" /> <div class="quotetitle">pomier napisał(a):</div><div class="quotecontent"><br />najpierw jednego się nauczę i opanuję<br /></div>Trzymam kciuki!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14998">Alef2</a> — 30 wrz 2016, o 17:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pomier]]></name></author>
<updated>2016-09-30T16:28:52+01:00</updated>
<published>2016-09-30T16:28:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170033#p170033</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170033#p170033"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=170033#p170033"><![CDATA[
Dzięki za nie objechanie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> tak docelowo program chcę rozbudować o sterowanie led on/off PWM i dwie dodatkowe funkcje dla tego klawisza ale to potem, najpierw jednego się nauczę i opanuję <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 10 minutach ]</span></strong><br /><br />przetestowałem Twoje rozwiązanie ale chyba ten tick nie przyjmuje większych parametrów bo nawet te 400 wywala taki błąd kompilator<br />C:\Users\Piotr\Documents\Arduino\test3\test3.ino: In function 'void loop()':<br /><br />C:\Users\Piotr\Documents\Arduino\test3\test3.ino:27:14: warning: large integer implicitly truncated to unsigned type [-Woverflow]<br /><br />          tick=400;// bo 400*50ms to 20s;<br /><br />no i tak będzie jak piszę<br />The unsigned char datatype encodes numbers from 0 to 255. <br /><br />Ja potrzebuję dłuższych czasów więc kombinuję dalej, ale dzięki za pomoc na pewno się przyda i dowiedziałem się co nieco o CHAR<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15003">pomier</a> — 30 wrz 2016, o 16:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Alef2]]></name></author>
<updated>2016-09-30T11:37:13+01:00</updated>
<published>2016-09-30T11:37:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169988#p169988</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169988#p169988"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169988#p169988"><![CDATA[
Można taki działanie uzyskać bez  używania przerwań. Przerwania warto poznać na następnym etapie poznawania uC.<br />Proponuje spróbować  takiego programu<br />[syntax=cpp]//lepiej użyc #define bo to są stałe i w trakcie działania programu nie będa zmieniane<br />#define pir 4<br />#define switchPin1 2<br />#define LedCzerwona 8<br />unsigned char tick;<br /><br /><br />void setup() {<br />  pinMode(pir, INPUT); // klawisz/ czujnik ruchu<br />  pinMode(switchPin1, INPUT); // klawisz <br />  pinMode(LedCzerwona, OUTPUT); //dioda led wyjście czerwona<br />  tick=0;//nie konieczne, ale lepiej stan początkowy mieć pod kontrolą<br />}<br /><br />void loop() {  <br /><br />  if(digitalRead(pir) == HIGH)<br />   {<br />     digitalWrite(LedCzerwona, HIGH);<br />     tick=100;// bo 100*50ms to 5s<br />   }<br /><br />   <br />  if(digitalRead(switchPin1) == HIGH)<br />   {<br />     digitalWrite(LedCzerwona, HIGH);<br />     tick=400;// bo 400*50ms to 20s;<br />   }<br />   <br />   delay(50);//czekamy 50ms<br />   tick--;//zmniejszamy zmienną tick o 1<br />   if(tick==0)digitalWrite(LedCzerwona,LOW);//jak odliczy czas, to gasimy led<br />   <br />}[/syntax]<br /><br />Bardzo dobrze, że wybrałeś sobie konkretne zastosowanie układu - to jest najlepsza nauka, gdy rozwiązania weryfikuje rzeczywistość.<br />Bardzo dobrze, że testy przeprowadzasz &quot;na stole&quot;, a nie w docelowym układzie, tak jest dużo łatwiej.<br />Bardzo dobrze, że na początek wybrałeś prosty układ, łatwiej ogarniesz jego działanie.<br />Warto by, po uruchomieniu spróbować dokładać dodatkowe funkcje np. dać potwierdzenie zadziałania pir diodą led, która błyśnie na np. 200ms. Przyda się to przy nastawianiu czułości pir.<br /><br />PS Kod wklejamy SYNTAX C++<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14998">Alef2</a> — 30 wrz 2016, o 11:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pomier]]></name></author>
<updated>2016-09-29T07:41:04+01:00</updated>
<published>2016-09-29T07:41:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169846#p169846</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169846#p169846"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169846#p169846"><![CDATA[
Dzięki, tak myślałem że bez kodu to będzie ciężko ale nie mam go teraz tutaj w pracy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> wieczorkiem podłączę moje wypociny.<br /><br />Witam, więc wracając do tematu. Poskładałem wszystko od nowa, nie ma sensu bym umieszczał wszystkie moje kombinacje. Napisałem kodzik na samych IF i jedyne co jeszcze to zamiast typowego czujnika ruchu zastosowałem drugi switch. <br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">int pir = 4;<br />int switchPin1 = 2;<br />int LedCzerwona = 8;<br />int czas1 = 5000;<br />int czas2 = 20000;<br /><br />void setup() {<br />  pinMode(pir, INPUT); // klawisz/ czujnik ruchu<br />  pinMode(switchPin1, INPUT); // klawisz <br />  pinMode(LedCzerwona, OUTPUT); //dioda led wyjscie czerwona<br />}<br /><br />void loop() {  <br /><br />  if(digitalRead(pir) == HIGH)<br />   {<br />     digitalWrite(LedCzerwona, HIGH);<br />     delay(czas1);<br />   }else{<br />     digitalWrite(LedCzerwona, LOW);<br />   }<br /><br />   <br />  if(digitalRead(switchPin1) == HIGH)<br />   {<br />     digitalWrite(LedCzerwona, HIGH);<br />     delay(czas2);<br />   }else{<br />     digitalWrite(LedCzerwona, LOW);<br />   }<br /><br />}</div><br /><br />Czytałem dziś o przerywaniach i z opisu to by było wyjście dla mojego programu, co wy na to ?<br />Proszę tylko o nie krytykowanie (uczę się tego) tylko o poradę i naprowadzenie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15003">pomier</a> — 29 wrz 2016, o 07:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2016-09-29T07:37:25+01:00</updated>
<published>2016-09-29T07:37:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169845#p169845</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169845#p169845"/>
<title type="html"><![CDATA[Re: Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169845#p169845"><![CDATA[
Tak Ci nikt nie pomoże pokaż kod...<br />Widocznie napisałeś tą funkcję całkowicie blokująco. Popraw na nieblokującą <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 29 wrz 2016, o 07:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pomier]]></name></author>
<updated>2016-09-29T07:29:13+01:00</updated>
<published>2016-09-29T07:29:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169844#p169844</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169844#p169844"/>
<title type="html"><![CDATA[Program obsługujący czujnik ruchu oraz klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16325&amp;p=169844#p169844"><![CDATA[
Witam serdecznie szanownych kolegów i koleżanki.<br />Jestem nowym użytkownikiem tego forum jak i początkującym programistą AVR. Z elektroniką mam styczność od dawna i nie jest mi obca ale programowanie to coś nowego i zarazem fajnego.<br /><br />Przejdę do sedna, jako mój pierwszy projekt postanowiłem zbudować sobie zwykły, mały sterownik oświetlenia led w kuchni. Mam ładą 5m taśmę led i teraz zaczyna się zabawa.<br />Założenia projektu są następujące. <br />Czujnik ruchu uruchamia ledy i świeci przez 5 min po wyjściu z pomieszczenia czyli po braku wykryciu ruchu, potem gaśnie. Dodatkowo ma być klawisz, którym będziemy mogli zapalić ledy lub inaczej mówiąc przedłużyć czas świecenia na godzinę.<br />Czyli czujnik wykrywa, odpala led na 5 min w tym czasie klikamy klawisz i program zmienia ten czas z 5 min na godzinę.<br /><br />Napisałem programik i dużo kombinowałem i albo mam switch albo wykrywanie ruchu. Nie mogę przeskoczyć tego czasu z czujki ruchu. Jak czujka zapali led to klawisz działa mi dopiero jak te 5 min minie. Czyli wychodzi na to że program zatrzymuje się na ten czas 5min i nic w tym momencie nie odbiera by zmienić ten stan.<br /><br />Przepraszam że się tak rozpisałem ale jako początkujący proszę o małą pomoc lub podpowiedz.<br />Pozdrawiam serdecznie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15003">pomier</a> — 29 wrz 2016, o 07:29</p><hr />
]]></content>
</entry>
</feed>