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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-10-03T12:01:24+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=19165&amp;mode</id>
<entry>
<author><name><![CDATA[Jankoss]]></name></author>
<updated>2017-10-03T12:01:24+01:00</updated>
<published>2017-10-03T12:01:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=196340#p196340</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=196340#p196340"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=196340#p196340"><![CDATA[
Nie ma pojęcia jak to zrobić tak aby działało :/ mókłby ktoś pomóc ..... ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17904">Jankoss</a> — 3 paź 2017, o 12:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jankoss]]></name></author>
<updated>2017-09-20T08:03:05+01:00</updated>
<published>2017-09-20T08:03:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195469#p195469</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195469#p195469"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195469#p195469"><![CDATA[
Próbowałem  według  poradników  i gotowych rozwiązań  w  z zapisem  czasu w arduino.  Tworzylem  nowa  strukturę  Time  a w niej :<br />Byte minute;<br />Byte second;<br />I kombinowalem  jak  zapisać  równanie / funkcje. Ale  za  każdym  razem  arduino  na wyświetlaczu  pokazywało  15:23  i albo nie  dało  się  niżej  zejść z czasem, albo  zaczynało  liczyć  zaraz  po  zasileniu  arduino. <br />Próbowałem  też  robić  tak  że  zapisywać  ten  czas  do pamięci  a następnie  kombinowalem  żeby  tą  nową  zmienna  zapisać  w takiej formie  aby  można  było  zapisać  do EEPROM'U ale  za  każdym  razem  albo  błąd  przy  kompilacji  występował  albo  na  wyświetlaczu  pojawiały  się  &quot;krzaki&quot;. <br />Nie  chce  w 100% gotowego  rozwiązania  to faktycznie  wtedy  zero  nauki  z tego  będzie. <br /><br /><br />Wysłane z mojego GT-I9305 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17904">Jankoss</a> — 20 wrz 2017, o 08:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-09-18T17:43:05+01:00</updated>
<published>2017-09-18T17:43:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195375#p195375</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195375#p195375"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195375#p195375"><![CDATA[
A jak próbowałeś?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 18 wrz 2017, o 17:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jankoss]]></name></author>
<updated>2017-09-18T08:00:52+01:00</updated>
<published>2017-09-18T08:00:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195301#p195301</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195301#p195301"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=195301#p195301"><![CDATA[
Kurde no nie mam pojęcia jak zapisać ten czas w EEPROM ... czarna dziura w głowie <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17904">Jankoss</a> — 18 wrz 2017, o 08:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-09-13T03:15:20+01:00</updated>
<published>2017-09-13T03:15:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194990#p194990</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194990#p194990"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194990#p194990"><![CDATA[
Jankoss,  tak na przyszłość - nie musisz wrzucać cały czas całego kodu, tylko ten fragment który sprawia trudności. Niektórzy przeglądają forum z komórki, a na nich kod się nie zwija <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />A co do twojego problemu, to musisz się zastanowić jak rozdzielić czas, albo sprowadzić go do sekund i wtedy zapisać. <br /> Co prawda to dział rybny, ale narazie dostajesz  tylko wędkę  ryby nie dostaniesz, bo wtedy nic nie wyniesiesz z lekcji <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><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> — 13 wrz 2017, o 03:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2017-09-12T17:43:51+01:00</updated>
<published>2017-09-12T17:43:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194946#p194946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194946#p194946"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194946#p194946"><![CDATA[
<div class="quotetitle">Jankoss napisał(a):</div><div class="quotecontent"><br />Ale możesz mi powiedzieć czemu minuta = 59999+ wartość zapisana ?<br /></div><br /><br /><br />hehehe.... bo minuta = 60000ms  jako że uprościłem do wartości  1  jedną minutę ,  itd ... <br />zostaje nam odczytać z eeprom wartość 1  co ma sie nijak  wiec dodajemy do 1 brakującą ilość ms czyli 59999 co nam w efekcie da <br />60000ms czyli 1min <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />   <br /><br />w sumie tak dla jaj ... ale wymusiło nieco myślenia <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=58">SunRiver</a> — 12 wrz 2017, o 17:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jankoss]]></name></author>
<updated>2017-09-12T16:59:28+01:00</updated>
<published>2017-09-12T16:59:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194944#p194944</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194944#p194944"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194944#p194944"><![CDATA[
Tylko problem polega na tym że w tych funkcjach używa się typów float :/ a u mnie jest int. Kurde nie mam zielonego pojęcia jak to ugryź żeby było oki.<br /><br />[syntax=cpp]#include &lt;EEPROM.h&gt;<br />#include &lt;LiquidCrystal.h&gt;<br />LiquidCrystal lcd(12, 11, 5, 4, 3, 2);<br />int kompresor = 8;    // wyjscia silnika pin 11<br />int led = 9;    // wyjscie silnika pin 12<br />int reczne = 6;<br />#define pinUP 13        // klawisz +   pin 2<br />#define pinDOWN 7      // klawisz -   pin 1<br />#define pinOK 0      // klawisz OK  pin 0<br />int pin2 = 10;<br />long start;           <br />int czas;             <br />int minuty;<br />int sekundy;<br />int zapis;<br /><br />// --- uniwersalna funkcja pokazujÄ…ca aktualny czas procesu, czas jaki upĹ‚ynÄ…Ĺ‚, itp.  ---<br />void pokazCzas(int c)  // c - aktualny czas procesu<br />{<br />  char buf&#91;20&#93;; memset(buf, 0, sizeof(buf)); // zamiast pozycjonowania LCD proponujÄ™ to wĹ‚aĹ›nie<br />  minuty = c / 60; sekundy = c % 60;       // obliczamy mniuty i sekundy<br />  if (minuty &gt; 59) {<br />    minuty = 0;  // po przekroczeniu 60 minut liczymy od nowa<br />    sekundy = 0;<br />  }<br />  snprintf(buf, sizeof(buf), &quot;%02d:%02d&quot;, minuty, sekundy);<br />  lcd.setCursor(6, 1); lcd.print(buf); // kosmetyka LCD<br />}<br />// --- funkcja do ustawiania czasu trwania procesu -----------------<br />int ustaw(int c)     // c - defaultowy czas (na poczÄ…tek do ustawiania)<br />{<br />  lcd.clear();<br />  lcd.setCursor(0, 0); lcd.print(&quot;&lt;  Ustaw Czas  &gt;&quot;);<br />  pokazCzas(c);                    // pokazujemy czas procesu do ustawienia<br />  while (digitalRead(pinOK != LOW) <br />  {<br />    if (digitalRead(pinUP) == LOW) {<br />      delay(30);  // klawisz +<br />      if (digitalRead(pinUP) == LOW) {<br />        c += 10;<br />        if (c &gt; 1800)c = 1800;<br />        pokazCzas(c);<br />      }<br />    }<br />    if (digitalRead(pinDOWN) == LOW) {<br />      delay(30);  // klawisz -<br />      if (digitalRead(pinDOWN) == LOW) {<br />        c -= 10;<br />        if (c &lt; 0)c = 0;<br />        pokazCzas(c);<br />      }<br />    }<br />    delay(100);                     <br />  <br />  lcd.clear(); lcd.setCursor(0, 0); lcd.print(&quot; Czas Ustawiony &quot;); delay(2000); //<br /><br />   <br />  EEPROM.put(1,ustaw);<br />  return c;  // funkcja zwraca ustawiony czas<br />}<br /><br />void odliczanie(int ile)<br />{<br />  start = millis();                   <br />  int akt_czas = ile;                 <br />  while (akt_czas &gt; 0)                <br />  {<br />    akt_czas = czas - (millis() - start) / 1000; <br />    pokazCzas(akt_czas);                 <br />    if (digitalRead(pinOK) == LOW)      <br />    {<br />      akt_czas = 0; pokazCzas(akt_czas); // zerowanie czasu<br />      lcd.setCursor(0, 1); lcd.print(&quot;Proces Przerwany&quot;); delay(2000); <br />    }<br />  }<br />}<br /><br />// --------------------------------------------------------------<br />void setup ()<br />{<br />  pinMode(pinUP, INPUT_PULLUP);   // klawisz +<br />  pinMode(pinDOWN, INPUT_PULLUP); // klawisz -<br />  pinMode(pinOK, INPUT_PULLUP);   // klawisz OK<br />  pinMode(kompresor, OUTPUT);<br />  lcd.begin(16, 2);<br />  digitalWrite(kompresor, HIGH);       <br />  lcd.clear(); lcd.setCursor(3, 0); lcd.print(&quot;Gotowy za : &quot;); <br />  czas = 2;       <br />  odliczanie(czas); <br />  lcd.clear();<br />  EEPROM.get(1,ustaw);<br />}<br /><br />// -----------------------------------------------------------<br />void loop ()<br />{<br /> <br />czas=ustaw(EEPROM.get(1,ustaw));<br />  lcd.clear(); lcd.print(&quot;Start odliczania&quot;); <br />  delay(250); digitalWrite(kompresor,LOW );<br />  odliczanie(czas);                          // start odliczania<br />  delay(250); digitalWrite(kompresor, HIGH); // motory OFF<br />  lcd.clear(); lcd.print(&quot;  Koniec Cyklu&quot;); delay(3000); lcd.clear(); <br />}[/syntax]<br /><br /><br />po zrobieniu czegoś takiego czas liczy od 15:32 po naciśnięciu przycisku ok  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17904">Jankoss</a> — 12 wrz 2017, o 16:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Cam74]]></name></author>
<updated>2017-09-12T08:05:45+01:00</updated>
<published>2017-09-12T08:05:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194912#p194912</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194912#p194912"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194912#p194912"><![CDATA[
Proponuję zainteresować się dwiema funkcjami : EEPROM.put (), EEPROM.get ().<br />Jedna zapisuje jakiekolwiek dane do pamięci, a druga jest do odczytu tychże danych:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13745">Cam74</a> — 12 wrz 2017, o 08:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jankoss]]></name></author>
<updated>2017-09-12T07:32:54+01:00</updated>
<published>2017-09-12T07:32:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194910#p194910</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194910#p194910"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194910#p194910"><![CDATA[
Sun uwielbiam te  Twoje  zgadywanki  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> fajnie  zachęcają  do myślenie.  Ale  możesz  mi  powiedzieć  czemu  minuta  = 59999+ wartość  zapisana ? Kurde  nie  mogę  sobie  jakoś  wyobrazić  żeby  zapisać  minuty  i sekundy  ; ( czy da się  zrobić  tak  aby  dodać  zmienna  sekundy  i minuty, potem  żeby  to  co ustawiłem  za pomocą przycisków  zapisać  właśnie  do tych  zmiennych  (digitalWrite) a następnie  to zapisać  do EEPROM'U ? <br /><br />Wysłane z mojego GT-I9305 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17904">Jankoss</a> — 12 wrz 2017, o 07:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-09-11T20:37:47+01:00</updated>
<published>2017-09-11T20:37:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194902#p194902</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194902#p194902"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194902#p194902"><![CDATA[
Domyślam się <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Teraz dopiero policzyłem,  że te moje 3 komórki wystarczą na ponad 194 dni <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><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> — 11 wrz 2017, o 20:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2017-09-11T20:26:37+01:00</updated>
<published>2017-09-11T20:26:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194900#p194900</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194900#p194900"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194900#p194900"><![CDATA[
<div class="quotetitle">Harry napisał(a):</div><div class="quotecontent"><br />A nie szybciej zapisać czas w sekundach na góra 3 komórkach?<br /></div><br />oczywiście ... jest kilka tysięcy rozwiązań .... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> a ja tylko próbuję zmusić autora do myslenia <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=58">SunRiver</a> — 11 wrz 2017, o 20:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-09-11T20:20:44+01:00</updated>
<published>2017-09-11T20:20:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194898#p194898</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194898#p194898"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194898#p194898"><![CDATA[
A nie szybciej zapisać czas w sekundach na góra 3 komórkach? <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> — 11 wrz 2017, o 20:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2017-09-11T18:35:40+01:00</updated>
<published>2017-09-11T18:35:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194895#p194895</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194895#p194895"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194895#p194895"><![CDATA[
możesz zapisywać jako wartość ms  -- tylko musisz wtedy uzywać zapisu wartości większych od 255 w kilku bajtach  zależnie od potrzeb ....<br />albo zapisywać fizycznie wartość min np  1 - 2 - 3 ... 5  <br />a w programie sobie zienna np  eepwar1 = 1 // 1 min <br /><br />eepwar1 = EPROM.read(1);<br />minuta = 59999 + eepwar1 ;<br /><br />i dalej już z górki bo min = 60000 ms <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />to tylko przykład<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 11 wrz 2017, o 18:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jankoss]]></name></author>
<updated>2017-09-11T18:16:10+01:00</updated>
<published>2017-09-11T18:16:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194892#p194892</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194892#p194892"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194892#p194892"><![CDATA[
Odpis i zapis jest &quot;jasny &quot; ( wiem o co chodzi) , nie umiem sobie własnie poradzić z tą konwersją minut i sekund na bajty nie mam pojęci jaka się wziąć za to. Układ będzie pracował w zakresie od 1-5 minut.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17904">Jankoss</a> — 11 wrz 2017, o 18:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2017-09-11T17:38:48+01:00</updated>
<published>2017-09-11T17:38:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194881#p194881</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194881#p194881"/>
<title type="html"><![CDATA[Re: Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194881#p194881"><![CDATA[
zapoznaj się z :<br /><br /><!-- m --><a class="postlink" href="http://arduino.cc/en/Reference/EEPROMRead" >http://arduino.cc/en/Reference/EEPROMRead</a><!-- m --><br /><br /><!-- m --><a class="postlink" href="http://arduino.cc/en/Reference/EEPROMWrite" >http://arduino.cc/en/Reference/EEPROMWrite</a><!-- m --><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br />musisz pamiętac że zapisujesz wartość do określonej komórki od 0 do 255 <br />każda komórka to jeden bajt  czyli 8 bitów <br /><br />wiec jak zapiszesz coś ... <br /><br />np: wartość 255 do komórki 1 <br /><br />[syntax=cpp]EEPROM.write(1, 255);[/syntax]<br /><br />to odczytujesz: <br /><br />[syntax=cpp]wartosc = EEPROM.read(1);[/syntax]<br /><br />jasne ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 11 wrz 2017, o 17:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jankoss]]></name></author>
<updated>2017-09-11T17:17:40+01:00</updated>
<published>2017-09-11T17:17:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194877#p194877</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194877#p194877"/>
<title type="html"><![CDATA[Arduino zapis  czasu do pamieci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19165&amp;p=194877#p194877"><![CDATA[
Witam, <br />Mam problem z użyciem funkcji zapisu do pamięci arduino.  Otóż mam sterownik czasu działąnia kompresora, na wyświetlaczu wyświetla się czas  który zmniejsza się o 10 sekund jednym przyciskiem  bądź zwiększa używając drugiego, trzeci przycisk służy do zatwierdzenia zmiany. Chciałbym żeby po wciśnięciu przycisku OK czas zapisywany byl od EEPROM'u ale niestety nie wiem jak to zrobić <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Aktualnie po uruchomieniu arduino (UNO) wyświetla sie napis &quot;start odliczania&quot; i odliczanie idzie od 15:23 <br />Mógłby ktoś pomóc ?   <br /><br />[syntax=cpp]#include &lt;EEPROM.h&gt;<br />#include &lt;LiquidCrystal.h&gt;<br />LiquidCrystal lcd(12, 11, 5, 4, 3, 2);<br />byte wyj, flaga;<br />int kompresor = 8;   <br />int led = 9;    <br />int reczne = 6;<br />#define pinUP 13        <br />#define pinDOWN 7      <br />#define pinOK 0     <br />int pin2 = 10;<br />long start;           <br />int czas;              <br />int minuty;<br />int sekundy;<br />int pin_dioda = A5;<br />int pin_przycisk = A3;<br /><br />void pokazCzas(int c)  // c - aktualny czas procesu<br />{<br />  char buf&#91;20&#93;; memset(buf, 0, sizeof(buf)); <br />  minuty = c / 60; sekundy = c % 60;       //<br />  if (minuty &gt; 59) {<br />    minuty = 0;  <br />    sekundy = 0;<br />  }<br />  snprintf(buf, sizeof(buf), &quot;%02d:%02d&quot;, minuty, sekundy);<br />  lcd.setCursor(6, 1); lcd.print(buf); // kosmetyka LCD<br />}<br />// --- funkcja do ustawiania czasu trwania procesu -----------------<br />int ustaw(int c)     // c - defaultowy czas <br />{<br />  lcd.clear();<br />  lcd.setCursor(0, 0); lcd.print(&quot;&lt;  Ustaw Czas  &gt;&quot;);<br />  pokazCzas(c);                     <br />  while (digitalRead(pinOK != LOW)) <br />  <br />    if (digitalRead(pinUP) == LOW) {<br />      delay(30);  // klawisz +<br />      if (digitalRead(pinUP) == LOW) {<br />        c += 10;<br />        if (c &gt; 1800)c = 1800;<br />        pokazCzas(c);<br />      }<br />    }<br />    if (digitalRead(pinDOWN) == LOW) {<br />      delay(30);  // klawisz -<br />      if (digitalRead(pinDOWN) == LOW) {<br />        c -= 10;<br />        if (c &lt; 0)c = 0;<br />        pokazCzas(c);<br />      }<br />    }<br />    delay(100);                     <br />  }<br />  lcd.clear(); lcd.setCursor(0, 0); lcd.print(&quot; Czas Ustawiony &quot;); delay(1000); <br /> <br />  EEPROM.write(10, c);<br /><br />  return c;  // funkcja zwraca ustawiony czas<br />}<br />// --- funkcja do odliczania czasu (zapalnik zegarowy do bomby :-)---<br />void odliczanie(int ile)<br />{<br />  start = millis();                   <br />  int akt_czas = ile;                 <br />  while (akt_czas &gt; 0)                <br />  {<br />    akt_czas = czas - (millis() - start) <br />    pokazCzas(akt_czas);                 <br />    if (digitalRead(pinOK) == LOW)       <br />    {<br />      akt_czas = 0; pokazCzas(akt_czas); // zerowanie czasu<br />      lcd.setCursor(0, 1); lcd.print(&quot;Proces Przerwany&quot;); delay(1000); // kosmetyka<br />    }<br />  }<br />}<br /><br />// --------------------------------------------------------------<br />void setup ()<br />{<br />  pinMode(pinUP, INPUT_PULLUP);   // klawisz +<br />  pinMode(pinDOWN, INPUT_PULLUP); // klawisz -<br />  pinMode(pinOK, INPUT_PULLUP);   // klawisz OK<br />  pinMode(kompresor, OUTPUT);<br />  czas = EEPROM.read(10);<br />  lcd.begin(16, 2);<br />  digitalWrite(kompresor, HIGH);       <br /><br />}<br /><br />// -----------------------------------------------------------<br />void loop ()<br />{<br />  czas =  ustaw;<br />  lcd.clear(); lcd.print(&quot;Start odliczania&quot;);<br />  digitalWrite(kompresor, LOW);<br />  delay(250); digitalWrite(kompresor, LOW );<br />  odliczanie(czas);                          <br />  digitalWrite(kompresor, HIGH); // motory OFF<br />  lcd.clear(); lcd.print(&quot;  Koniec Cyklu&quot;); delay(2000); lcd.clear();   // kosmetyka<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17904">Jankoss</a> — 11 wrz 2017, o 17:17</p><hr />
]]></content>
</entry>
</feed>