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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-06-25T23:07:37+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=18688&amp;mode</id>
<entry>
<author><name><![CDATA[Mlody malkontent]]></name></author>
<updated>2017-06-25T23:07:37+01:00</updated>
<published>2017-06-25T23:07:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191243#p191243</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191243#p191243"/>
<title type="html"><![CDATA[Re: Arduino- zapiamiętywanie ostatniego stanu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191243#p191243"><![CDATA[
Wielkie dzięki za pomoc. Wszystko działa jak należy. Z początku jak zobaczyłem ten program trochę się zdziwiłem jak może to działać, ale czytając i analizując to dokładniej zacząłem chyba powoli łapać. Jeszcze raz dzięki. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17441">Mlody malkontent</a> — 25 cze 2017, o 23:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-06-25T19:42:25+01:00</updated>
<published>2017-06-25T19:42:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191227#p191227</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191227#p191227"/>
<title type="html"><![CDATA[Re: Arduino- zapiamiętywanie ostatniego stanu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191227#p191227"><![CDATA[
<div class="quotetitle">Mlody malkontent napisał(a):</div><div class="quotecontent"><br />[syntax=cpp]void setup() <br />{<br />  pinMode(10, OUTPUT);<br /><br />   pinMode(7, INPUT_PULLUP); <br /> }<br /> <br />void loop()<br />{<br />  digitalWrite(10, LOW); <br /><br />  while (digitalRead(7) == HIGH) {} <br /> <br />  delay(400);<br />  digitalWrite(10, HIGH);<br /> <br />  while (digitalRead(7) == HIGH) {}  <br />  <br />  delay(400);<br /> }[/syntax]<br /></div><br />Jeśli zaczynasz to od razu oducz się takich konstrukcji. Może i jakoś to działa ale blokujesz pętlę główną, co przy bardziej rozbudowanym projekcie przysporzy Ci problemów.<br />Poniżej moja propozycja zawierająca zapis stanu diody do pamięci nieulotnej eeprom. Jako że jest to pamięć o ograniczonych cyklach zapisu dodałem warunek który dokonuje zapisu po ok 10 sekundach od ostatniej zmiany stanu diody (czas ten możesz nawet wydłużyć - jedyną wadą będzie to że jeśli w czasie krótszym niż ustawiony zniknie napięcie to pamiętany będzie stan poprzedni).<br /><br />[syntax=cpp]#include &lt;EEPROM.h&gt;<br /><br />byte wyj, flaga;<br />unsigned long licznik = 0;<br /><br />void setup()<br />{<br />  pinMode(7, INPUT_PULLUP);<br />  pinMode(10, OUTPUT);<br />  wyj = EEPROM.read(1);<br />  digitalWrite(10, wyj);<br />}<br /><br />void loop()<br />{<br />  while (digitalRead(7) == LOW) {<br />    flaga = 1;<br />    licznik = millis();<br />    if (digitalRead(10) == LOW) {<br />      digitalWrite(10, HIGH);<br />      wyj = 1;<br />    }<br />    else {<br />      digitalWrite(10, LOW);<br />      wyj = 0;<br />    }<br />    delay(400);<br />  }<br />  //zapis do eepromu z zabezpieczeniem zbyt częstego powtarzania<br />  if (flaga) {<br />    if ((millis() - licznik) &gt;= 10000) { //opóźnienie zapisu w mili sekundach<br />      EEPROM.write(1, wyj);<br />      flaga = 0;<br />    }<br />  }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 25 cze 2017, o 19:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2017-06-25T07:48:47+01:00</updated>
<published>2017-06-25T07:48:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191201#p191201</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191201#p191201"/>
<title type="html"><![CDATA[Re: Arduino- zapiamiętywanie ostatniego stanu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191201#p191201"><![CDATA[
Zainteresuj się pamięcią EEPROM którą pewnie Twój mikrokontroler posiada.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 25 cze 2017, o 07:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2017-06-24T22:47:02+01:00</updated>
<published>2017-06-24T22:47:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191197#p191197</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191197#p191197"/>
<title type="html"><![CDATA[Re: Arduino- zapiamiętywanie ostatniego stanu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191197#p191197"><![CDATA[
<!-- 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> — 24 cze 2017, o 22:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mlody malkontent]]></name></author>
<updated>2017-06-25T09:52:11+01:00</updated>
<published>2017-06-24T22:41:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191196#p191196</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191196#p191196"/>
<title type="html"><![CDATA[Arduino- zapiamiętywanie ostatniego stanu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18688&amp;p=191196#p191196"><![CDATA[
Witam, mam trochę głupi problem, ale dopiero zacząłem swoją przygodę z Arduino więc proszę o wyrozumiałość <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />. Mianowicie muszę napisać program, który za każdym kolejnym kliknięciem switcha będzie zmieniał stan diody z 0 na 1 i na odwrót. nie było by problemu gdyby nie fakt, że po wyłączeniu mikrokontroler ma zapamiętać stan. Czyli jeżeli przed wyłaczeniem urządzenia dioda się świeciła to po włączeniu również ma się świeć i na odwrót, jeżeli się nie świeciła to po właczeniu również ma się nie świecić, <br /><br />Dołączam program, który zdołałem napisać. Byłbym bardzo wdzięczy gdyby ktoś poprawił mi program tak aby zapamiętywał ostatni stan. Z góry dziękuje za pomoc. <br /><br /><br />[syntax=cpp]void setup() <br />{<br />  pinMode(10, OUTPUT);<br /><br />   pinMode(7, INPUT_PULLUP); <br /> }<br /> <br />void loop()<br />{<br />  digitalWrite(10, LOW); <br /><br />  while (digitalRead(7) == HIGH) {} <br /> <br />  delay(400);<br />  digitalWrite(10, HIGH);<br /> <br />  while (digitalRead(7) == HIGH) {}  <br />  <br />  delay(400);<br /> }[/syntax]<br /><br />Z góry przepraszam jeżeli post dodałem w złym miejscu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17441">Mlody malkontent</a> — 24 cze 2017, o 22:41</p><hr />
]]></content>
</entry>
</feed>