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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-05-21T16:11:03+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23139&amp;mode</id>
<entry>
<author><name><![CDATA[ahmed10]]></name></author>
<updated>2020-05-21T16:11:03+01:00</updated>
<published>2020-05-21T16:11:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227439#p227439</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227439#p227439"/>
<title type="html"><![CDATA[Re: problem z komunikacją z czujnikiem koloru TCS34725]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227439#p227439"><![CDATA[
Problem rozwiązany i w sumie nie do końca wiem w jaki sposób <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />Po pierwsze to zauważyłem że adresacja rejestrów nie idzie po kolei jak do tej pory myślałem natomiast dlaczego teraz odczytuję poprawne wartości z rejestrów koloru to ja nie wiem. układ był odłączony od prądu przez noc i może się namyślał ? <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> kto wie...<br />Temat do zamknięcia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4681">ahmed10</a> — 21 maja 2020, o 16:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ahmed10]]></name></author>
<updated>2020-05-20T12:53:11+01:00</updated>
<published>2020-05-20T12:53:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227394#p227394</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227394#p227394"/>
<title type="html"><![CDATA[Re: problem z komunikacją z czujnikiem koloru TCS34725]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227394#p227394"><![CDATA[
I taka ciekawostka jeszcze... nie wiem totalnie co o tym sądzić bo mam dwa czujniki i reagują dokładnie tak samo a mianowicie po odczycie wszystkich 20 rejestrów z czujnika takie coś dostaję:<br />3<br />0<br />255<br />255<br />0<br />0<br />0<br />0<br />0<br />0<br />0<br />0<br />0<br />0<br />0<br />2<br />0<br />1<br />68<br />17<br /><br /><br />3 - wartość pierwszego rejestru z ustawionym 0 i 1 bitem czyli ok bo powinny być ustawione.<br />0 - mam wątpliwości czy aby na pewno to jest poprawna wartość w tym miejscu<br />255- wartość domyślna czyli ok<br />255- wartość domyślna czyli ok<br />Później te zera to ja nie wiem skąd się wzięły... :/<br />i na końcu jeszcze rozpoznaję liczbę<br />68 - to jest ID czujnika ale dlaczego znajduje się aż na przedostatnim miejscu ??<br /><br />Całość odczytuję funkcją do odczytu do bufora Pana Mirka, tylko lekko zmodyfikowaną na potrzeby układu.<br />[syntax=c]void TWI_read_buf(uint8_t SLA, uint8_t adr, uint8_t len, uint8_t *buf) {<br /><br />TWI_start();<br />TWI_write(SLA);<br />//TWI_write(TCS34725_COMMAND_BIT |adr);<br />TWI_write(TCS34725_COMMAND_BIT |adr|(1&lt;&lt;5));<br />TWI_start();<br />TWI_write(SLA + 1);<br />while (len--) *buf++ = TWI_read( len ? ACK : NACK );<br />TWI_stop();<br />}[/syntax]<br /><br />Również ciekawe jest to, że nie ma różnicy czy wysyłam bajt w taki sposób jak zakomentowany czy w taki sposób jak by sugerowała nota aplikacyjna do odczytu sekwencyjnego.<br />Połączenia sprawdzone 100x i są poprawne, filtracja napięcia również.<br />Ktoś ma jakieś pomysły ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4681">ahmed10</a> — 20 maja 2020, o 12:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ahmed10]]></name></author>
<updated>2020-05-20T08:53:35+01:00</updated>
<published>2020-05-20T08:53:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227390#p227390</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227390#p227390"/>
<title type="html"><![CDATA[Re: problem z komunikacją z czujnikiem koloru TCS34725]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227390#p227390"><![CDATA[
Rozwiązany jeden problem, a pojawił się drugi.<br />Nie wiedzieć dlaczego mam problem z odczytem wartości poszczególnych kolorów. <br />Problem występuje tylko w przypadku odczytu wartości z rejestrów górnych tzn:<br />[syntax=c]temp=read8(TCS34725_GDATAH);<br />uart_putint(temp,10);<br />uart_putc('\n');[/syntax]<br />W tym przypadku wyświetla mi się w konsoli non stop jedna i ta sama wartość np 168 albo 80<br />Natomiast jeśli dam tak:<br />[syntax=c]temp=read8(TCS34725_GDATAL);<br />uart_putint(temp,10);<br />uart_putc('\n');[/syntax]<br />to wyniki są adekwatne i liniowe. To tak jakby ADC było tylko 8-mio bitowe.<br />Przeglądnąłem całą note katalogową i nie znalazłem satysfakcjonujących informacji.<br />Co dziwne przerabiam kod biblioteki .cpp od adafruit i w gruncie rzeczy nie zmieniałem nic istotnego.<br /><br />[syntax=c]uint8_t read8(uint8_t reg) <br />{<br /> uint8_t temp;<br /><br />  TWI_start();<br />  TWI_write(_i2caddr); //device adress <br />  TWI_write(TCS34725_COMMAND_BIT | reg);<br />  TWI_start();<br />  TWI_write(_i2caddr+1); //device adress +read<br />  temp=TWI_read(ACK);<br />  TWI_stop();<br />  return temp;<br />}[/syntax]<br />Wcześniej oczywiście użyta jest funkcja:<br />[syntax=c]void enable()<br />{<br />  write8(TCS34725_ENABLE, TCS34725_ENABLE_PON);<br />  _delay_ms(3);<br />  write8(TCS34725_ENABLE, TCS34725_ENABLE_PON | TCS34725_ENABLE_AEN);<br />  /* Set a delay for the integration time.<br />    This is only necessary in the case where enabling and then<br />    immediately trying to read values back. This is because setting<br />    AEN triggers an automatic integration, so if a read RGBC is<br />    performed too quickly, the data is not yet valid and all 0's are<br />    returned */<br />  switch (_tcs34725IntegrationTime) {<br />  case TCS34725_INTEGRATIONTIME_2_4MS:<br />     _delay_ms(3);<br />    break;<br />  case TCS34725_INTEGRATIONTIME_24MS:<br />     _delay_ms(24);<br />    break;<br />  case TCS34725_INTEGRATIONTIME_50MS:<br />     _delay_ms(50);<br />    break;<br />  case TCS34725_INTEGRATIONTIME_101MS:<br />     _delay_ms(101);<br />    break;<br />  case TCS34725_INTEGRATIONTIME_154MS:<br />     _delay_ms(154);<br />    break;<br />  case TCS34725_INTEGRATIONTIME_700MS:<br />     _delay_ms(700);<br />    break;<br />  }<br />}[/syntax]<br /><br />Wartość rejestru odczytywana w pętli co 300ms. Czas integracji ustawiony na 2,4ms<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4681">ahmed10</a> — 20 maja 2020, o 08:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ahmed10]]></name></author>
<updated>2020-05-19T16:28:44+01:00</updated>
<published>2020-05-19T16:28:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227368#p227368</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227368#p227368"/>
<title type="html"><![CDATA[Re: problem z komunikacją z czujnikiem koloru TCS34725]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227368#p227368"><![CDATA[
Działa, dziękuję bardzo !:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4681">ahmed10</a> — 19 maja 2020, o 16:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fofex]]></name></author>
<updated>2020-05-18T23:24:22+01:00</updated>
<published>2020-05-18T23:24:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227352#p227352</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227352#p227352"/>
<title type="html"><![CDATA[Re: problem z komunikacją z czujnikiem koloru TCS34725]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227352#p227352"><![CDATA[
<div class="quotetitle">ahmed10 napisał(a):</div><div class="quotecontent"><br />#define TCS34725_ADDRESS (0x29)<br /></div><br /><br />[syntax=c]#define TCS34725_ADDRESS (0x29&lt;&lt;1)[/syntax]<br /><br />albo<br /><br />[syntax=c]#define TCS34725_ADDRESS (0x29)<br />...<br />TWI_write(TCS34725_ADDRESS&lt;&lt;1); //device adress<br />...<br />TWI_write(TCS34725_ADDRESS&lt;&lt;1|1); //device adress + read<br />...<br />TWI_write((TCS34725_ADDRESS&lt;&lt;1)+1); //device adress + read[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21072">fofex</a> — 18 maja 2020, o 23:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ahmed10]]></name></author>
<updated>2020-05-18T20:25:07+01:00</updated>
<published>2020-05-18T20:25:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227337#p227337</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227337#p227337"/>
<title type="html"><![CDATA[problem z komunikacją z czujnikiem koloru TCS34725]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23139&amp;p=227337#p227337"><![CDATA[
Witam!<br />Walczę z problemem od ładnych paru godzin.<br />Nie mogę odczytać wartości ID czujnika. W ogóle jest problem z komunikacją.<br />[syntax=c]TWI_start();<br /> TWI_write(TCS34725_ADDRESS); //device adress<br /> TWI_write(TCS34725_COMMAND_BIT | TCS34725_ID);<br /> TWI_start();<br /> TWI_write(TCS34725_ADDRESS+1); //device adress + read<br /> temp=TWI_read(ACK);<br /> TWI_stop();[/syntax]<br /><br />W taki sposób staram się odczytać do zmiennej temp wartość tego rejestru. Niestety ciągle jest 0.<br />Przed uruchomieniem komunikacji linia SCL ma 5V natomiast po uruchomieniu spada do 0V i tak już zostaje, ale sprawdzałem zwykłym miernikiem.<br />po debugowaniu kodu diodą doszedłem do wniosku że coś nie tak jest w linii <br />[syntax=c]TWI_write(TCS34725_COMMAND_BIT | TCS34725_ID);[/syntax]<br />Procesor atmega 8A (16Mhz) po tej linijce jest już zawieszony i nic nie da się zrobić.<br />I2C na 400kHz<br /><a href="https://obrazkiforum.atnel.pl/4681/c7612a39ef85d08b950e4a54384cca36.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/4681/c7612a39ef85d08b950e4a54384cca36.png" alt="Obrazek" /></a><br />Komunikacja wg bibliotek Pana Mirka.<br />[syntax=c]#define ACK 0<br />#define NACK 1<br />#define TCS34725_ADDRESS (0x29)     <br />#define TCS34725_COMMAND_BIT (0x80)<br />#define TCS34725_ID (0x12)[/syntax]<br />Co robię nie tak ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4681">ahmed10</a> — 18 maja 2020, o 20:25</p><hr />
]]></content>
</entry>
</feed>