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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-12-23T14:27:49+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=5123&amp;mode</id>
<entry>
<author><name><![CDATA[AndreAs]]></name></author>
<updated>2013-12-23T14:27:49+01:00</updated>
<published>2013-12-23T14:27:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=62139#p62139</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=62139#p62139"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=62139#p62139"><![CDATA[
A może po int main()  zresetuj wyjścia portu D , chociaż trudno powiedzieć ponieważ nie wiem jak wygląda kod który ci działa.<br /><br />PORTD &amp;= ~(1&lt;&lt;PD7)|(1&lt;&lt;PD5)|(1&lt;&lt;PD4);<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2092">AndreAs</a> — 23 gru 2013, o 14:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2013-12-23T07:44:13+01:00</updated>
<published>2013-12-23T07:44:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=62112#p62112</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=62112#p62112"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=62112#p62112"><![CDATA[
A czy przyadkiem nie jest to zwiazane z domyslnym stanem pinow po resecie? Czy masz w kodzie inicjalizacje wyjsc/PWMow? <br /><br />Sent from my mobile.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 23 gru 2013, o 07:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zlata_n]]></name></author>
<updated>2013-12-19T22:45:38+01:00</updated>
<published>2013-12-19T22:45:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=61829#p61829</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=61829#p61829"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=61829#p61829"><![CDATA[
Mam pytanie odnośnie tej lampki jeszcze. Mianowicie gdy włączam zasilanie na 0,5 sek świeci dioda co powoduje brzydki błysk &quot;na starcie&quot;. Da się go pozbyć programowo czy tutaj jest błąd projektowy ? Poniżej dokładny schemat.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/142/d797de9e878e6a133e7e1cda4febea53.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/142/d797de9e878e6a133e7e1cda4febea53.png" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=142">zlata_n</a> — 19 gru 2013, o 22:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-13T19:56:34+01:00</updated>
<published>2013-12-13T19:56:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60992#p60992</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60992#p60992"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60992#p60992"><![CDATA[
<div class="quotetitle">zlata_n napisał(a):</div><div class="quotecontent"><br />działa! dzięki piękne<br /></div><br /><br />Na prawdę - czy trzeba przypominać - żeby kliknąć klawisz &quot;POMÓGŁ&quot; osobie która pomogła ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... nie chodzi o mnie - .... ale kolega SylwekK chyba dość mocno się przyczynił do rozjaśnienia sytuacji prawda ?<br /><br />więc taka gorąca prośba - używajmy klawisza &quot;POMÓGŁ&quot; na forum ok ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 gru 2013, o 19:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2013-12-13T19:52:19+01:00</updated>
<published>2013-12-13T19:52:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60990#p60990</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60990#p60990"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60990#p60990"><![CDATA[
Miło, że pomogło <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Widzisz, jakbyś od razu zrobił jak mówiłem to byś się wcześniej cieszył <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=1922">SylwekK</a> — 13 gru 2013, o 19:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zlata_n]]></name></author>
<updated>2013-12-13T18:27:14+01:00</updated>
<published>2013-12-13T18:27:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60980#p60980</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60980#p60980"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60980#p60980"><![CDATA[
działa! dzięki piękne<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=142">zlata_n</a> — 13 gru 2013, o 18:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2013-12-13T12:05:15+01:00</updated>
<published>2013-12-13T12:05:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60949#p60949</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60949#p60949"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60949#p60949"><![CDATA[
No jak pisałem zamiast m++, n++, o++, m--, n--, o-- odpowiednio: if (m&gt;0) m--; if (m&lt;255) m++; itd...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 13 gru 2013, o 12:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zlata_n]]></name></author>
<updated>2013-12-13T12:00:19+01:00</updated>
<published>2013-12-13T12:00:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60946#p60946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60946#p60946"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60946#p60946"><![CDATA[
nie do końca rozumiem w którym miejscu te warunki wrzucić ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=142">zlata_n</a> — 13 gru 2013, o 12:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2013-12-13T11:29:01+01:00</updated>
<published>2013-12-13T11:29:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60940#p60940</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60940#p60940"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60940#p60940"><![CDATA[
No ale nie dodałeś warunków, o których Ci już na początku pisałem, to jak ma nie przeskakiwać!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 13 gru 2013, o 11:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zlata_n]]></name></author>
<updated>2013-12-13T11:24:10+01:00</updated>
<published>2013-12-13T11:24:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60938#p60938</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60938#p60938"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60938#p60938"><![CDATA[
To samo. Czy ktoś mógłby odpalić u siebie ten kod? na zwykłej diodzie RGB + ATmega? Poniżej kod...<br /><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 />#include &lt;avr/pgmspace.h&gt;<br /><br />#define LED_GREEN_ON PORTD |= (1&lt;&lt;PD7)<br />#define LED_GREEN_OFF PORTD &amp;= ~(1&lt;&lt;PD7)<br /><br />#define LED_BLUE_ON PORTD |= (1&lt;&lt;PD4)<br />#define LED_BLUE_OFF PORTD &amp;= ~(1&lt;&lt;PD4)<br /><br />#define LED_RED_ON PORTD |= (1&lt;&lt;PD5)<br />#define LED_RED_OFF PORTD &amp;= ~(1&lt;&lt;PD5)<br /><br />volatile uint16_t Timer1, Timer2;<br />uint8_t sw;<br />uint8_t m, n, o;<br /><br />// główna funkcja programu main()<br />int main(void)<br />{<br />//TIMER0<br />        TCCR0 |= (1 &lt;&lt; WGM01);    // CTC<br />        TCCR0 |= (1 &lt;&lt; CS02) | (1 &lt;&lt; CS00);  // 1024<br />        OCR0 = 255;                 //   8000000/1024/255 = ~30 Hz<br />        TIMSK |= (1 &lt;&lt; OCIE0);<br /><br /><br />//***** KANAŁ GREEN *******<br />//***** SPRZĘTOWY PWM - 1 KANAŁ OC2 (PD7) *******<br />// ustawienie końcówki OC2 (PD7) sprzętowy PWM jako WYJŚCIE<br />DDRD |= (1&lt;&lt;PD7);<br />// ustawienia TIMER2 w Fast PWM<br />TCCR2 |= (1&lt;&lt;WGM21)|(1&lt;&lt;WGM20);// tryb Fast PWM<br />TCCR2 |= (1&lt;&lt;COM21);// clear at BOTTOM<br />TCCR2 |= (1&lt;&lt;CS20);// preskaler = 1<br />OCR2=255;// wygaszenie diody w kanale PWM<br /><br /><br /><br />//***** KANAŁ RED *******<br />//***** SPRZĘTOWY PWM - 1 KANAŁ OC1A (PD5) *******<br />// ustawienie końcówki OC1A (PD5) sprzętowy PWM jako WYJŚCIE<br />DDRD |= (1&lt;&lt;PD5);<br />    // ustawienia TIMER1 w Fast PWM<br />TCCR1A |= (1&lt;&lt;WGM12)|(1&lt;&lt;WGM10);// tryb Fast PWM<br />TCCR1A |= (1&lt;&lt;COM1A1);// clear at BOTTOM<br />TCCR1B |= (1&lt;&lt;CS10);// preskaler = 1<br />OCR1A=255;// wygaszenie diody w kanale PWM<br /><br /><br /><br />//***** KANAŁ BLUE *******<br />//***** SPRZĘTOWY PWM - 1 KANAŁ OC1B (PD4) *******<br />// ustawienie końcówki OC1B (PD4) sprzętowy PWM jako WYJŚCIE<br />DDRD |= (1&lt;&lt;PD4);<br />// ustawienia TIMER1 w Fast PWM<br />TCCR1A |= (1&lt;&lt;WGM12)|(1&lt;&lt;WGM10);// tryb Fast PWM<br />TCCR1A |= (1&lt;&lt;COM1B1);// clear at BOTTOM<br />TCCR1B |= (1&lt;&lt;CS10);// preskaler = 1<br />OCR1B=255;// wygaszenie diody w kanale PWM<br /><br />sei();<br /><br /><br />while(1)<br />{<br />if (!Timer1) <br />                 {<br />                Timer1 = 255;<br />                sw++;<br />        }<br />        if (sw &gt; 3)<br />                sw = 1;<br />        if (sw == 1) {<br />                if (!Timer2) {<br />                        Timer2 = 1;<br />                        m--;<br />                        n++;<br />             //           o = 0;<br />                }<br />        }<br />        if (sw == 2) {<br />                if (!Timer2) {<br />                        Timer2 = 1;<br />              //          m = 0;<br />                        n--;<br />                        o++;<br />                }<br />        }<br />        if (sw == 3) {<br />                if (!Timer2) {<br />                        Timer2 = 1;<br />                        m++;<br />               //         n = 0;<br />                        o--;<br />                }<br />        }<br />        OCR1A = m;<br />        OCR2 = n;<br />        OCR1B = o;<br />}<br />}<br /><br />ISR(TIMER0_COMP_vect) {<br />        uint16_t x;<br />        x = Timer1;<br />        if (x)<br />                Timer1 = --x;<br />        x = Timer2;<br />        if (x)<br />                Timer2 = --x;<br />};[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=142">zlata_n</a> — 13 gru 2013, o 11:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2013-12-13T08:40:45+01:00</updated>
<published>2013-12-13T08:40:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60922#p60922</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60922#p60922"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60922#p60922"><![CDATA[
To wywal jeszcze wszystkie n=0, m=0, o=0, i pokaż kod.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 13 gru 2013, o 08:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zlata_n]]></name></author>
<updated>2013-12-12T22:51:35+01:00</updated>
<published>2013-12-12T22:51:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60893#p60893</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60893#p60893"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60893#p60893"><![CDATA[
wiem że zmienna uint_8t posiada wartości od 0 do 255. Zmieniłem kod i ciągle jest ten przeskok.... nie wiem co tam brudzi w kodzie.... czy to może ustawiona zła częstotliwość TIMERA..?!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=142">zlata_n</a> — 12 gru 2013, o 22:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-12T12:47:58+01:00</updated>
<published>2013-12-12T12:47:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60782#p60782</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60782#p60782"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60782#p60782"><![CDATA[
<div class="quotetitle">SylwekK napisał(a):</div><div class="quotecontent"><br />Dodam jeszcze, że taki zapis if (m&gt;255) dla zmiennej uint8_t jest bezsensowny... Dlaczego??? Zastanów się<br /></div><br /><br />Bardzo słuszna uwaga <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ....<br /><br />a ja dodam, że w jednym ze swoich poradników video (ale nie pamiętam którym) właśnie mówiłem o tym jak sobie poradzić - no tyle że teraz po podpowiedzi kolegi SylwekK - to już jesteś na prostej drodze żeby złapać swojego BUG'a i dokonać jego anihilacji <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 gru 2013, o 12:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2013-12-12T11:30:45+01:00</updated>
<published>2013-12-12T11:30:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60772#p60772</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60772#p60772"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60772#p60772"><![CDATA[
Użyj wszędzie takich zapisów:<br /><br /><strong>if (m&gt;0) m--;<br /><br />if (m&lt;255) m++;</strong><br /><br />w miejscach gdzie masz samo m--, m++, itp.<br /><br />dotyczy to wszystkich zmiennych, na których zmieniasz kolory.<br /><br />No i oczywiście pozbądź się tej litanii warunków sprawdzających zakres:<br /><br />[syntax=c]if (m &gt; 255)<br /><br />                m = 255;<br /><br />        if (m &lt; 0)<br /><br />                m = 0;<br /><br />        if (n &gt; 255)<br /><br />                n = 255;<br /><br />        if (n &lt; 0)<br /><br />                n = 0;<br /><br />        if (o &gt; 255)<br /><br />                o = 255;<br /><br />        if (o &lt; 0)<br /><br />                o = 0;[/syntax]<br /><br />EDIT:<br /><br />Dodam jeszcze, że taki zapis <strong>if (m&gt;255)</strong> dla zmiennej uint8_t jest bezsensowny... Dlaczego??? Zastanów się <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=1922">SylwekK</a> — 12 gru 2013, o 11:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zlata_n]]></name></author>
<updated>2013-12-12T10:33:02+01:00</updated>
<published>2013-12-12T10:33:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60757#p60757</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60757#p60757"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60757#p60757"><![CDATA[
tutaj wkradł się mój błąd, powinno być w każdym &quot;&gt;&quot; ( w trakcie testów próbowałem z &quot;przyrównaniem&quot;) Pierwszy post edytowany poprawnie. Ciągle dzieje się to samo... dziwny przeskok w dwóch momentach ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=142">zlata_n</a> — 12 gru 2013, o 10:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-12T10:24:54+01:00</updated>
<published>2013-12-12T10:24:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60754#p60754</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60754#p60754"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60754#p60754"><![CDATA[
przeanalizuj sobie swoje warunki np taki:<br /><br />if (o &lt;= 0) o = 0;<br /><br />co to znaczy &quot;jeśli mniejsze równe zero&quot; ? jak może być mniejsze ? skoro zmienna ma typ uint ???<br /><br />widzisz babola ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 gru 2013, o 10:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zlata_n]]></name></author>
<updated>2013-12-12T10:00:48+01:00</updated>
<published>2013-12-12T10:00:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60751#p60751</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60751#p60751"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60751#p60751"><![CDATA[
Wiem, że diody są nieliniowe, oraz dobrze zapoznałem się z korekcją GAMMA. Ale w moim przypadku to nie o to chodzi. W poście podałem linka do tematu kolegi &quot;tomekpop&quot; który używa podobnego kodu i nie ma żadnego problemu, nie ma przeskoków ... więc coś jest nie tak w moim kodzie a już nie mam pomysłu co ... Pewnie błąd leży w jakiejś pętli, wartość nagle skacze do 255 albo do 0 i robi się krótki nieprzewidziany błysk... a powinno być płynnie...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=142">zlata_n</a> — 12 gru 2013, o 10:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-12T09:14:48+01:00</updated>
<published>2013-12-12T09:14:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60745#p60745</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60745#p60745"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60745#p60745"><![CDATA[
Odnośnie zagadnienia liniowego sterowania diod LED proponuję zapoznać się z tym <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2013/09/gamma-correction-nowe-narzedzie-w.html" >http://mirekk36.blogspot.com/2013/09/ga ... zie-w.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 gru 2013, o 09:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrewsek]]></name></author>
<updated>2013-12-12T09:09:19+01:00</updated>
<published>2013-12-12T09:09:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60744#p60744</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60744#p60744"/>
<title type="html"><![CDATA[Re: RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60744#p60744"><![CDATA[
Nie analizując kodu bo teraz jestem w pracy. Wez pod uwagę że diody sa nie liniowe tzn. swieco nie proporcjonalnie do szerokosci PWM. Ponadto różnią się kolory między sobą.<br /><br />Najprościej mozesz to wyeliminowac robiąc w pewnym zakresie wieksze kroki przyrostu tj. najpierw zwiekszaj np o 3 wartosci a potem 2 i o 1.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=929">andrewsek</a> — 12 gru 2013, o 09:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zlata_n]]></name></author>
<updated>2013-12-13T00:10:59+01:00</updated>
<published>2013-12-12T00:07:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60710#p60710</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60710#p60710"/>
<title type="html"><![CDATA[RGB PWM (PROBLEM)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5123&amp;p=60710#p60710"><![CDATA[
Witam, od jakiegoś czasu siedzę nad kodem do lampki RGB. Mam diodę RGB 3W i steruje ją driverami i mikrokontrolerem ATmega32 (8 MHz).Skorzystałem z pomocy kolegi &quot;tomekpop&quot; z tematu : <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic2376.html" >topic2376.html</a><!-- l --> i napisałem poniższy kod do płynnego przejścia między kolorami. 3 kanały PWM sterowane 3 oddzielnymi TIMERAMI w trybie FastPWM + timer programowy na przerwanie systemowe. Nie wiem dlaczego ale podczas przejścia występuje przeskok i nie wiem jak go wyeliminować. Gdy czerwony miesza się z zielonym występuje krótka przerwa(przeskok) ?! Próbowałem zmienić już wszystko w kodzie i nie wiem gdzie leży błąd. Poniżej przedstawiam kod. Dzięki za pomoc i odzew w temacie.<br /><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 />#include &lt;avr/pgmspace.h&gt;<br /><br />#define LED_GREEN_ON PORTD |= (1&lt;&lt;PD7)<br />#define LED_GREEN_OFF PORTD &amp;= ~(1&lt;&lt;PD7)<br /><br />#define LED_BLUE_ON PORTD |= (1&lt;&lt;PD4)<br />#define LED_BLUE_OFF PORTD &amp;= ~(1&lt;&lt;PD4)<br /><br />#define LED_RED_ON PORTD |= (1&lt;&lt;PD5)<br />#define LED_RED_OFF PORTD &amp;= ~(1&lt;&lt;PD5)<br /><br />volatile uint16_t Timer1, Timer2;<br />uint8_t sw;<br />uint8_t m, n, o;<br /><br />// główna funkcja programu main()<br />int main(void)<br />{<br />//TIMER0<br />        TCCR0 |= (1 &lt;&lt; WGM01);    // CTC<br />        TCCR0 |= (1 &lt;&lt; CS02) | (1 &lt;&lt; CS00);  // 1024<br />        OCR0 = 255;                 //   8000000/1024/255 = ~30 Hz<br />        TIMSK |= (1 &lt;&lt; OCIE0);<br /><br /><br />//***** KANAŁ GREEN *******<br />//***** SPRZĘTOWY PWM - 1 KANAŁ OC2 (PD7) *******<br />// ustawienie końcówki OC2 (PD7) sprzętowy PWM jako WYJŚCIE<br />DDRD |= (1&lt;&lt;PD7);<br />// ustawienia TIMER2 w Fast PWM<br />TCCR2 |= (1&lt;&lt;WGM21)|(1&lt;&lt;WGM20);// tryb Fast PWM<br />TCCR2 |= (1&lt;&lt;COM21);// clear at BOTTOM<br />TCCR2 |= (1&lt;&lt;CS20);// preskaler = 1<br />OCR2=255;// wygaszenie diody w kanale PWM<br /><br /><br /><br />//***** KANAŁ RED *******<br />//***** SPRZĘTOWY PWM - 1 KANAŁ OC1A (PD5) *******<br />// ustawienie końcówki OC1A (PD5) sprzętowy PWM jako WYJŚCIE<br />DDRD |= (1&lt;&lt;PD5);<br />    // ustawienia TIMER1 w Fast PWM<br />TCCR1A |= (1&lt;&lt;WGM12)|(1&lt;&lt;WGM10);// tryb Fast PWM<br />TCCR1A |= (1&lt;&lt;COM1A1);// clear at BOTTOM<br />TCCR1B |= (1&lt;&lt;CS10);// preskaler = 1<br />OCR1A=255;// wygaszenie diody w kanale PWM<br /><br /><br /><br />//***** KANAŁ BLUE *******<br />//***** SPRZĘTOWY PWM - 1 KANAŁ OC1B (PD4) *******<br />// ustawienie końcówki OC1B (PD4) sprzętowy PWM jako WYJŚCIE<br />DDRD |= (1&lt;&lt;PD4);<br />// ustawienia TIMER1 w Fast PWM<br />TCCR1A |= (1&lt;&lt;WGM12)|(1&lt;&lt;WGM10);// tryb Fast PWM<br />TCCR1A |= (1&lt;&lt;COM1B1);// clear at BOTTOM<br />TCCR1B |= (1&lt;&lt;CS10);// preskaler = 1<br />OCR1B=255;// wygaszenie diody w kanale PWM<br /><br />sei();<br /><br /><br />while(1)<br />{<br />if (!Timer1) <br />                 {<br />                Timer1 = 255;<br />                sw++;<br />        }<br />        if (sw &gt; 3)<br />                sw = 1;<br />        if (sw == 1) {<br />                if (!Timer2) {<br />                        Timer2 = 1;<br />                        m--;<br />                        n++;<br />                        o = 0;<br />                }<br />        }<br />        if (sw == 2) {<br />                if (!Timer2) {<br />                        Timer2 = 1;<br />                        m = 0;<br />                        n--;<br />                        o++;<br />                }<br />        }<br />        if (sw == 3) {<br />                if (!Timer2) {<br />                        Timer2 = 1;<br />                        m++;<br />                        n = 0;<br />                        o--;<br />                }<br />        }<br />       if (m &gt; 255)<br />                m = 255;<br />        if (m &lt; 0)<br />                m = 0;<br />        if (n &gt; 255)<br />                n = 255;<br />        if (n &lt; 0)<br />                n = 0;<br />        if (o &gt; 255)<br />                o = 255;<br />        if (o &lt; 0)<br />                o = 0;<br /><br />        OCR1A = m;<br />        OCR2 = n;<br />        OCR1B = o;<br />}<br />}<br /><br />ISR(TIMER0_COMP_vect) {<br />        uint16_t x;<br />        x = Timer1;<br />        if (x)<br />                Timer1 = --x;<br />        x = Timer2;<br />        if (x)<br />                Timer2 = --x;<br />};[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=142">zlata_n</a> — 12 gru 2013, o 00:07</p><hr />
]]></content>
</entry>
</feed>