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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-10-16T19:33:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13195&amp;mode</id>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-16T19:33:44+01:00</updated>
<published>2015-10-16T19:33:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142653#p142653</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142653#p142653"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142653#p142653"><![CDATA[
W teorii mógłbym podwójnie całkować przyśpieszenie z trzech osi z akcelerometru ale jak się to ma do praktyki ?<br />Zachęcam do dyskusji ! <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=9619">_damian</a> — 16 paź 2015, o 19:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-10-16T19:15:19+01:00</updated>
<published>2015-10-16T19:15:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142650#p142650</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142650#p142650"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142650#p142650"><![CDATA[
<div class="quotetitle">_damian napisał(a):</div><div class="quotecontent"><br />Na bazie akcelerometru i żyroskopu chciałbym odczytywać trasę po jakiej porusza się mój pojazd.<br /></div><br />hmm....  gyro jak i accel służą do pomiarów innych wartości niż droga ...<br />no ale powodzenia <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> — 16 paź 2015, o 19:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-16T18:16:22+01:00</updated>
<published>2015-10-16T18:16:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142642#p142642</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142642#p142642"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142642#p142642"><![CDATA[
Witam ponownie.<br /><a href="https://www.pololu.com/product/1272"  class="postlink">https://www.pololu.com/product/1272</a><br />Zgodnie z powyższym linkiem w moim układzie zabrakło rezystora 10k do CS oraz SDO. <br /><br />Uruchomiłem żyroskop jednak wskazania przy nieruchomym układzie odbiegają (dość delikatnie mówiąc) od zera. <br />Może ktoś realizował kiedyś podobny projekt więc opisze co chciałbym uzyskać. Na bazie akcelerometru i żyroskopu chciałbym odczytywać trasę po jakiej porusza się mój pojazd. <br />Dlatego tez prośba do Was -  moglibyście podpowiedzieć ... hmm jak to wykonać. NIE CHCE gotowych rozwiązań. Prosiłbym bardziej o opis problemów z jakimi mogę się spotkać i jak je rozwiązać. Taki ogólny opis wiedzy którą powinienem sobie przyswoić.<br /><br />PS<br />Podpunkt 3 z pierwszego postu dalej aktualny <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=9619">_damian</a> — 16 paź 2015, o 18:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-13T21:04:30+01:00</updated>
<published>2015-10-13T21:04:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142347#p142347</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142347#p142347"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142347#p142347"><![CDATA[
Ok. Wywaliłem z main.c <br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#include &quot;uart/uart.h&quot;</div><br />oraz to<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">uart_init(UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU));</div><br />oraz<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">itoa(gxraw, itmp, 10); uart_puts(itmp); uart_putc(' ');<br />itoa(gyraw, itmp, 10); uart_puts(itmp); uart_putc(' ');<br />itoa(gzraw, itmp, 10); uart_puts(itmp); uart_putc(' ');<br />dtostrf(gx, 3, 5, itmp); uart_puts(itmp); uart_putc(' ');<br />dtostrf(gy, 3, 5, itmp); uart_puts(itmp); uart_putc(' ');<br />dtostrf(gz, 3, 5, itmp); uart_puts(itmp); uart_putc(' ');<br />itoa(gtempdiff, itmp, 10); uart_puts(itmp); uart_putc(' ');<br />uart_puts(&quot;\r\n&quot;);<br /></div><br /><br />teraz mian wygląda tak:<br />[syntax=c]/*<br />l3g4200d lib sample<br /><br />copyright (c) Davide Gironi, 2012<br /><br />Released under GPLv3.<br />Please refer to LICENSE file for licensing information.<br />*/<br /><br /><br />#include &lt;stdlib.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;l3g4200d.h&quot;<br /><br /><br />#define SEG_1 (1&lt;&lt;PA3) // SEGMENT 1 (12)<br />#define SEG_2 (1&lt;&lt;PA2) // SEGMENT 2 (9)<br />#define SEG_3 (1&lt;&lt;PA1) // SEGMENT 3 (8)<br />#define SEG_4 (1&lt;&lt;PA0) // SEGMENT 4 (6)<br /><br />#define PORT_SEG PORTA //PORT Z PODLACZONYM ZASILANIEM WYS LED<br />#define PORT_WYS PORTD // PORT DO STEROWANIA SEGMENTAMI<br />#define PIN_PRZYCISK PINB<br />#define miganie _delay_ms(5)<br /><br />#define FCPU 8000000<br /><br /><br />#define GYRO_DOCALIBRATION 0 //enable or disable gyroscope calibration<br />#define gyrocal_getrawdata(gxraw, gyraw, gzraw) l3g4200d_getrawdata(gxraw, gyraw, gzraw); //set the function that return gyroscope raw values<br />#include &quot;gyro_docalibration.h&quot;<br /><br />#define UART_BAUD_RATE 57600<br /><br />//#include &quot;uart/uart.h&quot;<br /><br />int main(void) {<br /><br />DDRA=0XFF;<br />DDRC=0X00;<br />PORTC=0XFF;<br />DDRD=0XFF;<br /><br />uint8_t cyfra_1, cyfra_2, cyfra_3, cyfra_4, na_wyswietlacz(uint8_t);<br />int wynik,suma;<br />    int16_t gxraw = 0;<br />    int16_t gyraw = 0;<br />    int16_t gzraw = 0;<br />    double gx = 0;<br />    double gy = 0;<br />    double gz = 0;<br />    int8_t gtempdiff = 0;<br /><br />char itmp&#91;10&#93;;<br /><br />    //init uart<br />//uart_init(UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU)); // nie uzywam uarta<br /><br />//init interrupt<br />sei();<br /><br />//init l3g4200d<br />l3g4200d_init();<br /><br />#if GYRO_DOCALIBRATION == 1<br />gyrocal_docalibrationclient(uart_putc, uart_getc);<br />#endif<br /><br />for(;;) {<br />l3g4200d_getrawdata(&amp;gxraw, &amp;gyraw, &amp;gzraw);<br />l3g4200d_getdata(&amp;gx, &amp;gy, &amp;gz);<br />gtempdiff = l3g4200d_gettemperaturediff();<br /><br />wynik=gtempdiff;<br /><br />for(int i=0;wynik&gt;=1000*i;i++)<br />cyfra_1=i;<br />for(int i=0;wynik-1000*cyfra_1&gt;=100*i;i++)<br />cyfra_2=i;<br />for(int i=0;wynik-1000*cyfra_1-100*cyfra_2&gt;=10*i;i++)<br />cyfra_3=i;<br />for(int i=0;wynik-1000*cyfra_1-100*cyfra_2-10*cyfra_3&gt;=i;i++)<br />cyfra_4=i;<br /><br /><br /><br />PORT_SEG=SEG_1;<br />PORT_WYS=na_wyswietlacz(cyfra_1);<br />miganie;<br />PORT_SEG=SEG_2;<br />PORT_WYS=na_wyswietlacz(cyfra_2) &amp; 0b11111011;<br />miganie;<br />PORT_SEG=SEG_3;<br />PORT_WYS=(na_wyswietlacz(cyfra_3));<br />miganie;<br />PORT_SEG=SEG_4;<br />PORT_WYS=na_wyswietlacz(cyfra_4);<br />miganie;<br />/*<br />itoa(gxraw, itmp, 10); uart_puts(itmp); uart_putc(' ');<br />itoa(gyraw, itmp, 10); uart_puts(itmp); uart_putc(' ');<br />itoa(gzraw, itmp, 10); uart_puts(itmp); uart_putc(' ');<br />dtostrf(gx, 3, 5, itmp); uart_puts(itmp); uart_putc(' ');<br />dtostrf(gy, 3, 5, itmp); uart_puts(itmp); uart_putc(' ');<br />dtostrf(gz, 3, 5, itmp); uart_puts(itmp); uart_putc(' ');<br />itoa(gtempdiff, itmp, 10); uart_puts(itmp); uart_putc(' ');<br />uart_puts(&quot;\r\n&quot;);<br />*/<br />_delay_ms(500);<br />}<br /><br />}<br /><br /><br />uint8_t na_wyswietlacz(uint8_t zmienna) //definicje liczb do wyswietlania na wysw.<br />{<br />if (zmienna==1)<br />return 0B01111101;    <br />else if (zmienna==2)  // 7 10 11 1 2 3 4 5<br />return 0B01000110;<br />else if (zmienna==3)<br />return 0B01010100;<br />else if (zmienna==4)<br />return 0B00111100;<br />else if (zmienna==5)<br />return 0b10010100;<br />else if (zmienna==6)<br />return 0B10000100;<br />else if (zmienna==7)<br />return 0B01011101;<br />else if (zmienna==8)<br />return 0B00000100;<br />else if (zmienna==9)<br />return 0b00010100;<br />else if (zmienna==0)<br />return 0b00000101;<br />else if (zmienna==15)<br />return 0b00000000;<br />else<br />return 0b11111110;<br />}[/syntax]<br /><br />no i dodałem te swoje wyświetlanie na wyświetlaczu siedmiosegmentowym.<br /><br />Czy tak jest ok ? Reszta bez zmian<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 13 paź 2015, o 21:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-10-13T20:06:31+01:00</updated>
<published>2015-10-13T20:06:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142335#p142335</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142335#p142335"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142335#p142335"><![CDATA[
<div class="quotetitle">_damian napisał(a):</div><div class="quotecontent"><br />ale chyba jeszcze trochę pracy przede mną.<br /></div><br /><br />oj sporo , trzeba sobie szybko przyswajać ogromne ilosci wiedzy i danych , a i tak się jest zawsze do tyłu <br />ale im więcej się kolega nauczy tym lepsze programy powstaną <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Koncepcja podziału jest banalna , <br />przede wszystkim main nie jest przerośnięty , kod jest czytelniejszy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />a uart to banalne zagadnienie najprostsza transmisja danych <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> — 13 paź 2015, o 20:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-13T19:55:06+01:00</updated>
<published>2015-10-13T19:55:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142332#p142332</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142332#p142332"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142332#p142332"><![CDATA[
kodu od SunRiver jeszcze nie wgrywałem. Analizuje go od wczoraj i staram przerobić (nie rozumiem koncepcji podziału programu na pliki, nie znam się na uart), ale chyba jeszcze trochę pracy przede mną.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 13 paź 2015, o 19:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[git79]]></name></author>
<updated>2015-10-13T19:20:19+01:00</updated>
<published>2015-10-13T19:20:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142328#p142328</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142328#p142328"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142328#p142328"><![CDATA[
na SDO podajesz stan wysoki czyli patrząć na DS:<br />The slave address (SAD) associated with the L3G4200D is 110100xb. The SDO pin can be<br />used to modify the least significant bit (LSb) of the device address. <strong>If the SDO pin is<br />connected to the voltage supply, LSb is ‘1’ (address 1101001b).</strong> Otherwise, if the SDO pin is<br />connected to ground, the LSb value is ‘0’ (address 1101000b). This solution permits the<br />connection and addressing of two different gyroscopes to the same I2C bus.<br /><br />czyli 0x69 natomiast w przykładzie kodu z gita masz adres <br />[syntax=c]#define L3G4200D_ADDR (0x68&lt;&lt;1) //device address[/syntax]<br />a zatem nic nie będzie grało ponieważ nie znajdzie choćby chał urządzenia podłącz do masy to otrzymasz adres taki jak w przykładzie 0x68 i powinno grać. Chyba że go zjarałeś ale nie sądzę.<br /><br />W sumie zrobiłeś to wcześniej ale dałeś 5v na CS to chyba był błąd. scalak działa na 3.3v.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10687">git79</a> — 13 paź 2015, o 19:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-13T17:52:36+01:00</updated>
<published>2015-10-13T17:52:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142319#p142319</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142319#p142319"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142319#p142319"><![CDATA[
Witam <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />. R3 i R2 - 103, R1 - 102, na kondensatorach nie ma żadnych symboli.<br />Połączenie równoległe 4,7 i 10 dałoby mi ok 3 k - czy to mogłoby uszkodzić układ ?<br />Jeszcze co do samego podłączenia. N płytce jest dioda, która ma mi sygnalizować podłączenie układu do zasilania (?). Otóż jeśli odłącze VCC, a mam podłączony pin SDO i/lub CS do 3,3 V to dioda dalej świeci. Nie wiem czy to ma jakieś znaczenie...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 13 paź 2015, o 17:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[git79]]></name></author>
<updated>2015-10-13T17:45:00+01:00</updated>
<published>2015-10-13T17:45:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142316#p142316</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142316#p142316"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142316#p142316"><![CDATA[
witam<br />jeżeli schemat jest zgodny z płytka to ma podciągnięte, ale czasami płytka jedno a rzeczywistość to drugie raz miałem taki przypadek , CHinska robota, schemat uniwersalny, zobacz fizycznie czy te rezystorki tam są napis na rezystorze 103 lub 1002.<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10687">git79</a> — 13 paź 2015, o 17:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-13T17:31:39+01:00</updated>
<published>2015-10-13T17:31:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142314#p142314</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142314#p142314"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142314#p142314"><![CDATA[
Ok ale zerknąłęś na link z żyroskopem ? Ma wbudowany stabilizator 3,3V a zasilam 5V. Nie wiedziałem też czy dawać rezystory 4,7 k bo zgodnie ze schematem ma juz podłączone 10 k. Chyba że się myle...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 13 paź 2015, o 17:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-10-13T17:26:57+01:00</updated>
<published>2015-10-13T17:26:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142309#p142309</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142309#p142309"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142309#p142309"><![CDATA[
Nie, nie może tam być żadnego 5V , a jak już zasilasz z 5V to konwersja sygnałów <br />jak podałem wyżej ...<br /><br />w załaczniku z kodem masz schemat połaczeń z Megą8 , ale to żaden problem ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 13 paź 2015, o 17:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-13T16:11:19+01:00</updated>
<published>2015-10-13T16:11:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142300#p142300</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142300#p142300"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142300#p142300"><![CDATA[
Kupiłem nowego żyra ale dalej nic. Może zaczne od początku. Czy takie podłączenie płytki z żyroskopem jest prawidłowe ?<br /><a href="https://obrazkiforum.atnel.pl/9619/b609c999e823f9f6d10caf051d528ecb.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/9619/b609c999e823f9f6d10caf051d528ecb.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 13 paź 2015, o 16:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-10-11T20:53:58+01:00</updated>
<published>2015-10-11T20:53:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142167#p142167</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142167#p142167"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142167#p142167"><![CDATA[
przeszkadza  powinieneś zastosować konwersję  sygnałów <br />lub oba układy zasilać 3,3V  jak puściłeś 5V to już może być po układzie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><a href="https://obrazkiforum.atnel.pl/58/029d36adcf445093ee44d85e58a20c99.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/58/029d36adcf445093ee44d85e58a20c99.png" alt="Obrazek" /></a><br /><br />w ten sposób to łączysz jak chcesz zasilać 2ma napięciami <br /><br />HI = VCC  w przypadku twojego układu to 3,3V  = HI<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 9 minutach ]</span></strong><br /><br /><!-- m --><a class="postlink" href="http://allegro.pl/konwerter-poziomow-logicznych-stanow-i2c-5v-3-3v-i5627556827.html" >http://allegro.pl/konwerter-poziomow-lo ... 56827.html</a><!-- m --><br /><br />są też gotowe konwertery poziomów ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 11 paź 2015, o 20:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-11T20:48:28+01:00</updated>
<published>2015-10-11T20:48:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142166#p142166</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142166#p142166"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142166#p142166"><![CDATA[
Jutro sprawdzę Twój kod <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />. Stan wysoki to 5V czy 3,3V ? Jeśli żyroskop pracuje na 3,3V, atmega na 5V, to to nie przeszkadza w wymianie danych pomiędzy sobą przez SDA ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 11 paź 2015, o 20:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-10-11T20:29:43+01:00</updated>
<published>2015-10-11T20:29:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142163#p142163</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142163#p142163"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142163#p142163"><![CDATA[
no to w tym wypadku podajesz na CS stan wysoki  &quot;1&quot; - HI czyli VCC <br />żeby działało I2C , choć sprawdzałem u siebie i działa na w/w sofcie  <br />bez kombinacji z CS <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 paź 2015, o 20:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-11T20:21:00+01:00</updated>
<published>2015-10-11T20:21:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142160#p142160</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142160#p142160"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142160#p142160"><![CDATA[
hmm zgodnie z notą na str. 8 o pinie CS -&quot;I2C/SPI mode selection (1:SPI idle mode / I2C communication<br />enabled; 0: SPI communication mode / I2C disabled)&quot;.<br /><br />Dzięki za gotowca, ale pomiędzy moimi umiejętnościami a Twoimi jest spora różnica i nie jestem przekonany, że zrozumiem to co mi wysłałeś.<br />Ale dziękuje (żeby nie było że narzekam)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 11 paź 2015, o 20:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-10-11T20:07:43+01:00</updated>
<published>2015-10-11T20:07:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142157#p142157</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142157#p142157"/>
<title type="html"><![CDATA[Re: l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142157#p142157"><![CDATA[
<!-- m --><a class="postlink" href="https://code.google.com/p/davidegironi/downloads/detail?name=avr_lib_l3g4200d_01.zip" >https://code.google.com/p/davidegironi/ ... 00d_01.zip</a><!-- m --><br /><br />proszę działa ...<br /><br />ad 2.<br /><br />Zdecyduj się  czy SPI czy I2C <br /><br />jak uzywasz I2C  to potrzebujesz tylko SDA i SCL dodatkowo powinny byc pull-upy   na obu <br /><br />Pozostałe nie sa ci potrzebne .... na tą chwilę<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 11 paź 2015, o 20:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-10-11T19:50:00+01:00</updated>
<published>2015-10-11T19:50:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142156#p142156</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142156#p142156"/>
<title type="html"><![CDATA[l3g4200d + wiele pytań]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13195&amp;p=142156#p142156"><![CDATA[
Witam,<br />przysiadłem ostatnio do &quot;zabawy&quot; z żyroskopem, dokładnie tym z linku poniżej:<br /><a href="http://electropark.pl/moduly-przemieszczenia-odleglosci/3169-modul-3-osiowy-zyroskop-l3g4200d.html"  class="postlink">http://electropark.pl/moduly-przemieszczenia-odleglosci/3169-modul-3-osiowy-zyroskop-l3g4200d.html</a><br />i pojawiło się sporo pytań.<br />Dodam tylko, że dopiero teraz zająłem się interfejsem TWI, więc całkiem możliwe, że nie do końca go rozumiem, oraz że przeczytałem notę katalogową żyroskopu (co z moim angielskim zajęło mi troche czasu), więc to nie jest tak, że zadaje te pytania z lenistwa.<br /><br />1) naskrobałem taki kod - w pętli while jest tylko wyświetlanie wyniku na wyświetlaczu siedmiosegmentowym, na razie chce uzyskać odpowiedź od żyroskopu jego adres (who_am_i). Niestety program zatrzymuje się na linijce - &quot;wynik=twi_odczytaj(nack);&quot;<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define SEG_1 (1&lt;&lt;PA3) // SEGMENT 1 (12)<br />#define SEG_2 (1&lt;&lt;PA2) // SEGMENT 2 (9)<br />#define SEG_3 (1&lt;&lt;PA1) // SEGMENT 3 (8)<br />#define SEG_4 (1&lt;&lt;PA0) // SEGMENT 4 (6)<br /><br />#define PORT_SEG PORTA //PORT Z PODLACZONYM ZASILANIEM WYS LED<br />#define PORT_WYS PORTD // PORT DO STEROWANIA SEGMENTAMI<br />#define PIN_PRZYCISK PINB<br />#define miganie _delay_ms(5)<br /><br />#define FCPU 8000000<br />#define ack 1<br />#define nack 0<br /><br />uint8_t cyfra_1, cyfra_2, cyfra_3, cyfra_4, na_wyswietlacz(uint8_t),twi_odczytaj(uint8_t ack_1);<br />int wynik,suma;<br />void twi_predkosc(long int jak_szybko),twi_start(void),twi_stop(void),twi_zapisz(uint8_t zapisik);<br /><br />int main()<br />{<br /><br />DDRA=0XFF;<br />DDRC=0X00;<br />PORTC=0XFF;<br />DDRD=0XFF;<br /><br />// inicjalizacja zyroskopu<br />twi_predkosc(100000); // 100 kHz<br /><br />// ctrl_reg1<br />twi_start();<br />twi_zapisz(0b11010000);<br />twi_zapisz(0x20);<br />twi_zapisz(0b00001111); // normal mode, 100 hz, wszystkie osie<br />twi_stop();<br /><br />// ctrl_reg2<br />twi_start();<br />twi_zapisz(0b11010000);<br />twi_zapisz(0x21);<br />twi_zapisz(0b00100000); <br />twi_stop();<br /><br />// ctrl_reg3<br />twi_start();<br />twi_zapisz(0b11010000);<br />twi_zapisz(0x22);<br />twi_zapisz(0x00); <br />twi_stop();<br /><br />// ctrl_reg4<br />twi_start();<br />twi_zapisz(0b11010000);<br />twi_zapisz(0x23);<br />twi_zapisz(0x00);  // 250 dps<br />twi_stop();<br /><br /><br />twi_start();<br />twi_zapisz(0b11010000);<br />twi_zapisz(0x0f); // who i am ?<br />twi_start();<br />twi_zapisz(0b11010001);<br />wynik=twi_odczytaj(nack);<br />twi_stop();<br /><br />while(1)<br />{<br /><br /><br />for(int i=0;wynik&gt;=1000*i;i++)<br />cyfra_1=i;<br />for(int i=0;wynik-1000*cyfra_1&gt;=100*i;i++)<br />cyfra_2=i;<br />for(int i=0;wynik-1000*cyfra_1-100*cyfra_2&gt;=10*i;i++)<br />cyfra_3=i;<br />for(int i=0;wynik-1000*cyfra_1-100*cyfra_2-10*cyfra_3&gt;=i;i++)<br />cyfra_4=i;<br /><br /><br /><br />PORT_SEG=SEG_1;<br />PORT_WYS=na_wyswietlacz(cyfra_1);<br />miganie;<br />PORT_SEG=SEG_2;<br />PORT_WYS=na_wyswietlacz(cyfra_2) &amp; 0b11111011;<br />miganie;<br />PORT_SEG=SEG_3;<br />PORT_WYS=(na_wyswietlacz(cyfra_3));<br />miganie;<br />PORT_SEG=SEG_4;<br />PORT_WYS=na_wyswietlacz(cyfra_4);<br />miganie;<br /><br />}<br />}<br /><br /><br />uint8_t na_wyswietlacz(uint8_t zmienna) //definicje liczb do wyswietlania na wysw.<br />{<br />if (zmienna==1)<br />return 0B01111101;    <br />else if (zmienna==2)  // 7 10 11 1 2 3 4 5<br />return 0B01000110;<br />else if (zmienna==3)<br />return 0B01010100;<br />else if (zmienna==4)<br />return 0B00111100;<br />else if (zmienna==5)<br />return 0b10010100;<br />else if (zmienna==6)<br />return 0B10000100;<br />else if (zmienna==7)<br />return 0B01011101;<br />else if (zmienna==8)<br />return 0B00000100;<br />else if (zmienna==9)<br />return 0b00010100;<br />else if (zmienna==0)<br />return 0b00000101;<br />else if (zmienna==15)<br />return 0b00000000;<br />else<br />return 0b11111110;<br />}<br /><br /><br />// obsługa i2c<br /><br />void twi_predkosc(long int jak_szybko)<br />{<br />int TWBR_1=0;<br />TWSR=0;<br />TWBR_1=FCPU/jak_szybko-16;<br />TWBR=TWBR_1/2; // MUSI BYC WIEKSZE OD 10<br />}<br /><br />void twi_start(void)<br />{<br />TWCR=(1&lt;&lt;TWINT)|(1&lt;&lt;TWEN)|(1&lt;&lt;TWSTA);<br />while(!((TWCR)&amp;(1&lt;&lt;TWINT)));<br />} <br /><br />void twi_stop(void)<br />{<br />TWCR=(1&lt;&lt;TWINT)|(1&lt;&lt;TWEN)|(1&lt;&lt;TWSTO);<br />while(!((TWCR)&amp;(1&lt;&lt;TWSTO)));<br />}<br /><br />void twi_zapisz(uint8_t zapisik)<br />{<br />TWDR=zapisik;<br />TWCR=(1&lt;&lt;TWINT)|(1&lt;&lt;TWEN);<br />while(!((TWCR)&amp;(1&lt;&lt;TWINT)));<br />}<br /><br />uint8_t twi_odczytaj(uint8_t ack_1)<br />{<br />TWCR=(1&lt;&lt;TWINT)|(ack_1&lt;&lt;TWEA)|(1&lt;&lt;TWEN);<br />while(!((TWCR)&amp;(1&lt;&lt;TWINT)));<br />return TWDR;<br />}[/syntax]<br /><br />Niestety nie potrafię znaleźć, błędu w kodzie.<br /><br /><br /><br />2) Podłączenie żyroskopu. Atmege16 zasilam 5V, czy poprawne jest podłączenie w którym SDA i SCL procka i żyroskopu podłączam bezpośrednio do siebie, na VCC daje 5V, na SDO - GND, oraz na CS - 5V ?<br /><br />3) Na str. 30 tabelka 22 jest parametr cut-of co on oznacza ? <br /><br />4) FIFO ? Czy dobrze rozumiem, że FIFO to tylko taka kolejka (cos jak stos, tylko w pamięci żyroskopu) i jeśli chce oczytać pojedyńczą wartość z każdej osi to nie używam FIFO a kiedy chce odczytywać te pomiary w sposób ciągły to wtedy go używam ?<br /><br />Konstruktywna krytyka mile widziana !<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 11 paź 2015, o 19:50</p><hr />
]]></content>
</entry>
</feed>