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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-09T16:31:24+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=22&amp;t=10939&amp;mode</id>
<entry>
<author><name><![CDATA[kepes12]]></name></author>
<updated>2015-03-09T16:31:24+01:00</updated>
<published>2015-03-09T16:31:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122759#p122759</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122759#p122759"/>
<title type="html"><![CDATA[Re: Inteligentny informator i sterownik pokoju]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122759#p122759"><![CDATA[
<div class="quotetitle">BIGjack napisał(a):</div><div class="quotecontent"><br />Często jak przeglądam różne fora przewija mi się przed oczami widok płytki stykowej z połączeniami.<br />Fajnie to wygląda, co to za soft?<br /></div><br /><br />Program jest napisany pod Arduino Leonardo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7347">kepes12</a> — 9 mar 2015, o 16:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2015-03-09T15:51:41+01:00</updated>
<published>2015-03-09T15:51:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122747#p122747</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122747#p122747"/>
<title type="html"><![CDATA[Re: Inteligentny informator i sterownik pokoju]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122747#p122747"><![CDATA[
Często jak przeglądam różne fora przewija mi się przed oczami widok płytki stykowej z połączeniami.<br />Fajnie to wygląda, co to za soft?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 9 mar 2015, o 15:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kepes12]]></name></author>
<updated>2015-03-08T00:21:30+01:00</updated>
<published>2015-03-08T00:21:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122488#p122488</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122488#p122488"/>
<title type="html"><![CDATA[Re: Inteligentny informator i sterownik pokoju]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122488#p122488"><![CDATA[
<div class="quotetitle">domcio512 napisał(a):</div><div class="quotecontent"><br />Pisząc &quot;korytko pod wyłącznikiem&quot; miałeś na myśli puszkę podtynkową? Projekt bardzo mi się spodobał, mam nadzieję, że kończąc projekt zmienisz obudowę, albo chociaż zrobisz front panel dla lepszej estetyki. Jak dla mnie to ocena 4,5/5 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Jeśli coś Ci nie wyjdzie, nie poddawaj się. Istnieją sposoby na rozwiązanie problemu.<br /></div><br /><br /><br />Front będzie nowy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Puszkę podtynkową.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7347">kepes12</a> — 8 mar 2015, o 00:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[domcio512]]></name></author>
<updated>2015-03-08T00:19:40+01:00</updated>
<published>2015-03-08T00:19:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122487#p122487</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122487#p122487"/>
<title type="html"><![CDATA[Re: Inteligentny informator i sterownik pokoju]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122487#p122487"><![CDATA[
Pisząc &quot;korytko pod wyłącznikiem&quot; miałeś na myśli puszkę podtynkową? Projekt bardzo mi się spodobał, mam nadzieję, że kończąc projekt zmienisz obudowę, albo chociaż zrobisz front panel dla lepszej estetyki. Jak dla mnie to ocena 4,5/5 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Jeśli coś Ci nie wyjdzie, nie poddawaj się. Istnieją sposoby na rozwiązanie problemu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3200">domcio512</a> — 8 mar 2015, o 00:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kepes12]]></name></author>
<updated>2015-03-06T22:21:35+01:00</updated>
<published>2015-03-06T22:21:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122314#p122314</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122314#p122314"/>
<title type="html"><![CDATA[Re: Inteligentny informator i sterownik pokoju cz.1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122314#p122314"><![CDATA[
<div class="quotetitle">Ds3 napisał(a):</div><div class="quotecontent"><br />Ogólnie projekt ciekawy. <br />Widzę, że dwie czerwone kropki (guziczki?) są opisane. A co z resztą? Pełnią już jakieś funkcje, czy po prostu czekasz na paczuszkę, aby dokończyć projekcik?<br />Co sygnalizują czerwone diody LED w puszcze, która znajduje się za oknem?<br /><br />Może warto byłoby stworzyć jakiś fort panel? Na pewno wyglądałoby lepiej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Od siebie mogę polecić program inkscape. Można wydrukować na zwykłym papierze i zalaminować. Ostatnio spróbowałem tak stworzyć front panel i wyszedł tak:<br /><a href="http://forum.atnel.pl/_obrazki/o/1783/1bb044a217c269426d9aa69dae9b1c3d.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1783/1bb044a217c269426d9aa69dae9b1c3d.JPG" alt="Obrazek" /></a><br /><br />W projekt włożyłeś już trochę czasu i zapewne jeszcze wsadzisz, także szkoda, aby obudowa psuła cały efekt.<br /><br /><br />Pozdrawiam!<br /></div><br /><br /><br />Jeszcze nie pełnią żadnej funkcji.<br />Sygnalizują rozłaczenia zasilania.<br /><br />Na razie obudowa prototypowa bo będzie z regipsu w ścianie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7347">kepes12</a> — 6 mar 2015, o 22:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ds3]]></name></author>
<updated>2015-03-06T21:52:27+01:00</updated>
<published>2015-03-06T21:52:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122308#p122308</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122308#p122308"/>
<title type="html"><![CDATA[Re: Inteligentny informator i sterownik pokoju cz.1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122308#p122308"><![CDATA[
Ogólnie projekt ciekawy. <br />Widzę, że dwie czerwone kropki (guziczki?) są opisane. A co z resztą? Pełnią już jakieś funkcje, czy po prostu czekasz na paczuszkę, aby dokończyć projekcik?<br />Co sygnalizują czerwone diody LED w puszcze, która znajduje się za oknem?<br /><br />Może warto byłoby stworzyć jakiś fort panel? Na pewno wyglądałoby lepiej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Od siebie mogę polecić program inkscape. Można wydrukować na zwykłym papierze i zalaminować. Ostatnio spróbowałem tak stworzyć front panel i wyszedł tak:<br /><a href="http://forum.atnel.pl/_obrazki/o/1783/1bb044a217c269426d9aa69dae9b1c3d.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1783/1bb044a217c269426d9aa69dae9b1c3d.JPG" alt="Obrazek" /></a><br /><br />W projekt włożyłeś już trochę czasu i zapewne jeszcze wsadzisz, także szkoda, aby obudowa psuła cały efekt.<br /><br /><br />Pozdrawiam!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1783">Ds3</a> — 6 mar 2015, o 21:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kepes12]]></name></author>
<updated>2015-03-06T20:50:27+01:00</updated>
<published>2015-03-06T20:50:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122286#p122286</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122286#p122286"/>
<title type="html"><![CDATA[Re: Inteligentny informator i sterownik pokoju cz.1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122286#p122286"><![CDATA[
<div class="quotetitle">dambo napisał(a):</div><div class="quotecontent"><br />Nie wiem jak się orientujesz w tej plątaninie kabli :p<br /></div><br /><br />Trzeba mieć dobre oko <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Takie same kolory jak nie mam to kładę <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7347">kepes12</a> — 6 mar 2015, o 20:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kepes12]]></name></author>
<updated>2015-03-06T14:59:23+01:00</updated>
<published>2015-03-06T14:59:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122240#p122240</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122240#p122240"/>
<title type="html"><![CDATA[Re: Inteligentny informator i sterownik pokoju cz.1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122240#p122240"><![CDATA[
Dodaje kod do arduino.<br /><br />[syntax=cpp]#include &quot;DHT.h&quot; <br /><br />#include &lt;OneWire.h&gt;<br /><br />#include &lt;DS1307RTC.h&gt;<br /><br />#include &lt;Time.h&gt;<br /><br />#include &lt;Wire.h&gt;<br /><br />#include &lt;LiquidCrystal_I2C.h&gt;<br /><br />#define BACKLIGHT_PIN 3<br /><br />LiquidCrystal_I2Clcd(0x27,2,1,0,4,5,6,7);<br /><br />#define DHTPIN 10         <br /> <br />DHT dht;                 <br /><br />OneWire  ds(9); <br /> <br />#include &lt;IRremote.h&gt;<br /><br />int RECV_PIN = 12;<br /><br />IRrecv irrecv(RECV_PIN);<br /><br />decode_results results;<br /><br />boolean stan=0;<br /><br />int moc;<br /><br /><br />const char *monthName&#91;12&#93; = {<br />  &quot;Sty&quot;, &quot;Lut&quot;, &quot;Mar&quot;, &quot;Kwi&quot;, &quot;Maj&quot;, &quot;Cze&quot;,<br />  &quot;Lip&quot;, &quot;Sie&quot;, &quot;Wrz&quot;, &quot;Paz&quot;, &quot;Lis&quot;, &quot;Gru&quot;<br />};<br /><br />const char *dayName&#91;7&#93; = {<br />&quot;SRO&quot;, &quot;CZW&quot;, &quot;PIO&quot;, &quot;SOB&quot;, &quot;NIE&quot;, &quot;PON&quot;, &quot;WTO&quot;,  };<br />  <br />byte nc1&#91;8&#93; = {<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111<br /><br />};<br /><br />byte nc2&#91;8&#93; = {<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B00000,<br />B00000,<br />B00000,<br />B00000<br /><br />};<br /><br />byte nc3&#91;8&#93; = {<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B11111,<br />B11111,<br />B11111,<br />B11111<br /><br />};<br />byte nc4&#91;8&#93; = {<br />B00000,<br />B00000,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B00000,<br />B00000,<br /><br />};<br />byte nc5&#91;8&#93; = {<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B00000<br /><br />};<br />byte nc6&#91;8&#93; = {<br />B00000,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B00000<br /><br />};<br /><br />byte nc7&#91;8&#93; = {<br />B00000,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111<br /><br />};<br /><br />byte nc8&#91;8&#93; = {<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B00000<br /><br />};<br /><br />int bigfont(int number, int pos){ <br /><br />if (number &lt; 10){<br />  <br />  int n&#91;10&#93;&#91;3&#93;&#91;3&#93;={<br />{{1,2,1},{1,8,1},{1,3,1}},<br />{{8,6,1},{8,8,1},{8,8,1}},<br />{{5,2,1},{3,4,2},{1,3,3}},<br />{{5,2,5},{8,4,1},{7,3,7}},<br />{{1,8,1},{5,5,1},{8,8,1}},<br />{{1,2,2},{5,6,7},{3,3,1}},<br />{{1,2,5},{1,4,3},{1,3,1}},<br />{{5,5,1},{8,8,1},{8,8,1}},<br />{{7,2,7},{1,4,1},{5,3,5}},<br />{{1,2,1},{2,4,1},{7,3,1}}<br /><br />                <br /><br />  };<br /><br />  lcd.setCursor(pos,1);<br />  lcd.write(n&#91;number&#93;&#91;0&#93;&#91;0&#93;);<br />  lcd.setCursor(pos,2);<br />  lcd.write(n&#91;number&#93;&#91;1&#93;&#91;0&#93;);<br />  lcd.setCursor(pos,3);<br />  lcd.write(n&#91;number&#93;&#91;2&#93;&#91;0&#93;);<br />  lcd.setCursor(pos+1,1);<br />  lcd.write(n&#91;number&#93;&#91;0&#93;&#91;1&#93;);<br />  lcd.setCursor(pos+1,2);<br />  lcd.write(n&#91;number&#93;&#91;1&#93;&#91;1&#93;);<br />  lcd.setCursor(pos+1,3);<br />  lcd.write(n&#91;number&#93;&#91;2&#93;&#91;1&#93;);<br />  lcd.setCursor(pos+2,1);<br />  lcd.write(n&#91;number&#93;&#91;0&#93;&#91;2&#93;);<br />  lcd.setCursor(pos+2,2);<br />  lcd.write(n&#91;number&#93;&#91;1&#93;&#91;2&#93;);<br />  lcd.setCursor(pos+2,3);<br />  lcd.write(n&#91;number&#93;&#91;2&#93;&#91;2&#93;);<br />  <br />}else{<br />  <br />  if(number == 10){<br />  lcd.setCursor(pos,1);<br />  lcd.write(3);<br />  lcd.setCursor(pos,3);<br />  lcd.write(2);<br />}; <br />  if(number == 11){<br />  lcd.setCursor(pos,1);<br />  lcd.write(8);<br />  lcd.setCursor(pos,3);<br />  lcd.write(8);<br />  };<br />};<br />}<br /><br />void setup() {<br /> Serial.begin(9600);<br />  dht.setup(DHTPIN);<br />  pinMode(8, OUTPUT);<br />  pinMode(7, OUTPUT);<br />  irrecv.enableIRIn(); <br />    <br />  <br />   lcd.begin(20, 4);<br />   lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);<br />   lcd.setBacklight(HIGH);<br />       lcd.print(&quot;-------WITAJ--------&quot;);<br />    lcd.setCursor(0, 1);<br />    lcd.print(&quot;Przygotowywuje sie &quot;);<br />     lcd.setCursor(0, 2);<br />    lcd.print(&quot;Do pracy &quot;);<br />    lcd.setCursor(0, 3);<br />    lcd.print(&quot;=======MICHALE======&quot;);<br />    <br />lcd.home ();<br /><br />   <br />   lcd.createChar(1, nc1);<br />   lcd.createChar(2, nc2);<br />   lcd.createChar(3, nc3);<br />   lcd.createChar(4, nc4);<br />   lcd.createChar(5, nc5);<br />   lcd.createChar(6, nc6);<br />   lcd.createChar(7, nc7);<br />   lcd.createChar(8, nc8);<br />}<br /><br />void loop() {<br />  <br />  if (irrecv.decode(&amp;results)) {<br />    Serial.println(results.value, DEC);<br />    irrecv.resume(); <br />        <br />        switch (results.value) {<br />        <br /> case 0x6604CFD6:<br />            Serial.println(&quot;Przekaźnik 1 OFF&quot;);<br />            analogWrite(7, 255);<br />            break;<br />          case 0x6604CFC6:<br />            Serial.println(&quot;Przekaźnik 1 ON&quot;);<br />            analogWrite(7, 0);<br />            break;   <br /> <br />         case 0x6604CFE6:<br />            Serial.println(&quot;Przekaźnik 2 OFF&quot;);<br />            analogWrite(8, 255);<br />            break;<br />          case 0x6604CFFA:<br />            Serial.println(&quot;Przekaźnik 2 ON&quot;);<br />            analogWrite(8, 0);<br />            break;   <br />        }<br />    <br />   delay(350);<br />  }<br />  <br />  <br />   byte i;<br />  byte present = 0;<br />  byte type_s;<br />  byte data&#91;12&#93;;<br />  byte addr&#91;8&#93;;<br />  float celsius, fahrenheit;<br />  <br />  if ( !ds.search(addr)) { <br />  }<br />  for( i = 0; i &lt; 8; i++) {<br />  }<br /><br />  if (OneWire::crc8(addr, 7) != addr&#91;7&#93;) {<br />      <br />      return;<br />  }<br />  Serial.println();<br /> <br />  switch (addr&#91;0&#93;) {<br />    case 0x10:<br />      <br />      type_s = 1;<br />      break;<br />    case 0x28:<br />     <br />      type_s = 0;<br />      break;<br />    case 0x22:<br />      <br />      type_s = 0;<br />      break;<br />    default:<br />      <br />      return;<br />  } <br /><br />  ds.reset();<br />  ds.select(addr);<br />  ds.write(0x44, 1);        <br />  <br />  delay(1000);     <br />  <br />  present = ds.reset();<br />  ds.select(addr);    <br />  ds.write(0xBE);         <br />  <br />  for ( i = 0; i &lt; 9; i++) {           <br />    data&#91;i&#93; = ds.read();<br />    <br />  }<br />  int16_t raw = (data&#91;1&#93; &lt;&lt; 8) | data&#91;0&#93;;<br />  if (type_s) {<br />    raw = raw &lt;&lt; 3; <br />    if (data&#91;7&#93; == 0x10) {<br />      raw = (raw &amp; 0xFFF0) + 12 - data&#91;6&#93;;<br />    }<br />  } else {<br />    byte cfg = (data&#91;4&#93; &amp; 0x60);<br />    if (cfg == 0x00) raw = raw &amp; ~7;  <br />    else if (cfg == 0x20) raw = raw &amp; ~3; <br />    else if (cfg == 0x40) raw = raw &amp; ~1; <br />  }<br />  celsius = (float)raw / 16.0;<br />  fahrenheit = celsius * 1.8 + 32.0;<br />  lcd.print(&quot;&quot;);<br />  lcd.setCursor(0, 0);<br />  lcd.print(celsius);<br />  lcd.setCursor(0, 1);<br />    lcd.print(&quot;Temperatura&quot;);<br />    lcd.setCursor(0, 2);<br />    lcd.print(&quot;W Pokoju&quot;);<br />delay(1000);<br />delay(1000);<br />delay(1000);<br />lcd.clear();<br />  <br />  <br />  delay(dht.getMinimumSamplingPeriod());<br /> <br />  float t = dht.getTemperature();<br />  float h = dht.getHumidity();<br /> <br />  <br />  if (dht.getStatus())<br />  {<br />   <br />    <br />  } <br />    <br />    lcd.setCursor(0, 0);<br />    lcd.print(&quot;Wilgotnosc: &quot;);<br />    lcd.print(h);<br />    lcd.print(&quot; % &quot;);<br />    lcd.setCursor(1, 1);<br />    lcd.print(&quot;Temperatura: &quot;);<br />    lcd.print(t);<br />    lcd.print(&quot; C  &quot;);<br />     lcd.setCursor(0, 2);<br />    lcd.print(&quot;Na dworzu &quot;);<br />    delay(1000);<br />delay(1000);<br />delay(1000);<br />lcd.clear();<br />  <br />  <br />  tmElements_t tm;<br /><br />  if (RTC.read(tm)) {<br />    <br />  int br_hour = tm.Hour;<br />  int br_minute = tm.Minute;<br />  int array_h&#91;2&#93;;<br />  int array_m&#91;2&#93;;<br />  <br />  for (int i = 1;i&gt;=0;i--){<br />    array_h&#91;i&#93; = br_hour % 10;<br />    br_hour = br_hour /= 10;<br />  }<br />  <br />   for (int ii = 1;ii&gt;=0;ii--){<br />    array_m&#91;ii&#93; = br_minute % 10;<br />    br_minute = br_minute /= 10;<br />  }<br /><br />  if(tm.Hour &lt; 10){<br />  <br />    bigfont(0,0);<br />    bigfont(array_h&#91;1&#93;,4);<br />  <br />  } else {<br />  <br />   bigfont(array_h&#91;0&#93;,0);<br />   bigfont(array_h&#91;1&#93;,4);<br />  <br />  }<br />  <br />  bigfont(10, 8);<br />  <br />  if(tm.Minute &lt; 10){<br />  <br />    bigfont(0,10);<br />    bigfont(array_m&#91;1&#93;,14);<br />  <br />  } else {<br />  <br />   bigfont(array_m&#91;0&#93;,10);<br />   bigfont(array_m&#91;1&#93;,14);<br />  <br />  }<br />    lcd.setCursor(18,3);<br />    LCDprint2digits(tm.Second);<br />    lcd.setCursor (0, 0);<br />    lcd.print(tm.Day);<br />    lcd.print('/');<br />    LCDm2d(tm.Month);<br />    lcd.print('/');<br />    lcd.print(tm.Year-30);<br />    lcd.print(&quot; &quot;);<br />    lcd.print(dayName&#91;tm.Wday&#93;);<br />    <br />  if(tm.Wday==0){<br />    lcd.setCursor(18, 1);lcd.print(&quot;:D&quot;);<br />  };<br />  if(tm.Wday==1){<br />    lcd.setCursor(18, 1);lcd.print(&quot;:)&quot;);<br />  };<br />  if(tm.Wday==6){<br />    lcd.setCursor(18, 1);lcd.print(&quot;:D&quot;);<br />  };<br />  if(tm.Wday==5){<br />    lcd.setCursor(18, 1);lcd.print(&quot;:)&quot;);<br />  };<br />  <br />  } else {<br />    if (RTC.chipPresent()) {<br />      lcd.println(&quot;DS1307 Wgraj biblioteke set time&quot;);<br />      } <br />       else {<br />      lcd.println(&quot;DS1307 blad &quot;);<br />      lcd.println(&quot;podlacz ponownie&quot;);<br />    }<br />    delay(9000);<br />  }<br />  <br />  delay(900);<br />  bigfont(11, 8);<br />  delay(100);<br />  delay(1000);<br />delay(1000);<br />delay(1000);<br />lcd.clear();<br />}<br /><br />//void print2digits(int number) {<br />//  if (number &gt;= 0 &amp;&amp; number &lt; 10) {<br />//    Serial.write('0');<br />//  }<br />//  Serial.print(number);<br />//}<br />  <br />void LCDprint2digits(int number) {<br />  if (number &gt;= 0 &amp;&amp; number &lt; 10) {<br />    lcd.write('0');<br />  }<br />  lcd.print(number);  <br />}<br /><br /> void LCDm2d(int month_with0){<br />if(month_with0 &gt; 0 &amp;&amp; month_with0 &lt; 10){<br />  lcd.write('0');}<br />  lcd.print(month_with0);<br />  }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7347">kepes12</a> — 6 mar 2015, o 14:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kepes12]]></name></author>
<updated>2015-03-08T00:16:39+01:00</updated>
<published>2015-03-05T21:21:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122159#p122159</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122159#p122159"/>
<title type="html"><![CDATA[Inteligentny informator i sterownik pokoju]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10939&amp;p=122159#p122159"><![CDATA[
Witam<br />niedawno uruchomiłem swój system inteligentnego pokoju (obiecałem że jak zrobię to opiszę na forum) .Chciałem mieć własną instalację pogodową-sterowniczą.<br />Całym systemem steruje arduino leonardo.<br />Założyłem ,że:<br />-System będzie sterował oświetleniem(opiszę w drugiej).<br />-Wyświetlał temperaturę w pokoju jaka jest i na zewnątrz plus wilgotność.<br />-Pokazywał mi duży czytelny zegar i mniejszą czcionką datę.<br />-Regulował automatycznie podświetlenie wyświetlacza.<br />-Sprawdzał stany drzwi i odpowiednie oświetlenie włączał (prawdopodobnie w trzeciej bo czekam na czujnik).<br />-Sterował akwarium oświetleniem (w trzeciej bo czekam na przekaźnik).<br />-Wprowadzał dane wszystkie do internetu (tylko muszę rozwiązać ten problem z routerem).<br /><br />Wykorzystałem na razie:<br />-Czujnik dht11<br />-Czujnik ds18b20<br />-Moduł czasu RTC ds1307<br />-Buzzer z generatorem<br />-Wyświetlacz 4x20 niebieski z I2C<br />-Kilka przycisków<br />-Odbiornik ir tsop2236<br />-Fotorezystor 20-30k<br />-Moduł ethernet enc28j60<br />-Puszki hermetyczne <br />-Przełączniki <br />-Arduino Leonardo <br />-Przekaźniki 2 sztuki<br />-Zasilacz 5v<br />-Około 7m kabla ethernet<br /><br />Miałem problemy z dht11,rf433mhz i arduino pro mini.<br />Zrezygnowałem z transmisji radiowej.<br /><br />Schemat <br /><a href="http://forum.atnel.pl/_obrazki/o/7347/5e5c7c1d513e4145059e18e4853f2a3e.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/5e5c7c1d513e4145059e18e4853f2a3e.jpg" alt="Obrazek" /></a><br /><br />Na początku ekran powitalny<br /><br />Potem temperatura w pokoju z ds18b20<br /><a href="http://forum.atnel.pl/_obrazki/o/7347/63cc8ae5d316384a9d5e1697cd3fba0c.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/63cc8ae5d316384a9d5e1697cd3fba0c.JPG" alt="Obrazek" /></a><br /><br />Pogoda na zewnątrz <br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/4ba4fd643fca410931d0212a9046861d.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/4ba4fd643fca410931d0212a9046861d.JPG" alt="Obrazek" /></a><br /><br />Na koniec zegar i data <br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/b5fc172ceabcfbe2ff2f2c43c32f2b0e.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/b5fc172ceabcfbe2ff2f2c43c32f2b0e.JPG" alt="Obrazek" /></a><br /><br /><br /><br />Wszystko tak wygląda<br /><a href="http://forum.atnel.pl/_obrazki/o/7347/05dbc375cc9553b4b72bc2daf6c91be1.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/05dbc375cc9553b4b72bc2daf6c91be1.JPG" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/7347/c49b15f406a888be3a7e6071bd07749a.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/c49b15f406a888be3a7e6071bd07749a.JPG" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/7347/ddd0c9276f09deb1b3aad5942b257365.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/ddd0c9276f09deb1b3aad5942b257365.JPG" alt="Obrazek" /></a><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/561311f206d95e72948d70f61ccd4fd9.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/561311f206d95e72948d70f61ccd4fd9.JPG" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/7347/ed17cfa97406e0682f3befccfa339fac.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/ed17cfa97406e0682f3befccfa339fac.JPG" alt="Obrazek" /></a><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/31c2edec0d6ccd46e39b085975c3dffb.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/31c2edec0d6ccd46e39b085975c3dffb.JPG" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/7347/7f0bfc5ac06f8b5a5de3be0a952848a5.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/7f0bfc5ac06f8b5a5de3be0a952848a5.JPG" alt="Obrazek" /></a><br /><br />Na estetykę nie zwracajcie uwagi na razie projekt testowy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Kod wrzucę jutro.<br /><br />Witam w części 2.<br />W tej zajmiemy się sterowaniem przekaźników przez pilota.<br />Używam odbiornika tsop2236 36khz.<br /><br />Wyprowadziłem sobie kable do przekaźników od puszki.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/0b46f025a68a7aba047f707127a0c569.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/0b46f025a68a7aba047f707127a0c569.JPG" alt="Obrazek" /></a><br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/7efe772e997267130b350ef90d2595a2.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/7efe772e997267130b350ef90d2595a2.JPG" alt="Obrazek" /></a><br /><br />Wykorzystałem do sterowania mojego oświetlenia sufitowego 4 przyciski.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/c255dcb958306320f2dbe040c368b00c.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/c255dcb958306320f2dbe040c368b00c.JPG" alt="Obrazek" /></a><br />Do sterowania użyłem pilota samsung od DVD.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/2266324ec0a60338da6a21d20ad3fbe7.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/2266324ec0a60338da6a21d20ad3fbe7.JPG" alt="Obrazek" /></a><br /><br />Przekaźniki jakie używam to moduł do arduino 2 Realy module.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/1e0199874ae806c99bde5ef2eb23dc90.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/1e0199874ae806c99bde5ef2eb23dc90.JPG" alt="Obrazek" /></a><br /><br /><br />Schemat<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/2ed02603aa50e6cba39cf4462ad1285a.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/2ed02603aa50e6cba39cf4462ad1285a.jpg" alt="Obrazek" /></a><br /><br />Kod <br />[syntax=cpp]/* Inteligentny pokój cz2*//<br />#include &quot;DHT.h&quot; <br /><br />#include &lt;OneWire.h&gt;<br /><br />#include &lt;DS1307RTC.h&gt;<br /><br />#include &lt;Time.h&gt;<br /><br />#include &lt;Wire.h&gt;<br /><br />#include &lt;LiquidCrystal_I2C.h&gt;<br /><br />#define BACKLIGHT_PIN 3<br /><br />LiquidCrystal_I2Clcd(0x27,2,1,0,4,5,6,7);<br /><br />#define DHTPIN 10         <br /> <br />DHT dht;                 <br /><br />OneWire  ds(9); <br /> <br />#include &lt;IRremote.h&gt;<br /><br />int RECV_PIN = 12;<br /><br />IRrecv irrecv(RECV_PIN);<br /><br />decode_results results;<br /><br />boolean stan=0;<br /><br />int moc;<br /><br /><br />const char *monthName&#91;12&#93; = {<br />  &quot;Sty&quot;, &quot;Lut&quot;, &quot;Mar&quot;, &quot;Kwi&quot;, &quot;Maj&quot;, &quot;Cze&quot;,<br />  &quot;Lip&quot;, &quot;Sie&quot;, &quot;Wrz&quot;, &quot;Paz&quot;, &quot;Lis&quot;, &quot;Gru&quot;<br />};<br /><br />const char *dayName&#91;7&#93; = {<br />&quot;SOB&quot;, &quot;NIE&quot;, &quot;PON&quot;, &quot;WTO&quot;,&quot;SRO&quot;, &quot;CZW&quot;, &quot;PIO&quot;  };<br />  <br />byte nc1&#91;8&#93; = {<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111<br /><br />};<br /><br />byte nc2&#91;8&#93; = {<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B00000,<br />B00000,<br />B00000,<br />B00000<br /><br />};<br /><br />byte nc3&#91;8&#93; = {<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B11111,<br />B11111,<br />B11111,<br />B11111<br /><br />};<br />byte nc4&#91;8&#93; = {<br />B00000,<br />B00000,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B00000,<br />B00000,<br /><br />};<br />byte nc5&#91;8&#93; = {<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B00000<br /><br />};<br />byte nc6&#91;8&#93; = {<br />B00000,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B00000<br /><br />};<br /><br />byte nc7&#91;8&#93; = {<br />B00000,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111,<br />B11111<br /><br />};<br /><br />byte nc8&#91;8&#93; = {<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B00000,<br />B00000<br /><br />};<br /><br />int bigfont(int number, int pos){ <br /><br />if (number &lt; 10){<br />  <br />  int n&#91;10&#93;&#91;3&#93;&#91;3&#93;={<br />{{1,2,1},{1,8,1},{1,3,1}},<br />{{8,6,1},{8,8,1},{8,8,1}},<br />{{5,2,1},{3,4,2},{1,3,3}},<br />{{5,2,5},{8,4,1},{7,3,7}},<br />{{1,8,1},{5,5,1},{8,8,1}},<br />{{1,2,2},{5,6,7},{3,3,1}},<br />{{1,2,5},{1,4,3},{1,3,1}},<br />{{5,5,1},{8,8,1},{8,8,1}},<br />{{7,2,7},{1,4,1},{5,3,5}},<br />{{1,2,1},{2,4,1},{7,3,1}}<br /><br />                <br /><br />  };<br /><br />  lcd.setCursor(pos,1);<br />  lcd.write(n&#91;number&#93;&#91;0&#93;&#91;0&#93;);<br />  lcd.setCursor(pos,2);<br />  lcd.write(n&#91;number&#93;&#91;1&#93;&#91;0&#93;);<br />  lcd.setCursor(pos,3);<br />  lcd.write(n&#91;number&#93;&#91;2&#93;&#91;0&#93;);<br />  lcd.setCursor(pos+1,1);<br />  lcd.write(n&#91;number&#93;&#91;0&#93;&#91;1&#93;);<br />  lcd.setCursor(pos+1,2);<br />  lcd.write(n&#91;number&#93;&#91;1&#93;&#91;1&#93;);<br />  lcd.setCursor(pos+1,3);<br />  lcd.write(n&#91;number&#93;&#91;2&#93;&#91;1&#93;);<br />  lcd.setCursor(pos+2,1);<br />  lcd.write(n&#91;number&#93;&#91;0&#93;&#91;2&#93;);<br />  lcd.setCursor(pos+2,2);<br />  lcd.write(n&#91;number&#93;&#91;1&#93;&#91;2&#93;);<br />  lcd.setCursor(pos+2,3);<br />  lcd.write(n&#91;number&#93;&#91;2&#93;&#91;2&#93;);<br />  <br />}else{<br />  <br />  if(number == 10){<br />  lcd.setCursor(pos,1);<br />  lcd.write(3);<br />  lcd.setCursor(pos,3);<br />  lcd.write(2);<br />}; <br />  if(number == 11){<br />  lcd.setCursor(pos,1);<br />  lcd.write(8);<br />  lcd.setCursor(pos,3);<br />  lcd.write(8);<br />  };<br />};<br />}<br /><br />void setup() {<br /> Serial.begin(9600);<br />  dht.setup(DHTPIN);<br />  pinMode(8, OUTPUT);<br />  pinMode(7, OUTPUT);<br />  irrecv.enableIRIn(); <br />    <br />  <br />   lcd.begin(20, 4);<br />   lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);<br />   lcd.setBacklight(HIGH);<br />       lcd.print(&quot;-------WITAJ--------&quot;);<br />    lcd.setCursor(0, 1);<br />    lcd.print(&quot;Przygotowywuje sie &quot;);<br />     lcd.setCursor(0, 2);<br />    lcd.print(&quot;Do pracy &quot;);<br />    lcd.setCursor(0, 3);<br />    lcd.print(&quot;=======MICHALE======&quot;);<br />    <br />lcd.home ();<br /><br /><br /><br />   <br />   lcd.createChar(1, nc1);<br />   lcd.createChar(2, nc2);<br />   lcd.createChar(3, nc3);<br />   lcd.createChar(4, nc4);<br />   lcd.createChar(5, nc5);<br />   lcd.createChar(6, nc6);<br />   lcd.createChar(7, nc7);<br />   lcd.createChar(8, nc8);<br />}<br /><br />void loop() {<br />  <br />    remote();<br />  <br />  <br />   byte i;<br />  byte present = 0;<br />  byte type_s;<br />  byte data&#91;12&#93;;<br />  byte addr&#91;8&#93;;<br />  float celsius, fahrenheit;<br />  <br />  if ( !ds.search(addr)) { <br />  }<br />  for( i = 0; i &lt; 8; i++) {<br />  }<br /><br />  if (OneWire::crc8(addr, 7) != addr&#91;7&#93;) {<br />      <br />      return;<br />  }<br />  Serial.println();<br /> <br />  switch (addr&#91;0&#93;) {<br />    case 0x10:<br />      <br />      type_s = 1;<br />      break;<br />    case 0x28:<br />     <br />      type_s = 0;<br />      break;<br />    case 0x22:<br />      <br />      type_s = 0;<br />      break;<br />    default:<br />      <br />      return;<br />  } <br /><br />  ds.reset();<br />  ds.select(addr);<br />  ds.write(0x44, 1);        <br />  <br />  delay(1000);     <br />  <br />  present = ds.reset();<br />  ds.select(addr);    <br />  ds.write(0xBE);         <br />  <br />  for ( i = 0; i &lt; 9; i++) {           <br />    data&#91;i&#93; = ds.read();<br />    <br />  }<br />  int16_t raw = (data&#91;1&#93; &lt;&lt; 8) | data&#91;0&#93;;<br />  if (type_s) {<br />    raw = raw &lt;&lt; 3; <br />    if (data&#91;7&#93; == 0x10) {<br />      raw = (raw &amp; 0xFFF0) + 12 - data&#91;6&#93;;<br />    }<br />  } else {<br />    byte cfg = (data&#91;4&#93; &amp; 0x60);<br />    if (cfg == 0x00) raw = raw &amp; ~7;  <br />    else if (cfg == 0x20) raw = raw &amp; ~3; <br />    else if (cfg == 0x40) raw = raw &amp; ~1; <br />  }<br />  celsius = (float)raw / 16.0;<br />  fahrenheit = celsius * 1.8 + 32.0;<br />  lcd.print(&quot;&quot;);<br />  lcd.setCursor(0, 0);<br />  lcd.print(celsius);<br />  lcd.setCursor(0, 1);<br />    lcd.print(&quot;Temperatura&quot;);<br />    lcd.setCursor(0, 2);<br />    lcd.print(&quot;W Pokoju&quot;);<br />delay(1000);<br />delay(1000);<br />delay(1000);<br />lcd.clear();<br />  <br />  <br />  delay(dht.getMinimumSamplingPeriod());<br /> <br />  float t = dht.getTemperature();<br />  float h = dht.getHumidity();<br /> <br />  <br />  if (dht.getStatus())<br />  {<br />   <br />    <br />  } <br />    <br />    lcd.setCursor(0, 0);<br />    lcd.print(&quot;Wilgotnosc: &quot;);<br />    lcd.print(h);<br />    lcd.print(&quot; % &quot;);<br />    lcd.setCursor(1, 1);<br />    lcd.print(&quot;Temperatura: &quot;);<br />    lcd.print(t);<br />    lcd.print(&quot; C  &quot;);<br />     lcd.setCursor(0, 2);<br />    lcd.print(&quot;Na dworzu &quot;);<br />    delay(1000);<br />delay(1000);<br />delay(1000);<br />lcd.clear();<br />  <br />  <br />  tmElements_t tm;<br /><br />  if (RTC.read(tm)) {<br />    <br />  int br_hour = tm.Hour;<br />  int br_minute = tm.Minute;<br />  int array_h&#91;2&#93;;<br />  int array_m&#91;2&#93;;<br />  <br />  for (int i = 1;i&gt;=0;i--){<br />    array_h&#91;i&#93; = br_hour % 10;<br />    br_hour = br_hour /= 10;<br />  }<br />  <br />   for (int ii = 1;ii&gt;=0;ii--){<br />    array_m&#91;ii&#93; = br_minute % 10;<br />    br_minute = br_minute /= 10;<br />  }<br /><br />  if(tm.Hour &lt; 10){<br />  <br />    bigfont(0,0);<br />    bigfont(array_h&#91;1&#93;,4);<br />  <br />  } else {<br />  <br />   bigfont(array_h&#91;0&#93;,0);<br />   bigfont(array_h&#91;1&#93;,4);<br />  <br />  }<br />  <br />  bigfont(10, 8);<br />  <br />  if(tm.Minute &lt; 10){<br />  <br />    bigfont(0,10);<br />    bigfont(array_m&#91;1&#93;,14);<br />  <br />  } else {<br />  <br />   bigfont(array_m&#91;0&#93;,10);<br />   bigfont(array_m&#91;1&#93;,14);<br />  <br />  }<br />    lcd.setCursor(18,3);<br />    LCDprint2digits(tm.Second);<br />    lcd.setCursor (0, 0);<br />    lcd.print(tm.Day);<br />    lcd.print('/');<br />    LCDm2d(tm.Month);<br />    lcd.print('/');<br />    lcd.print(tm.Year-30);<br />    lcd.print(&quot; &quot;);<br />    lcd.print(dayName&#91;tm.Wday&#93;);<br />    <br />  if(tm.Wday==0){<br />    lcd.setCursor(18, 1);lcd.print(&quot;:D&quot;);<br />  };<br />  if(tm.Wday==1){<br />    lcd.setCursor(18, 1);lcd.print(&quot;:)&quot;);<br />  };<br />  if(tm.Wday==6){<br />    lcd.setCursor(18, 1);lcd.print(&quot;:D&quot;);<br />  };<br />  if(tm.Wday==5){<br />    lcd.setCursor(18, 1);lcd.print(&quot;:)&quot;);<br />  };<br />  <br />  } else {<br />    if (RTC.chipPresent()) {<br />      lcd.println(&quot;DS1307 Wgraj biblioteke set time&quot;);<br />      } <br />       else {<br />      lcd.println(&quot;DS1307 blad &quot;);<br />      lcd.println(&quot;podlacz ponownie&quot;);<br />    }<br />    delay(9000);<br />  }<br />  <br />  delay(900);<br />  bigfont(11, 8);<br />  delay(100);<br />  delay(1000);<br />delay(1000);<br />delay(1000);<br />lcd.clear();<br /><br /><br /> <br /><br />}<br /><br />//void print2digits(int number) {<br />//  if (number &gt;= 0 &amp;&amp; number &lt; 10) {<br />//    Serial.write('0');<br />//  }<br />//  Serial.print(number);<br />//}<br />  <br />void LCDprint2digits(int number) {<br />  if (number &gt;= 0 &amp;&amp; number &lt; 10) {<br />    lcd.write('0');<br />  }<br />  lcd.print(number);  <br />}<br /><br /> void LCDm2d(int month_with0){<br />if(month_with0 &gt; 0 &amp;&amp; month_with0 &lt; 10){<br />  lcd.write('0');}<br />  lcd.print(month_with0);<br />  }<br /><br />void remote(){<br />  if (irrecv.decode(&amp;results)) {<br />    Serial.println(results.value, DEC);<br />    irrecv.resume(); <br />        <br />        switch (results.value) {<br />     case 0x6604CFFA:<br />         <br />            analogWrite(7, 255);<br />            break;<br />          case 0x6604CFC6:<br />          <br />            analogWrite(7, 0);<br />         <br />           break;  <br />          <br />           case 0x6604CFE6:<br />       <br />            analogWrite(8, 255);<br />            break;<br />          case 0x6604CFD6:<br />           <br />            analogWrite(8, 0);<br />            break;   <br />             <br />        }<br />   <br />    <br />  delay(10);<br />  }<br />}[/syntax]<br /><br />Odbiornik umieściłem z przodu żeby działał z każdej strony.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/c7b6e374b251eed4f8f86c9d04b208d8.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/c7b6e374b251eed4f8f86c9d04b208d8.JPG" alt="Obrazek" /></a><br /><br />Przekaźniki załączą się dopiero po przeminięciu całej pętli (7 sekund).<br />Przyciski wykorzystam także do zapalania światła w pokoju i gaszenia gdy siedzę przy komputerze.<br />Kupiłem przewód 3x1,5 do przekaźników.<br /><br />Docelowo przekaźniki będą zamocowane w korytku pod włącznikiem.<br />Zostawię włącznik dla innych domowników.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/7347/550989d4e1afb249595a382c60c642a3.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/550989d4e1afb249595a382c60c642a3.JPG" alt="Obrazek" /></a><br /><br /><br />Dziękuję użytkownikowi Ds3<br />za program do zrobienia frontu.<br /><br /><br />Zawiesiłem swój system na ścianie.<br /><a href="http://forum.atnel.pl/_obrazki/o/7347/baacabbb42daf6079f9c5a85552c8cf5.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/7347/baacabbb42daf6079f9c5a85552c8cf5.JPG" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7347">kepes12</a> — 5 mar 2015, o 21:21</p><hr />
]]></content>
</entry>
</feed>