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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-05-17T07:42:00+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=16768&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-05-17T07:42:00+01:00</updated>
<published>2017-05-17T07:42:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=189366#p189366</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=189366#p189366"/>
<title type="html"><![CDATA[Re: Magic LED - sopelka lodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=189366#p189366"><![CDATA[
<div class="quotetitle">Slawek napisał(a):</div><div class="quotecontent"><br />Mam  prośbę.<br />Próbuje zrozumieć jak działa sam algorytm wyświetlania spadającego sopelka. Może mi ktoś pomóc i powiedzieć jak tworzy się taki sopel spadający?<br /></div><br />Postaraj się uruchomić wyobraźnię - jak to narysować?<br /><br />1. na początku pasek (taka kometa) - przesuwasz ją do końca paska<br />2. w trakcie przesuwania przyśpieszasz żeby było bardziej realistycznie<br />3. na końcu robisz coś w rodzaju odbicia kropli czyli w przeciwną stronę na chwilkę do w drugą stronę szybciutko ze 2 pixele i od razu w dół<br /><br />to wszystko - chyba że wymyślisz coś jeszcze lepszego<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 maja 2017, o 07:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Slawek]]></name></author>
<updated>2017-05-17T06:23:03+01:00</updated>
<published>2017-05-17T06:23:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=189362#p189362</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=189362#p189362"/>
<title type="html"><![CDATA[Re: Magic LED - sopelka lodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=189362#p189362"><![CDATA[
Mam  prośbę.<br />Próbuje zrozumieć jak działa sam algorytm wyświetlania spadającego sopelka. Może mi ktoś pomóc i powiedzieć jak tworzy się taki sopel spadający?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=69">Slawek</a> — 17 maja 2017, o 06:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Royd]]></name></author>
<updated>2016-11-09T15:59:59+01:00</updated>
<published>2016-11-09T15:59:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174246#p174246</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174246#p174246"/>
<title type="html"><![CDATA[Re: Magic LED - sopelka lodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174246#p174246"><![CDATA[
<div class="quotetitle">Rafał555 napisał(a):</div><div class="quotecontent"><br />Takie coś spróbuj:<br /></div><br />Działa w 100%. Rzeczywiście przekombinowałem z ostatnią pętlą for. Czasami przydaje się jak ktoś mądry spojrzy swoim okiem i naprowadzi. Dziękuję<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1406">Royd</a> — 9 lis 2016, o 15:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafał555]]></name></author>
<updated>2016-11-09T15:08:38+01:00</updated>
<published>2016-11-09T15:08:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174238#p174238</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174238#p174238"/>
<title type="html"><![CDATA[Re: Magic LED - sopelka lodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174238#p174238"><![CDATA[
Spróbuj wyrysować sopla na odpowiedniej pozycji łącznie z kasowaniem ostatniej diody i po prostu wysłać pasek.<br /><br /> Ta pętla w końcowej fazie to już masakra:<br />[syntax=c]for(uint8_t a=0 ; a&lt;licznik+10 ; a++){          // wysyla i (wprawia w ruch) sopelka lodu z góry do dolu<br /> <br />                    ws281x_asm_send(pasek,a,0x80);<br />                                    _delay_us(10);<br />                }[/syntax]<br />   Ciężko sobie wyobrazić efekt na podstawie kodu, ale może z nawiasami coś pomyliłeś?<br /><br />edit:<br /> Takie coś spróbuj:<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 />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;WS2812/ws281x.h&quot;<br /><br />TWSRGB ws_rgb_leds &#91;WS_LED_CNT&#93;; //tworzenie tablicy<br />uint8_t * pasek = (uint8_t*)ws_rgb_leds;<br /><br />uint8_t licznik;<br />int main(){<br /><br /><br /><br />        while(1){<br /><br />for(licznik=0;licznik &lt; 61 ; licznik++){        // ta zmienna się powiększa po każdym wysłaniu porcji danych do tasmy<br /><br />                for(uint8_t i=0 ; i&lt;11 ; i++){      // rysowanie sopelka lodu<br />                    if(!i) ws_rgb_leds&#91;licznik-1&#93;.r=0; ws_rgb_leds&#91;licznik-1&#93;.g=0; ws_rgb_leds&#91;licznik-1&#93;.b=0; // przy kazdym nastepnym cylku wygasza ostatnią diode<br />                        if(i&gt;0 &amp;&amp; i&lt;4){<br />                                ws_rgb_leds&#91;i+licznik&#93;.r=20; ws_rgb_leds&#91;i+licznik&#93;.g=30; ws_rgb_leds&#91;i+licznik&#93;.b=20;  // 3 pierwsze diody budowanie sopli (jasniejsza)<br />                        }<br />                        if(i&gt;3 &amp;&amp; i&lt;8){<br />                                ws_rgb_leds&#91;i+licznik&#93;.r=50; ws_rgb_leds&#91;i+licznik&#93;.g=50; ws_rgb_leds&#91;i+licznik&#93;.b=50;  // 3 nastepne slabiej juz swiecą<br />                        }<br />                        if(i&gt;7 &amp;&amp; i&lt;11){<br />                                ws_rgb_leds&#91;i+licznik&#93;.r=100; ws_rgb_leds&#91;i+licznik&#93;.g=100; ws_rgb_leds&#91;i+licznik&#93;.b=100;  // 3 nastepne z bardzo mała intensywnoscia<br />                        }<br />                        <br />                        <br />                        }<br /><br />                <br /><br />                <br /><br />                    ws281x_asm_send(pasek,WS_LED_CNT,0x80);<br />                                    _delay_us(10);<br />                <br /><br />        }<br /><br />        }<br /><br />        }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2697">Rafał555</a> — 9 lis 2016, o 15:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Royd]]></name></author>
<updated>2016-11-09T14:19:39+01:00</updated>
<published>2016-11-09T14:19:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174235#p174235</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174235#p174235"/>
<title type="html"><![CDATA[Magic LED - sopelka lodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16768&amp;p=174235#p174235"><![CDATA[
Witam, <br />Posiadam problem ponieważ wymyśliłem sobie taki program( sopla wody spadająca pdoobne do tej w linku). Problem mam z tym taki, że sopelek zwalnia przy końcu w sposób znaczny.  Wydaje mi się, że opoźnienia są przez to, że wysyłana jest większą ilość danych przy końcowych fragmentach taśmy ( ponieważ musi &quot;wygasic&quot; poprzednie diody). Dlaczego tak się dzieje i czemu są takie opóźnienia? Czy da się to jakoś naprawić?<br />Pozdrowienia dla forumowiczów<br />[youtube]https://www.youtube.com/watch?v=VZ2N9ij7qyA[/youtube]<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 02-11-2016<br /> *      Author: Lenovo<br /> */<br /><br />#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 />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;Light_WS2812/ws281x.h&quot;<br /><br />TWSRGB ws_rgb_leds &#91;WS_LED_CNT&#93;; //tworzenie tablicy<br />uint8_t * pasek = (uint8_t*)ws_rgb_leds;<br /><br />uint8_t licznik;<br />int main(){<br /><br /><br /><br />while(1){<br /><br />for(licznik=0;licznik &lt; 61 ; licznik++){// ta zmienna się powiększa po każdym wysłaniu porcji danych do tasmy<br /><br />for(uint8_t i=0 ; i&lt;11 ; i++){      // rysowanie sopelka lodu<br />if(i&lt;4){<br />ws_rgb_leds&#91;i+licznik&#93;.r=20; ws_rgb_leds&#91;i+licznik&#93;.g=30; ws_rgb_leds&#91;i+licznik&#93;.b=20;  // 3 pierwsze diody budowanie sopli (jasniejsza)<br />}<br />if(i&gt;3 &amp;&amp; i&lt;8){<br />ws_rgb_leds&#91;i+licznik&#93;.r=50; ws_rgb_leds&#91;i+licznik&#93;.g=50; ws_rgb_leds&#91;i+licznik&#93;.b=50;// 3 nastepne slabiej juz swiecą<br />}<br />if(i&gt;7 &amp;&amp; i&lt;11){<br />ws_rgb_leds&#91;i+licznik&#93;.r=100; ws_rgb_leds&#91;i+licznik&#93;.g=100; ws_rgb_leds&#91;i+licznik&#93;.b=100;  // 3 nastepne z bardzo mała intensywnoscia<br />}<br />}<br /><br />if(licznik){<br />ws_rgb_leds&#91;licznik-1&#93;.r=0; ws_rgb_leds&#91;licznik-1&#93;.g=0; ws_rgb_leds&#91;licznik-1&#93;.b=0; // przy kazdym nastepnym cylku wygasza ostatnią diode <br />}<br /><br />for(uint8_t a=0 ; a&lt;licznik+10 ; a++){// wysyla i (wprawia w ruch) sopelka lodu z góry do dolu<br /><br />    ws281x_asm_send(pasek,a,0x80);<br />    _delay_us(10);<br />}<br /><br />}<br /><br />}<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1406">Royd</a> — 9 lis 2016, o 14:19</p><hr />
]]></content>
</entry>
</feed>