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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-02-27T16:55:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=9678&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-02-27T16:55:10+01:00</updated>
<published>2018-02-27T16:55:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204656#p204656</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204656#p204656"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204656#p204656"><![CDATA[
dlatego tak jak pisałem - dla tereningu ! .... na pewno warto <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> tym bardziej że to wciąż ćwiczenie technik programowania<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2018, o 16:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-27T14:38:53+01:00</updated>
<published>2018-02-27T14:38:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204653#p204653</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204653#p204653"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204653#p204653"><![CDATA[
Dzięki Mirku.<br />Masz racje. Po co wyważać drzwi, ale jak można sądzić po postach, to ja jeszcze wszystkiego nie wiem o zwykłych wyświetlaczach<br />alfanumerycznych. Może mógłbym poprzestać na tym i iść dalej, ale nie chcę powielać starych błędów i ciągnąć kilku srok na raz.<br />Jeśli nie rozumiem w całości fragmentu kodu, to potem będzie tylko gorzej. Ja się Panie Mirku nigdzie nie spieszę  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> . To jest tylko<br />hobby i przyjemność. Warstwy i efekty, to też hartcore, a jednak super i można....<br />Tym bardziej, że posiadam <span style="color: #40FF80">GB</span> i Twoje biblioteki do graficznych, PixelFactory itd..., to mądrzej będzie jeszcze<br />trochę zaczekać. Gdzieś na forum widziałem nawet kalkulator dotykowy zrobiony na grafice przez jednego z &quot;naszych&quot; guru, a więc<br />dużo już jest, a żeby się przesiąść.<br />A tak na marginesie, to czy ten mój pomysł jest powiedzmy w dobrym kierunku, bo muszę zacząć działać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .<br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 27 lut 2018, o 14:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-02-27T14:07:12+01:00</updated>
<published>2018-02-27T14:07:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204652#p204652</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204652#p204652"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204652#p204652"><![CDATA[
<div class="quotetitle">Robson napisał(a):</div><div class="quotecontent"><br />czy można inaczej, czy też prościej ?<br /></div><br />Pewnie, po prostu pomyśleć w końcu o wyświetlaczu graficznym <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo to już taki lekki hardcore <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... no ale dla treningu to wszystko można - to całkiem inna sprawa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2018, o 14:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-27T13:50:53+01:00</updated>
<published>2018-02-27T13:50:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204651#p204651</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204651#p204651"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204651#p204651"><![CDATA[
Dzięki Sylwku<br />Ja staram się używać sterowania z bufora i tak też jest w tym przypadku. Nie mniej jednak udało mi się rozwiązać ten problem.<br />Zrezygnowałem ze znaku 0x20 i wszystko zaczęło działać tak, jak chciałem i jak jest przy innych kodach dotyczących tworzenia<br />paska na lcd. W oryginale (jak wiesz zresztą) jest tak:<br /><br />[syntax=c]uint8_t p0&#91;&#93; = { 16, 16, 16, 16, 16, 16, 16, 16 };<br />uint8_t p1&#91;&#93; = { 24, 24, 24, 24, 24, 24, 24, 24 }; <br />uint8_t p2&#91;&#93; = { 28, 28, 28, 28, 28, 28, 28, 28 };<br />uint8_t p3&#91;&#93; = { 30, 30, 30, 30, 30, 30, 30, 30 };<br />     <br />uint8_t p&#91;&#93; = {0x20, 0x80, 0x81, 0x82, 0x83};[/syntax]<br /><br />U mnie natomiast jest tak:<br /><br />[syntax=c]const uint8_t jeden&#91;&#93; PROGMEM = {0, 0, 16, 16, 21, 16, 16, 0};          // 1<br />const uint8_t dwa&#91;&#93; PROGMEM = {0, 0, 24, 24, 29, 24, 24, 0};            // 2<br />const uint8_t trzy&#91;&#93; PROGMEM = {0, 0, 28, 28, 29, 28, 28, 0};           // 3kreski składające się na pełną kolumnę w pamięci FLASH<br />const uint8_t cztery&#91;&#93; PROGMEM = {0, 0, 30, 30, 31, 30, 30, 0};         // 4<br />const uint8_t piec&#91;&#93; PROGMEM = {0, 0, 31, 31, 31, 31, 31, 0};           // 5<br /><br />uint8_t p&#91;&#93; = { 0x80, 0x81, 0x82, 0x83, 0x84};[/syntax]<br /><br />Nie ma 0x20 i dodatkowo utworzyłem znak 0x84 w celu zmniejszenia wielkości kolumny wyświetlanej. Kiedyś chyba pisaliśmy na ten temat.<br />Dla tego zamiast:<br />[syntax=c]uint8_t a=0; while(a++&lt;xp1) lcd_char(0xff);    //negatyw spacji[/syntax]<br /><br />jak u włąściciela, u mnie jest:<br /><br />[syntax=c]while(a++&lt;xp1)<br />buf_char(0x84);           //negatyw spacji mój własny znak<br />buf_char(p&#91;xp2&#93;);[/syntax]<br /><br />Temat ze znikającym znakiem uważam za zamknięty.<br /><br />Oczywiście przy pisaniu ciągle i ciągle przychodzą nowe pomysły i teraz będę kombinował, jak by tu zrobić jeszcze jeden fajny efekt.<br />Mianowicie chcę wykombinować, a żeby przy powrocie paska do zera wartości ostatnia cegiełka się trochę zatrzymywała i dopiero<br />po czasie doganiała opadający pasek. Widywałem nieraz takie efekty w sprzęcie audio np.<br />Na początek, nie wiem, czy dobrze kombinuję, to chyba powinienem utworzyć kolejny znak, który bym nakładał na wędrujący<br />pasek i który pokazywałby max. sygnału, tak jak końcówka paska. Widoczne by to było, jako jeden pasek bez dodatkowego znaku,ale<br />on by był cyklicznie wyświetlany współbieżnie i &quot;zamrażany&quot; przy wartościach szczytowych.<br />Czy moje myślenie idzie w dobrym kierunku i tak mógłbym zacząć, czy można inaczej, czy też prościej ?<br />Czy może ktoś mi podpowiedzieć? Dzięki wielkie za wszelką pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 27 lut 2018, o 13:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2018-02-27T11:27:49+01:00</updated>
<published>2018-02-27T11:27:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204648#p204648</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204648#p204648"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204648#p204648"><![CDATA[
Ogólnie ja nie mam problemu z pustym znakiem na końcu, bo normalnie w swoich projektach po prostu go nie drukuje. Korzystam z buforowej/cyklicznej obsługi LCD i nie muszę nic zmazywać z wyświetlacza, po prostu w momencie kiedy ma coś zniknąć z ekranu to tego nie drukuje w odróżnieniu od standardowej metody wypełnienia tego miejsca spacjamii lub komendą CLS (w przypadku kasowania całego ekranu). Przy standardowej obsłudze LCD musi być jednak coś co kasuje z ekranu już niepotrzebny znak (czyli tu koniec linijki) i czy go zastąpisz spacją czy zdefiniowanymi kropkami to już zależy od Ciebie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 27 lut 2018, o 11:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-27T10:50:51+01:00</updated>
<published>2018-02-27T10:50:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204646#p204646</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204646#p204646"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204646#p204646"><![CDATA[
Melduję manie Sylwku, że podpowiedź z dodaniem kropek do już istniejących kresek była jak najbardziej na miejscu.<br />Dziwię się sobie, czemu mam nieraz taką blokadę w głowie. no nie pomyślałem.<br />Faktem jest, że mam ze trzy metody na zrobienie pasków i na dwóch innych zadziałało od razu, a w Twojej wersji, która jest<br />trochę inna (co nie znaczy gorsza) jest kłopot z drukującym się pustym znakiem zaraz za linijką, o czym pisałem wcześniej.<br />Wiem, dałeś małą podpowiedź, ale trochę nie czaję. Dzięki jeszcze raz. pozdrawiam.<br /><br />Przy okazji wstawię kawałek kodu rysującego kropki, który napisałem trochę źle chyba. Niech będzie w miarę normalny.<br /><br />[syntax=c]void dots_line(void)<br />    {<br />            for(uint8_t    b=0;    b&lt;15;    b++)<br />            {<br />                    buf_locate(1,b);<br />                    buf_char('\x85');<br />            }<br />     <br />    }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 27 lut 2018, o 10:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-23T12:24:33+01:00</updated>
<published>2018-02-23T12:24:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204429#p204429</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204429#p204429"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204429#p204429"><![CDATA[
Dzięki Sylwku.<br />Będę kombinował, ale tak na dobre to dopiero od poniedziałku. W weekend nie będzie czasu. Pozdrawiam.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />Dzięki Sylwku.<br />Będę kombinował, ale na dobre od poniedziałku. Teraz muszę zakończyć, a w weekend nie będzie czasu na hobby. Pozdrawiam.<br /><br />Trochę namieszałem. Nie zauważyłem, że druga strona się zaczęła i myślałem, że nie poszedł post  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /> .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 23 lut 2018, o 12:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2018-02-23T12:15:58+01:00</updated>
<published>2018-02-23T12:15:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204428#p204428</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204428#p204428"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204428#p204428"><![CDATA[
Kombinuj <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> może wstaw jakiś warunek o drukowaniu czegoś lub nie kiedy osiągnięty jest pewien stan... <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=1922">SylwekK</a> — 23 lut 2018, o 12:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-23T11:56:58+01:00</updated>
<published>2018-02-23T11:56:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204424#p204424</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204424#p204424"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204424#p204424"><![CDATA[
Bardzo dziękuję Sylwekk.<br />W 50% mi pomogłeś. Ja rozumiem, że dla Ciebie takie sprawy są banalnie proste. Musisz jednak mi wybaczyć słabą kreatywność.<br />No nie pomyślałem, że przecież tak można. Pierwsza kreska i dwie kropki, jako jeden znak, dwie kreski i dwie kropki, jako drugi znak,<br />trzy kreski i jedna kropka, jako 3 znak itd...No ale proste jest zazwyczaj trudne  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> . Ja mam dodatkowy pasek z samymi kropkami,<br />jako kolejny własny znak, który się wyświetla w pętli for. A jeden z parametrów tej pętli odpowiada za ostateczną długość paska.<br />Na tą chwilę pozostał jeszcze jeden mały problem, że kolejny segment za końcem paska wędrującego jest pusty. To jest pewnie<br />wyświetlenie pustego znaku. Występuje to tylko wówczas, kiedy poprzedni segment jest całkowicie zajęty przez swój znak. Kiedy<br />natomiast jest wyświetlony częściowo (pierwsza kreska segmentu i kolejne kropki, druga kreska i kropki, trzecia kreska i kropki itd...),<br />to wówczas ten następny w przodzie  segment i kolejne po nim są normalnie z kropkami. Dopiero kiedy w danym segmencie nastąpi<br />całkowite zaciemnienie, to znikają kropki w kolejnym. Sorry, że naklepałem tyle o tych kropkach i kreskach, ale chciałem dokładnie<br />opisać przypadek. Kombinuję dalej... Jeszcze raz dzięki za wskazówkę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 23 lut 2018, o 11:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2018-02-23T11:05:39+01:00</updated>
<published>2018-02-23T11:05:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204419#p204419</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204419#p204419"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204419#p204419"><![CDATA[
A może po prostu niech każda definicja znaku zawiera te kropki w sobie i dodatkowo zdefiniuj sobie jeszcze zamiast spacji same kropki. Albo czegoś ja teraz nie rozumiem albo próbujesz koło na nowo odkryć, bo temat wydaje się być banalny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 23 lut 2018, o 11:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-23T10:33:26+01:00</updated>
<published>2018-02-23T10:33:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204417#p204417</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204417#p204417"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204417#p204417"><![CDATA[
Witam po małej przerwie.<br />Mirku, jeśli przypadkiem przeczytasz mój post, to powiem tylko, że przejrzałem 9 poradników o enkoderze i dwa epilogi dotyczące<br />bargrafów, ale jakoś nie trafiłem. przyznaje, że poradniki o enkoderach przeleciałem pobieżnie, ale dwa pozostałe obejrzałem od<br />dechy do dechy. Może po prostu przeoczyłem, ale nie znalazłem odpowiedzi na mój przypadek.<br />Z kodu zawartego z poradnika wynika, ze zostały również wyczerpane wszystkie możliwe definicje własnych znaków od <br />0x80 do 0x87. Ponad to w bargrafach z poradnika nie ma sytuacji, jak u mnie, że wyświetla się statycznie linijka kropek, a na<br />niej wyświetlany jest ruchomy pasek.<br />Swoją drogą, to myślałem, że jak w pętli będę wyświetlał te dwie nałożone na siebie rzeczy, to takiego negatywnego efektu nie będzie.<br />Oko nie zauważy, ale się myliłem. Temat puki co jest otwarty. Może jest jakiś sposób na ominięcie tej niedogodności ?  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 23 lut 2018, o 10:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-22T20:58:46+01:00</updated>
<published>2018-02-22T20:58:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204385#p204385</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204385#p204385"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204385#p204385"><![CDATA[
Dziękuję Mirku.<br />Pod linkiem, który mi podałeś akurat nie trafiłem na rozwiązanie, ale przejrzę wszystkie. Tak na marginesie, to jestem w posiadaniu Twego kodu w wersji<br />&quot;pro&quot;, ale akurat w tym konkretnym przypadku zastosowałem trochę inne rozwiązanie. Jak dojdę, co i jak, to się pochwalę. Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 22 lut 2018, o 20:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-02-22T15:01:20+01:00</updated>
<published>2018-02-22T15:01:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204362#p204362</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204362#p204362"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204362#p204362"><![CDATA[
tam jest kilka poradników z tej serii w jednym z nich omawiam jak można to realizwać w C<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 lut 2018, o 15:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-22T14:50:38+01:00</updated>
<published>2018-02-22T14:50:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204361#p204361</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204361#p204361"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204361#p204361"><![CDATA[
Dziękuję Mirku<br />Zagłębiam się za studiowanie poradnika...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 22 lut 2018, o 14:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-02-22T14:39:44+01:00</updated>
<published>2018-02-22T14:39:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204360#p204360</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204360#p204360"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204360#p204360"><![CDATA[
<!-- m --><a class="postlink" href="https://youtu.be/x_Xbg259yaM?t=1201" >https://youtu.be/x_Xbg259yaM?t=1201</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 lut 2018, o 14:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2018-02-22T14:17:44+01:00</updated>
<published>2018-02-22T14:17:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204359#p204359</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204359#p204359"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=204359#p204359"><![CDATA[
Ostatnio przeglądałem &quot;wymęczone&quot; w Eclipsie swoje programiki i pomyślałem sobie, co by tu jeszcze zmienić, ew. dodać.<br />Otóż mam wskaźnik-bargraf, który pokazuje mi wartość napięcia na lcd (hd44780). W necie widywałem różne ciekawe<br />pomysły na wizualizację i wpadło mi w oko takie rozwiązanie, jak na foto:<br /><br /><br /><a href="https://obrazkiforum.atnel.pl/6641/b194941a79e34e867054b7686a51a104.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/6641/b194941a79e34e867054b7686a51a104.jpg" alt="Obrazek" /></a><br /><br /><br />Dorobiłem sobie cienki pasek w postaci kropek;<br /><br />[syntax=c]uint8_t dots &#91;&#93; = {0, 0, 0, 0, 21, 0, 0, 0};[/syntax]<br /><br /><br />i napisałem małą pętlę:<br /><br />[syntax=c]void dots_line(void)<br />{<br />uint8_t b=0;<br /><br />for(b=0;b&lt;15;b++)<br />{<br />buf_locate(1,b);<br />buf_char('\x85');<br />        }<br /><br />}[/syntax]<br /><br />Linia z kropkami ładnie się wyświetla. Następnie na nią &quot;nałożony&quot; jest pasek obrazujący poziom napięcia, który przesuwa się<br />od lewej do prawej. Wszystko było by fajnie, tylko działanie nie jest do końca takie, jak chciałem.<br />Wiadomo, że te kilka kropek znajduje się w jednym segmencie kolumny i kiedy przesuwająca się linijka nachodzi na kolejny<br />segment, to wygasza od razu wszystkie kropki tego segmentu i tworzy się mały obszar bez tych kropek. nie ma tej płynności....<br />Rozumiem, że powinienem utworzyć kilka znaków (jedna kropka, dwie kropki, trzy kropki, itd..., razem 5 kropek) i odpowiednio je wyświetlić, tak, jak robię to z samym paskiem. Tylko, że kończy mi się możliwość tworzenia własnych znaków(wyczerpały się) i <br />szczerze mówiąc, nie wiem co by tu w takiej sytuacji można było zrobić. Czy w ogóle w mojej sytuacji jest jakieś wyjście.<br /><br />Oczywiście można by z tego w ogóle zrezygnować, no ale zachciało mi się takiej zajawki, no i jestem w kropce.<br /><br />Wyświetlacz sterowany jest buforowo. Może ma ktoś z kolegów jakieś remedium na ten problem. Z góry dziękuję.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 22 lut 2018, o 14:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2017-06-20T06:30:24+01:00</updated>
<published>2017-06-20T06:30:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190968#p190968</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190968#p190968"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190968#p190968"><![CDATA[
Dzięki SylwekK<br /><br />Siadam do zagadnienia, kiedy tylko mam czas, ale z tym problem. Napisałem trochę inaczej , poprawiłem i samo wyświetlanie wartości jest ok.<br />Nie wpadłbym na to, gdyby nie Twoje wskazówki. Punkty oczywiście przydzielę, jak siądę na dłużej i dokończę. Wartość napięcia narasta szybko<br />, a zatrzymuję na np 1s. Jest ok, tylko chcę jeszcze bardziej przytrzymać wynik na lcd, a to z kolei wpływa na inne dane na wyświetlaczu.<br />Walczę nad tym. Wieczorkiem zapodam kod do wglądu. Słusznie zauważyłeś. To lcd_cls(); trochę mi miesza w programie. Jak to rozwiązać<br />&quot;spacjami&quot; (jakiś przykład). Tak sobie myślę, że jak pętla kręci się szybko, to czy zauważę efekt?.<br />Na razie.<br /><br /><br />Nie mam dostępu do mojego Eclipse, ale o ile pamiętam, to jakoś tak mam na tą chwilę:<br />[syntax=c]if( pomiar &gt; wartosc_szczytowa ) wartosc_szczytowa = pomiar;<br />{<br />lcd_locate(1,5);<br />lcd_int( wartosc_szczytowa );<br /><br />if(!Timer1)<br />{<br />Timer1 = 100;<br />wartosc_szczytowa = pomiar;<br />lcd_cls();<br />lcd_locate(1,5);<br />lcd_int( wartosc_szczytowa );<br />}<br />}[/syntax]<br /><br /><br />Jeszcze raz dzięki Sylwku. Pozostałem na razie z tą wersją, aczkolwiek sposób z drukowaniem spacji również przetestowałem i jest ok. Sorki, że tak późno<br />odpisuję, ale mam ważniejsze sprawy i C jest na dalszym planie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 20 cze 2017, o 06:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-06-19T14:44:07+01:00</updated>
<published>2017-06-19T14:44:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190925#p190925</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190925#p190925"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190925#p190925"><![CDATA[
Powinno działać. Niepokoi mnie tylko to cls przed każdym wyświetlaniem. Zajmuje ono sporo czasu i lepiej zastąpić go drukowaniem spacji w miejscu gdzie chcesz wykasować jakieś dane.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 19 cze 2017, o 14:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2017-06-17T13:38:01+01:00</updated>
<published>2017-06-17T13:38:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190820#p190820</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190820#p190820"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190820#p190820"><![CDATA[
Dzięki Sylwku, że znalazłeś czas, a żeby odpisać.<br />Coś zaczyna wychodzić, tylko występuje mały problem z wyświetlaniem. Wypociłem coś takiego w oparciu o Twoje podpowiedzi:<br /><br /><br />[syntax=c]wynik1 = wynik;<br /><br />       if(wynik1 &gt; wartosc_szczytowa) wartosc_szczytowa = wynik1;<br /><br />          if( !Timer1 )<br />          {<br />          Timer1 = 50;<br /><br />          if(wynik1 &gt; wartosc_szczytowa) wartosc_szczytowa = wynik1;<br />          {<br />          lcd_cls();<br />          lcd_locate(1,12);<br />          lcd_int(wartosc_szczytowa);<br />          }<br />          }<br /><br />   //_delay_ms(20);<br />}[/syntax]<br /><br />Oczywiście powołałem dwie zmienne: uint16_t wynik1; i uint16_t wartosc_szczytowa;  (zmienne globalne). Uint16_t wynik1; jest powiązany z pomiarem ADC i<br />jako postać 0-1023. Wyświetlają się dwie wartości adc, ta &quot;normalna&quot; i ta szczytowa-spowolniona, uśredniona, szczytowa.<br />Problem wygląda tak, że wyświetlają się dwie takie same wartości (oczywiste). Kiedy pokręcę potencjometrem, to szczytowa dogania (0,5s) tą normalna, ale<br />kiedy zmniejszam wartość adc, to ta szczytowa zostaje na zapamiętanej ostatniej wartości i się nie zmienia.<br />Pewnie chodzi o skasowanie, odświeżenie tego pomiaru, ale mam już taki mętlik w głowie, że nie myślę racjonalnie  <img src="https://forum.atnel.pl/images/smilies/icon_evil.gif" alt=":evil:" title="Zły" /> .<br /><br />Czy to, co namodziłem jest ok (pomiar wartości szczytowych) i co ewentualnie robię źle. Proszę o wsparcie forumowiczów.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 25 minutach ]</span></strong><br /><br />Popełniłem jeszcze mała korektę i wyglada to następująco:<br />[syntax=c]wynik1 = wynik;<br />       if(wynik1 &gt; wartosc_szczytowa) wartosc_szczytowa = wynik1;<br /><br />          if( !Timer1 )<br />          {<br />          Timer1 = 50;<br /><br />          wartosc_szczytowa = wynik1;<br />          <br />      lcd_cls();<br />      lcd_locate(1,12);<br />      lcd_int(wartosc_szczytowa);<br /><br /><br />          }<br /><br />   //_delay_ms(20);<br />}[/syntax]<br /><br />Wydaje mi się, że chyba jest to, o co mi chodziło, tylko byłoby fajnie, gdyby czas narastania był krótki (gonienie za napięciem), a czas wyświetlania nawet<br />po zaniku na wejściu adc był nieco wydłużony. Co by nu wykombinować i czy teraz jest do przyjęcia taka oto wersja ?.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 17 cze 2017, o 13:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-06-17T08:17:27+01:00</updated>
<published>2017-06-17T08:17:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190801#p190801</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190801#p190801"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190801#p190801"><![CDATA[
Wartość szczytowa to prosta sprawa. Bierzesz dodatkową zmienną, która będzie też służyła do wyświetlania wyników i porównujesz ją z aktualnym wynikiem i teraz jeśli aktualny wynik jest większy niż stan zmiennej to przypisujesz ten wynik do tej zmiennej i jednocześnie ustawiasz timer na odliczenie 1s. Po odliczeniu czasu przez timer znowu przypisujesz aktualny stan. Pamiętaj, że samo porównanie musi być poza timerem aby ewentualnie wychwycić jakąś kolejną max wartość i ponownie ustawić timer na 1s.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 17 cze 2017, o 08:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2017-06-17T07:10:37+01:00</updated>
<published>2017-06-17T07:10:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190800#p190800</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190800#p190800"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190800#p190800"><![CDATA[
Nie mogę poradzić sobie, jak rozwiązać to programowo. Teoretycznie rozumiem, co SylwekK mi poradził, ale za Chiny ludowe nie mogę ruszyć z kodem.<br />Może któryś z biegłych forumowiczów mi podpowie na zaczątek  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> . ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 17 cze 2017, o 07:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2017-06-16T06:26:04+01:00</updated>
<published>2017-06-16T06:26:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190766#p190766</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190766#p190766"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190766#p190766"><![CDATA[
Sorki, że tak późno odpisuję, ale inne zajęcia były.<br /><br />Napisałem krótki program, a żeby było czytelniej i człon main wygląda następująco:<br /><br /><br />[syntax=c]int main(void)<br />{<br />   DDRC|=(1&lt;&lt;PC2);<br />   PORTC |=(1&lt;&lt;PC2);<br /><br />   soft_timer_init();<br />   adc_init();<br />   lcd_init();<br /><br />   sei();<br /><br />   while(1)<br />   {<br />   wyswietl_napiecie();<br />   }<br /><br />}[/syntax]<br /><br /><br />W funkcji wyswietl_napiecie(); chcę wyświetlić wartość ADC , jako tą stabilną, wartość szczytowa.....Nie jestem pewny, czy idę w dobrą<br />stronę używając timera w ten sposób.Co by tu dalej poczynić.<br />W fynkcji wyswietl_napiecie(); między innymi kodami do wyświetlenia napięcia w woltach i po przecinku mam tak:<br /><br /><br />[syntax=c]if( !Timer1 )<br />   {<br />   Timer1 = 100;<br />   lcd_cls();<br />   lcd_locate(1,12);<br />   lcd_int(pomiar(PA6));<br />   }[/syntax]<br /><br /><br />Przerwanie:[syntax=c]void soft_timer_init(void)<br />{<br />/* Timer2 – inicjalizacja przerwania co 10ms */<br />TCCR2 |= (1&lt;&lt;WGM21);// tryb pracy CTC<br />TCCR2 |= (1&lt;&lt;CS22)|(1&lt;&lt;CS21)|(1&lt;&lt;CS20);// preskaler = 1024<br />OCR2 = F_CPU/1024UL/100UL;// przerwanie porównania co 10ms (100Hz)<br />TIMSK = (1&lt;&lt;OCIE2);// Odblokowanie przerwania CompareMatch<br />}<br />//---------------------------------------------------------------------------<br />ISR( TIMER2_COMP_vect )<br />{<br />uint16_t n;<br /><br />n = Timer1;/* 100Hz Timer1 */<br />if (n) Timer1 = --n;<br />}[/syntax]<br /><br />Funkcjonuje to nawet ciekawie ale reakcja przy szybkim pokręceniu jest taka, że wyświetlenie zmienia się z opóźnieniem (reakcja po chwili<br />kiedy nastąpi zmiana napięcia), no i na razie nie mam pomysłu jak wyłuskać tylko wartości szczytowe i je wyświetlać.<br />Rozumiem zamysł Twojej podpowiedzi Sylwku i o co kaman, ale puki co nie wiem, jak zastosować to w kodzie.<br />Pozdrowionka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 16 cze 2017, o 06:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2017-06-14T12:07:23+01:00</updated>
<published>2017-06-14T12:07:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190673#p190673</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190673#p190673"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190673#p190673"><![CDATA[
Dziękuję Sylwku za odpisanie i za chęć pomocy.<br />Będę próbował zastosować się do Twoich wskazówek, może coś się uda.<br />Jeśli któryś z kolegów forumowiczów ma jeszcze jakieś pomysły,to bardzo proszę podzielić się.<br />Dzięki na razie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 14 cze 2017, o 12:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-06-14T09:34:48+01:00</updated>
<published>2017-06-14T09:34:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190669#p190669</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190669#p190669"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190669#p190669"><![CDATA[
Użyj dodatkowego timerka programowego, który będzie odliczał czas wyświetlania wartości, a żeby ta jakoś bardziej logiczne działało to niech czas będzie odliczany (powiedzmy od 0,5-1s) dla aktualnie największej odczytanej wartości, tzn. jeśli odczytasz, np. wartość 30, a za kilkadziesiąt ms pojawi się 35 to niech czas odliczania 30 zostanie od razu przerwany i niech wyświetli i od początku odlicza dla wartości 35. Po odliczeniu tej 1s łapie to co aktualne i tak w koło. Dzięki temu wartości szczytowe będą miały priorytet.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 14 cze 2017, o 09:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Robson]]></name></author>
<updated>2017-06-14T09:09:15+01:00</updated>
<published>2017-06-14T09:09:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190663#p190663</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190663#p190663"/>
<title type="html"><![CDATA[Re: ADC graficzne wyświetlenie wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9678&amp;p=190663#p190663"><![CDATA[
Ponieważ nie wiem,jak podejść do mojego problemu,postanowiłem zapytać kolegów na forum.<br />Wykonałem wskaźnik wysterowania wzmacniacza na linijce i jednoczesne wyświetlanie napięcia. Jestem zadowolony z działania mojego<br />wskaźnika, ale jest jeden szczegół,którego nie mogę rozwiązać.Linijka reaguje szybko na zmiany napięcia na wejściu adc i tak ma być.<br />Natomiast wyświetlanie wartości napięcia zmienia się zbyt szybko i trudno jest odczytać wskazania.Zastosowałem uśrednianie,filtr cyfrowy<br />z poradników Mirka, ale w moim konkretnym przypadku potrzeba czegoś więcej.Czy może ktoś zaproponuje jakiś pomysł.Chcę,a żeby wartość<br />napięcia narastała również szybko,synchronicznie z wyświetlaniem linijki,ale po zaniku tegoż napięcia jeszcze przez moment była widoczna<br />wartość w voltach(cyferki).Chodzi o to,a żeby odczyt wartości był stabilny,czytelny(jakby uśredniony,zamrożony).Tyczy się to wartości<br />szczytowych,maksymalnych.<br />Filtr cyfrowy,uśrednianie, powoduje również opóźnienie narastania wartości wyświetlanej,a tego nie chcę.Oczywiście nie czepiam się<br />pomysłu Mirka,ponieważ w Jego założeniu działa bardzo dobrze i spełnia swoje zadanie,ale u mnie musi funkcjonować trochę inaczej i na tą<br />dolegliwość nie mam pomysłu.<br />Może ktoś zmierzył się kiedyś z podobnym tematem,albo ma rozwiązanie.Z góry dziękuję za wszelkie wskazówki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6641">Robson</a> — 14 cze 2017, o 09:09</p><hr />
]]></content>
</entry>
</feed>