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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=13097&amp;mode</id>
<entry>
<author><name><![CDATA[jnk0le]]></name></author>
<updated>2015-10-01T20:30:49+01:00</updated>
<published>2015-10-01T20:30:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141194#p141194</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141194#p141194"/>
<title type="html"><![CDATA[Re: Restart komunikacji I2c]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141194#p141194"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />I2C to nie jest magistrala która się zrywa co chwilę - jest to magistrala w obrębie tego samego PCB więc po co w ogóle takie testy z rozłączaniem i podłączaniem. Coś czuję, że ty nie wiesz do końca do czego jest I2C i pewnie próbujesz ją wykorzystać jak np magistralę RS232 do np łączenia sobie różnych urządzeń.<br /></div><br /><!-- m --><a class="postlink" href="https://en.wikipedia.org/wiki/System_Management_Bus" >https://en.wikipedia.org/wiki/System_Management_Bus</a><!-- m --><br /><br />Oczywiście wymaga to sensownej implementacji timeoutów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8491">jnk0le</a> — 1 paź 2015, o 20:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-10-01T17:53:00+01:00</updated>
<published>2015-10-01T17:53:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141183#p141183</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141183#p141183"/>
<title type="html"><![CDATA[Re: Restart komunikacji I2c]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141183#p141183"><![CDATA[
Wszystko trzeba robić z głową , w tym używanie arduino bez &quot;rozbudowywania pająków&quot;  od tego są shieldy i możliwość wykonania własnych <br />choćby na kawałku płytki uniwersalnej (takiej dziurkowanej)  używanie modułów wykonawczych -- na UART , RS232 ,WIFI , BT, RS485<br />możliwości jest wiele ....  <br /><br />Oczywiście PCF jest OK ale nie na długim dystansie ...<br />Łatwiej wykonać moduł sterujący i np Kilka układów wykonawczych z medium transmisyjnym (w/w) <br />to wiele załatwia , i chroni włosy na głowie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  <br /><br />Podział układu na moduły ... też nie jest niczym złym jak się to robi dobrze , bo nie wszystko co na jednej płytce się <br />mieści jest dobre.. <br /><br />Warunek jest 1 ....  Nie kilogramy kabli, a dedykowane złącza <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />i wtedy wszystko będzie działać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  <br /><br />na dystansie 0,5m  zamiast kombinowac z Timeoutami wystarczy zmniejszyć prędkość transmisji  <br />ale ... to nie do końca jest dobre rozwiązanie ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 1 paź 2015, o 17:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-10-01T14:38:00+01:00</updated>
<published>2015-10-01T14:38:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141172#p141172</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141172#p141172"/>
<title type="html"><![CDATA[Re: Restart komunikacji I2c]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141172#p141172"><![CDATA[
<div class="quotetitle">jakubsan napisał(a):</div><div class="quotecontent"><br />Mam nadzieję że ma to szansę działać.?<br /></div><br />50cm ? ... ja bm od razu myślał albo o RS485 albo RS232 albo jeszcze czymś innym a nie I2C<br /><br /><div class="quotetitle">jakubsan napisał(a):</div><div class="quotecontent"><br />Mam nadzieję że ma to szansę działać.?<br /></div><br />Ma szansę tak właśnie jak to widzisz i nawet jak rozwiążesz to przerobieniem biblioteki z Timeoutami czyli zwłokami czasowymi - to powiem ci, że ja osobiście wstydziłbym nawet sobie zbudować takie urządzenie, które co chwilę (tzn co bliżej nieokreślony czas - ma takie czkawki) .... Podczas gdy elektronika i dotychczasowe rozwiązania dają możliwości zrobienia tego tak jak się należy i nie będzie żadnych zaciachów .... wspominam wyżej np RS485<br /><br />Takim podstawowym i MEGA problemem tych co to tworzą często projekty na arduino ale tfuu nie tylko na arduino - na innych zestawach uruchomieniowych także -  jest to, że (wybacz, że to mówię ale chyba przyznasz że taka jest prawda) .... że zamiast traktować arduino jako narzędzie do tworzenia prototypu to .... na końcu próbują wrzucać to do skrzynki do której napakują kupę dodatków, kupę kabli i zamkną - nazywając to gotowym skończonym projektem. Który owszem czasem zadziała np do filmiku na Youtube żeby pokazać jak działa prototyp ... ale później sami - wcześniej czy później i tak idą po rozum do głowy, że nie tędy droga. Że trzeba się jednak wziąć za zaprojektowanie własnej płytki PCB i zrobić wszystko jak się należy - a nie rozbudowywać w nieskończoność pająki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 1 paź 2015, o 14:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jakubsan]]></name></author>
<updated>2015-10-01T14:29:34+01:00</updated>
<published>2015-10-01T14:29:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141171#p141171</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141171#p141171"/>
<title type="html"><![CDATA[Re: Restart komunikacji I2c]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141171#p141171"><![CDATA[
Mirku masz trochę racji <br />Używając takich płytek z  układami PCF8574:<br /><!-- m --><a class="postlink" href="http://www.horter.de/shop/index.html" >http://www.horter.de/shop/index.html</a><!-- m --><br />próbuję rozbudować sobie arduino mega do obsługi inteligentnego domu- zabrakło mi wejść.<br /><br />Te płytki zabudowuję na szynie zaraz obok arduino.<br />Nie jest to ta sama płytka ale przewody łączące to max 0,5m.<br />Mam nadzieję  że ma to szansę działać.?<br />Bo właściwie to działa tylko muszę jakoś obsłużyć takie ewentualne zerwanie komunikacji bo w tej chwili arduino się wiesza przy takiej sytuacji.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9905">jakubsan</a> — 1 paź 2015, o 14:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-10-01T12:20:08+01:00</updated>
<published>2015-10-01T12:20:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141162#p141162</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141162#p141162"/>
<title type="html"><![CDATA[Re: Restart komunikacji I2c]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141162#p141162"><![CDATA[
<div class="quotetitle">jakubsan napisał(a):</div><div class="quotecontent"><br />Używam biblioteki PCF8574.h<br /></div><br />Napisać własną bibliotekę ew poprawić tę którą używasz. Najczęściej tak się robi, żeby procek się zatrzymał gdy się zerwie I2C ... co w tym dziwnego ? Po co działać gdy nie ma komunikacji ? <br /><br />I2C to nie jest magistrala która się zrywa co chwilę - jest to magistrala w obrębie tego samego PCB więc po co w ogóle takie testy z rozłączaniem i podłączaniem. Coś czuję, że ty nie wiesz do końca do czego jest I2C i pewnie próbujesz ją wykorzystać jak np magistralę RS232 do np łączenia sobie różnych urządzeń.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 1 paź 2015, o 12:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jakubsan]]></name></author>
<updated>2015-10-01T11:53:13+01:00</updated>
<published>2015-10-01T11:53:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141161#p141161</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141161#p141161"/>
<title type="html"><![CDATA[Restart komunikacji I2c]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13097&amp;p=141161#p141161"><![CDATA[
Witam<br /><br />Jako że inne fora wymiękły to zwracam się do was koledzy specjaliści.<br /><br /><br />Chciałbym prosić kolegów o pomoc, mianowicie: <br />Testuję układ PCF8574 podłączony do Arduino Mega (klon) czyli komunikacja po I2c<br /><br />Układ PCF pracuje jako wejścia <br />Używam biblioteki PCF8574.h<br />wersja:<br /><!-- m --><a class="postlink" href="https://github.com/skywodd/pcf8574_arduino_library" >https://github.com/skywodd/pcf8574_arduino_library</a><!-- m --><br /><br /><br />Zrobiłem test - chwilowe zerwanie komunikacji przez odłączenie linii SDA lub SCL i ponowne podłączenie.<br />Po takim teście komunikacja nie powraca. <br /><br /><br />Jak napisać kod aby komunikacja powróciła, <br />aby odłączanie podłączanie nie robiło problemu. <br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent"><br />#include &lt;Wire.h&gt; <br />#include &lt;PCF8574.h&gt;<br /><br />PCF8574 expander1;<br />PCF8574 expander2;<br /><br />// the setup routine runs once when you press reset:<br />void setup() <br />{<br />  // initialize the digital pin as an output.<br />  <br />  expander1.begin(0x38);<br />  expander2.begin(0x39);<br />  <br />  for (int x=0; x &lt;= 7; x++)<br />    {<br />      int b = 30+x;<br />      <br />      expander1.pinMode(x, INPUT);<br />      expander1.digitalWrite(x, HIGH);<br />      <br />      expander2.pinMode(x, INPUT);<br />      expander2.digitalWrite(x, HIGH);<br />      <br />      pinMode(b, OUTPUT);<br />    }<br />}<br /><br />// the loop routine runs over and over again forever:<br />void loop() <br />{<br />  for (int i=0; i &lt;= 7; i++)<br />  {<br />      int P1 = expander1.digitalRead(i);<br />      int P2 = expander2.digitalRead(i);<br />      int a = 30+i;<br />      <br />      if (P1 == 0 || P2 == 0)<br />      {<br />        digitalWrite(a, HIGH);<br />      }<br />  <br />      if (P1 == 1 &amp;&amp; P2 == 1)<br />      {<br />        digitalWrite(a, LOW);<br />      }<br />   } <br />  <br />}<br /></div><br /><br /><br /><span style="color: #FF0000"><strong>&lt;PROSZĘ POPRAWIĆ LISTING ---&gt; <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l -->   --&gt; Inaczej odeślę temat w niebyt --SunRiver</strong></span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9905">jakubsan</a> — 1 paź 2015, o 11:53</p><hr />
]]></content>
</entry>
</feed>