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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-11-29T13:41:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=16878&amp;mode</id>
<entry>
<author><name><![CDATA[adamBo]]></name></author>
<updated>2016-11-29T13:41:23+01:00</updated>
<published>2016-11-29T13:41:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175946#p175946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175946#p175946"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175946#p175946"><![CDATA[
I bardzo dobra decyzja<br /><br />Wysłane z mojego HTC One_M8 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9051">adamBo</a> — 29 lis 2016, o 13:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-29T13:13:37+01:00</updated>
<published>2016-11-29T13:13:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175944#p175944</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175944#p175944"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175944#p175944"><![CDATA[
Za szybko chciałem osiągnąć zamierzony efekt i krążyłem &quot;po omacku&quot;. Teraz jednak po przodu małymi krokami tam żeby wyciągnąć wnioski z tej nauki. Robię tył zwrot i odpalam poradniki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 29 lis 2016, o 13:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adamBo]]></name></author>
<updated>2016-11-29T08:33:40+01:00</updated>
<published>2016-11-29T08:33:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175921#p175921</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175921#p175921"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175921#p175921"><![CDATA[
Witam. Słuchaj nasunęło mi się parę rzeczy które kolą mnie w oczy mianowicie czytając Twoje posty odniosłem wrażenie, że próbujesz pisać kod &quot;na siłę &quot; , bez zrozumienia ... średnik za procedurą przerwania itp. Nie pisze tego by Cię urazić nie to jest moim celem. Od samego początku tego tematu staram Ci się pokazać drogę którą powinieneś przejść by &quot;zrozumieć&quot; temat. Mam nadzieję, że gdy piszesz &quot;oglądałem poradniki Mirka&quot; to masz na myśli oglądanie ze zrozumieniem. Osobiście przechodzenie całej drogi uważam za robienie Krok po Kroku to co Mirek pokazuje w poradnikach i co jest podstawą oglądanie ich do samego końca. Pozdrawiam<br /><br />Wysłane z mojego HTC One_M8 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9051">adamBo</a> — 29 lis 2016, o 08:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-28T23:40:57+01:00</updated>
<published>2016-11-28T23:40:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175913#p175913</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175913#p175913"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175913#p175913"><![CDATA[
Jeszcze nie doszłam do ostatniej części poradnika, chciałem na bieżąco wprowadzać zmiany w kodzie do mojego układu aby uzyskać pożądany efekt<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 28 lis 2016, o 23:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-28T23:35:13+01:00</updated>
<published>2016-11-28T23:35:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175912#p175912</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175912#p175912"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175912#p175912"><![CDATA[
Masz zestaw 1.05 i nie obejrzałeś ostatniego cyklu poradników o enkoderze ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 lis 2016, o 23:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-28T23:24:54+01:00</updated>
<published>2016-11-28T23:24:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175911#p175911</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175911#p175911"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175911#p175911"><![CDATA[
Program się kompiluje bez błędów jednak dalej nie działa jak powinien. Dioda świeci cały cały czas i nie ma reakcji na kręceniem enkoderem. W którym miejscu mam błąd<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 28 lis 2016, o 23:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-28T13:05:06+01:00</updated>
<published>2016-11-28T13:05:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175827#p175827</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175827#p175827"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175827#p175827"><![CDATA[
Aha <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> jak wrócę wieczorem z pracy to sprawdzę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 28 lis 2016, o 13:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-28T12:58:41+01:00</updated>
<published>2016-11-28T12:58:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175826#p175826</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175826#p175826"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175826#p175826"><![CDATA[
<div class="quotetitle">kejza napisał(a):</div><div class="quotecontent"><br />Jak usunąłem średnik to pojawił się błąd w tym miejscu<br /></div><br /><br />Zgadza się, bo procedurę obsługi przerwania umieściłeś w pętli while().<br />Powinno być tak:<br />[syntax=c]while(1) {<br /><br />    if( !(PIND &amp; encoder) ) {               // Ściemnianie LED<br />    if( OCR0 &gt; 0 ) {<br />    OCR0--;<br />    _delay_ms(15);<br />    }<br />    }<br /><br />    if( !(PIND &amp; encoder) ) {         // Rozjaśnianie LED<br />    if( OCR0 &lt; 255 ) {<br />    OCR0++;<br />    _delay_ms(15);<br />    }<br />    }<br /><br />    }<br />}<br />   <br />ISR( INT0_vect ) {<br /><br />static uint8_t dir;<br />    <br />if(!(PIND &amp; (1&lt;&lt;PD2))) {<br />dir = (PIND &amp; (1&lt;&lt;PD3));<br />} else {<br />if(dir != (PIND &amp; (1&lt;&lt;PD3))){<br />if( dir ) encoder++;<br />else encoder--;<br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 28 lis 2016, o 12:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-28T12:47:16+01:00</updated>
<published>2016-11-28T12:47:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175825#p175825</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175825#p175825"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175825#p175825"><![CDATA[
Jak usunąłem średnik to pojawił się błąd w tym miejscu <br />Multiple markers at this line<br />- previous declaration of '__vector_1' was here<br />- static declaration of '__vector_1' follows non-static <br /> declaration<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 28 lis 2016, o 12:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-28T12:33:51+01:00</updated>
<published>2016-11-28T12:33:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175824#p175824</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175824#p175824"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175824#p175824"><![CDATA[
<div class="quotetitle">kejza napisał(a):</div><div class="quotecontent"><br />ISR( INT0_vect ); {<br /></div><br /><br />Usuń średnik i powinno ruszyć.  <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=7157">anshar</a> — 28 lis 2016, o 12:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-28T11:30:51+01:00</updated>
<published>2016-11-28T11:30:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175822#p175822</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175822#p175822"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175822#p175822"><![CDATA[
Oglądałem część poradników i próbowałem użyć najprostszej obsługi enkodera jednak bez rezultatu. Sprzętowo podłączony jest według schematu Pana Mirka (korzystam ze zestawu ATB 1.05)<br /><br /> [syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br /><br />#define led     (1&lt;&lt;PB3)<br /><br />volatile int encoder;<br /><br />int main(void) {<br /><br /><br />        PORTD |=(1&lt;&lt;PD2); // enkoder A<br />        PORTD |=(1&lt;&lt;PD3); // enkoder B<br />        DDRB    |=     led;<br />        GICR |= (1&lt;&lt;INT0);<br />        MCUCR |= (1&lt;&lt;ISC01)| (1&lt;&lt;ISC00);<br /><br /><br />        TCCR0 |= (1&lt;&lt;WGM01)|(1&lt;&lt;WGM00);<br />        TCCR0 |= (1&lt;&lt;COM01)|(1&lt;&lt;COM00);<br />        TCCR0 |= (1&lt;&lt;CS00);<br /><br />        OCR0 = 255;<br /><br />        sei() ;<br /><br /><br />        while(1) {<br /><br />        if( !(PIND &amp; encoder) ) {               // Ściemnianie LED<br />                        if( OCR0 &gt; 0 ) {<br />                                OCR0--;<br />                                _delay_ms(15);<br />                       }<br />                }<br /><br />                if( !(PIND &amp; encoder) ) {         // Rozjaśnianie LED<br />                        if( OCR0 &lt; 255 ) {<br />                                OCR0++;<br />                               _delay_ms(15);<br />                     }<br />                }<br /><br /><br />ISR( INT0_vect ); {<br />static uint8_t dir;<br />if(!(PIND &amp; (1&lt;&lt;PD2))) {<br />dir = (PIND &amp; (1&lt;&lt;PD3));<br />} else {<br />if(dir != (PIND &amp; (1&lt;&lt;PD3))){<br />if( dir ) encoder++;<br />else encoder--;<br />}<br />     }<br />           }<br />        }<br />      }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 28 lis 2016, o 11:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2016-11-27T12:50:18+01:00</updated>
<published>2016-11-27T12:50:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175745#p175745</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175745#p175745"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175745#p175745"><![CDATA[
Tak<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 27 lis 2016, o 12:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-27T12:39:09+01:00</updated>
<published>2016-11-27T12:39:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175743#p175743</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175743#p175743"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175743#p175743"><![CDATA[
A więc muszę w pętli while sprawdzać czy został dokonany obrót enkoderem, jeśli tak to w jaką stronę i w zależności od tego OCR0 zwiększyć o 1 lub zmniejszyć o 1? Dobrze myślę?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 27 lis 2016, o 12:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adamBo]]></name></author>
<updated>2016-11-25T21:01:50+01:00</updated>
<published>2016-11-25T21:01:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175650#p175650</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175650#p175650"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175650#p175650"><![CDATA[
I świetnie...a teraz małe kino zimowe <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2016/02/enkoder-obrotowy-od-podstaw.html?m=1" >http://mirekk36.blogspot.com/2016/02/en ... w.html?m=1</a><!-- m --><br /><br />Wysłane z mojego HTC One_M8 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9051">adamBo</a> — 25 lis 2016, o 21:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-25T19:46:21+01:00</updated>
<published>2016-11-25T19:46:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175644#p175644</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175644#p175644"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175644#p175644"><![CDATA[
Dodałem obsługę 2 przycisków do ściemniania i rozjaśniania, trochę musiałem się wspomóc materiałami z forum, ale efekcie końcowym zadanie domowe zostało odrobione <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br /><br />[syntax=c]// sterownik led pwm obsługa przyciskiem<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />#define KL_M (1&lt;&lt;PC7)<br />#define KL_P (1&lt;&lt;PC6)<br /><br />#define LED     (1&lt;&lt;PB3)<br /><br /><br />int main(void) {<br /><br />        DDRC    =      KL_M|KL_P;<br />        PORTC   =      KL_M|KL_P;<br />        DDRB    |=     LED;<br /><br /><br />        TCCR0 |= (1&lt;&lt;WGM01)|(1&lt;&lt;WGM00);<br />        TCCR0 |= (1&lt;&lt;COM01)|(1&lt;&lt;COM00);<br />        TCCR0 |= (1&lt;&lt;CS00);<br /><br />        OCR0 = 255;<br /><br />        while(1) {<br /><br />        if( !(PINC &amp; KL_P) ) {               // Ściemnianie LED<br />                        if( OCR0 &gt; 0 ) {<br />                                OCR0--;<br />                                _delay_ms(15);<br />                        }<br />                }<br /><br />                if( !(PINC &amp; KL_M) ) {         // Rozjaśnianie LED<br />                        if( OCR0 &lt; 255 ) {<br />                                OCR0++;<br />                                _delay_ms(15);<br />                        }<br />                }<br /><br />        }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 25 lis 2016, o 19:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2016-11-23T22:47:27+01:00</updated>
<published>2016-11-23T22:47:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175491#p175491</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175491#p175491"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175491#p175491"><![CDATA[
Poczytaj o tablicach. Przyda Ci się tu taka 3-elementowa, a do kompletu jeszcze jedna zmienna, do wskazywania elementu tej tablicy i masz praktycznie gotowe zarządzanie wyborem led, którego ściemniasz <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> — 23 lis 2016, o 22:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-23T20:55:45+01:00</updated>
<published>2016-11-23T20:55:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175477#p175477</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175477#p175477"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175477#p175477"><![CDATA[
A więc jutro działam dalej <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=14284">kejza</a> — 23 lis 2016, o 20:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adamBo]]></name></author>
<updated>2016-11-23T20:14:26+01:00</updated>
<published>2016-11-23T20:14:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175465#p175465</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175465#p175465"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175465#p175465"><![CDATA[
No to ok, krok do przodu. A teraz krok do tyłu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> wywal kolego te wszystkie fory z pomiędzy pętli while (niepotrzebnie idziesz w liniowość programu)i zamiast tego wstaw obsługę dwóch przycisków jeden od wypełnienia -- a drugi do ++. Do enkodera dojdziemy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Wysłane z mojego HTC One_M8 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9051">adamBo</a> — 23 lis 2016, o 20:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-23T18:37:37+01:00</updated>
<published>2016-11-23T18:37:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175459#p175459</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175459#p175459"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175459#p175459"><![CDATA[
Idąc za radą kolegi adamBo zacząłem od sterowania programowego PWM.<br />Powstało mi coś takiego [syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />volatile uint8_t led1, led2;<br /><br /><br /><br />int main(void)<br /><br />{ //TIMER2<br />DDRD |= (1&lt;&lt;PD7);<br />TCCR2 |= (1&lt;&lt;WGM21);// tryb  CTC<br />TCCR2 |= (1&lt;&lt;CS20);// preskaler = 1<br />OCR2 = 255;// dodatkowy podział częsttotliwości przez 200<br />TIMSK |= (1&lt;&lt;OCIE2);// zezwolenie na przerwanie CompareMatch<br /><br /><br />DDRB |= (1&lt;&lt;PB3); // kierunek pinu PB3 - WY<br />TCCR0 |= (1&lt;&lt;WGM01) | (1&lt;&lt;WGM00); // fast pwm<br />TCCR0 |= (1&lt;&lt;COM01) | (1&lt;&lt;COM00); // clear OC at TOP<br />TCCR0 |= (1&lt;&lt;CS01); // preskaler 1<br />OCR0 = 255;<br /><br /><br />sei();// odblokowanie globalne przerwań<br />uint8_t i;// definicja zmiennej i na potrzeby pętli for()<br /><br />while(1)<br />{<br />for(i=0; i&lt;255; i++)<br />{<br />OCR2=i;<br />OCR0=i;<br />led1=i;<br />led2=i;<br />if(i&gt;255) _delay_ms(3);<br />else<br />_delay_ms(10);<br />}<br /><br />OCR0=0;<br />OCR2=255;<br />led1=0;<br />led2=255;<br />_delay_ms(10);<br /><br /><br />for(i=255;i;i--)<br />{<br />OCR0=i;<br />OCR2=i;<br />led1=i;<br />led2=i;<br />if(i&gt;50) _delay_ms(3);<br />else<br />_delay_ms(10);<br />}<br />OCR0=0;<br />OCR2=0;<br />led1=0;<br />led2=0;<br />_delay_ms(10);<br />   }<br />}<br /><br />// ciało procedury obsługi przerwania Compare Match Timera2<br />ISR( TIMER2_COMP_vect )<br />{<br />static uint8_t cnt; // definicja naszego licznika PWM<br />if(cnt&gt;=led2) PORTD |= (1&lt;&lt;PD7); else PORTD &amp;= ~(1&lt;&lt;PD7);<br />cnt++;// zwiększanie licznika o 1<br /><br />}[/syntax]<br /><br />Nie wiem teraz tylko jak dodać do tego obsługę enkodera aby można było nim ściemniać i rozjaśniać diody.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 23 lis 2016, o 18:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mysteziz]]></name></author>
<updated>2016-11-22T21:23:49+01:00</updated>
<published>2016-11-22T21:23:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175422#p175422</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175422#p175422"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175422#p175422"><![CDATA[
Cześć. Ja kiedyś miałem problem co i jak z tym enkoderem i w końcu napisałem sobie własną funkcję do obłsugi enkodera. Może nie jest optymalna ale działa.<br /><br />[syntax=c]void encoder_event(void)<br />{<br /><br />a=(((PIND) &amp; (0b00001100))&gt;&gt;2);  //enkoder podłączony do pinów 2 i 3 portu d, przesunięcie w prawo<br />new=(a&gt;&gt;1)^a;                          //o dwie pozycje aby mieć stany zmiennej 0,1,2,3<br />if(!(last==new))                          //tu funkcja wykrywa czy enkoder został obrócony<br />{<br />        switch(new)<br />        {<br />        case 0:<br /><br />        if(last==1) --enco_cnt;<br />        if(last==3) ++enco_cnt;<br />        last=new;<br />        break;<br /><br />        case 1:<br /><br />        if(last==0) ++enco_cnt;<br />        if(last==2) --enco_cnt;<br />        last=new;<br />        break;<br /><br /><br />        case 2:<br /><br />        if(last==1) ++enco_cnt;<br />        if(last==3) --enco_cnt;<br />        last=new;<br />        break;<br /><br />        case 3:<br /><br />        if(last==2) ++enco_cnt;<br />        if(last==0) --enco_cnt;<br />        last=new;<br />        break;<br />        }<br /><br />}[/syntax]<br /><br /> enco_cnt to zmienna która zawiera stan zliczania enkodera, oprócz tego trzeba sobie w programie zadeklarować zmienne pomocnicze:<br />a<br />last<br />new<br />W moim programie funkcję wywoływałem cyklicznie co 1 ms i działa. I jest zbudowana tak, że wykrywa każdy impuls, czyli co jedno tryknięcie enkodera są 4 impulsy. Jeśli chcesz żeby wartość zmieniała się co 1 to najprościej podzielić wynik przez 4.<br />Kod zamieszczam w celach edukacyjnych-może się przyda;).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14012">Mysteziz</a> — 22 lis 2016, o 21:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adamBo]]></name></author>
<updated>2016-11-22T21:11:41+01:00</updated>
<published>2016-11-22T21:11:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175419#p175419</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175419#p175419"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175419#p175419"><![CDATA[
Callbacki to Ty sobie zostaw na podwieczorek. Zacznij od zaświecenia diody później wprowadz pwm do płynnego zciemiania i rozjaśniania, obsługę enkodera  itd.  Małymi kroczkami do przodu.<br /><br />Wysłane z mojego HTC One_M8 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9051">adamBo</a> — 22 lis 2016, o 21:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-22T20:49:47+01:00</updated>
<published>2016-11-22T20:49:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175418#p175418</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175418#p175418"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175418#p175418"><![CDATA[
Czytałem w BB o PWM, na arduino trochę się nim też bawiłem, zapoznam się jeszcze z callbekami co to za zwierz i z czym to się je. Poradniki o enkoderach oglądałem. Pozostało zaprzyjaźnić się z enkoderem i spróbować poskładać to w całość.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 22 lis 2016, o 20:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-11-22T20:41:02+01:00</updated>
<published>2016-11-22T20:41:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175416#p175416</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175416#p175416"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175416#p175416"><![CDATA[
Witam<br />Ogólne składowe Twojego programu możesz znaleźć:<br />- sterowanie jasnością poszcz. LED'ów - PWM programowy - źródło BB<br />- liniowość jaśniej/ciemniej w osi położenia - tablica z korekcją GAMMA - źródło mkAVRCalculator<br />- obsługa enkodera - źródło - cykl poradników na YT kol. Mirka.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 22 lis 2016, o 20:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-22T19:56:12+01:00</updated>
<published>2016-11-22T19:56:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175414#p175414</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175414#p175414"/>
<title type="html"><![CDATA[Re: sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175414#p175414"><![CDATA[
Poradzisz sobie, poradzisz!<br />Poczytaj odnośnie PWM w BB (Sterowanie PWM str.236).<br />Obsługę enkodera znajdziesz na blogu: <!-- m --><a class="postlink" href="http://mirekk36.blogspot.co.uk/2016/02/enkoder-obrotowy-od-podstaw.html" >http://mirekk36.blogspot.co.uk/2016/02/ ... dstaw.html</a><!-- m --><br />lub:<br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.co.uk/2013/04/siujemy-sie-z-callbackami-w-c.html" >http://mirekk36.blogspot.co.uk/2013/04/ ... i-w-c.html</a><!-- m --><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.co.uk/2013/04/encoder-avr-callbackow-ciag-dalszy-cz2.html" >http://mirekk36.blogspot.co.uk/2013/04/ ... y-cz2.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 22 lis 2016, o 19:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kejza]]></name></author>
<updated>2016-11-22T19:37:00+01:00</updated>
<published>2016-11-22T19:37:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175413#p175413</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175413#p175413"/>
<title type="html"><![CDATA[sterownik LED PWM + enkoder]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16878&amp;p=175413#p175413"><![CDATA[
Witam kolegów, potrzebuję pomocy bardziej doświadczonych programistów w napisaniu programu. Jestem na początku swojej przygody z językiem C i sam sobie z tym nie poradzę. Nie chodzi mi o podanie &quot;gotowca&quot; tylko o wskazanie drogi jaką należy podążać  aby uzyskać zaplanowany efekt. <br />Potrzebuję zrobić sterownik który będzie płynnie ściemniał i rozjaśniał niezależnie 3 żarówki led 12V. Ściemnianie i rozjaśnianie ma być dokonywane enkoderem a przycisk w nim wbudowany ma służyć do wyboru 1 z 3 żarówek. Może ktoś natknął się na podobny układ lub ma program na którym mógłbym się wzorować. <br /><br />Z góry dziękuję za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14284">kejza</a> — 22 lis 2016, o 19:37</p><hr />
]]></content>
</entry>
</feed>