<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=15532&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-06-08T11:46:15+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15532&amp;mode</id>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2016-06-08T11:46:15+01:00</updated>
<published>2016-06-08T11:46:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161895#p161895</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161895#p161895"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161895#p161895"><![CDATA[
Mi się natomiast odrazu w oczy rzuciło to:<br /><br />[syntax=c]uint8_t wynik;<br />uint16_t pm;<br />uint8_t cz_d, cz_u;<br /> <br />pm = pomiar(5);<br />wynik = pm* 25 * 13;[/syntax]<br />pm masz z zakresu 0-65535... mnozysz to razy 25 i razy 13 jeszcze i ma ci to dac liczbe w zakresie od 0-255?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 8 cze 2016, o 11:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-06-07T22:14:56+01:00</updated>
<published>2016-06-07T22:14:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161866#p161866</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161866#p161866"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161866#p161866"><![CDATA[
Kolega dobrze podpowiedzial.  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  czyli tylko poczytaj o MUXach.<br />......................................................................................<br />Czy próbowałeś zewrzeć czujniki ( nóżki scalaka )? Jeżeli pokażą zbieżne wartości to będzie znaczyło że rozbieżność jest w czujnikach. tzn w charakterystyce przewodzenia pod wpływem światła.<br />Może zamień czujniki i zobacz czy po wyskalowaniu dziwne zachowanie się podmieniło miejscami.<br /><br />Co do MUXów,w tym procesorze do ustalenia ADC są 3. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> czwarty jest do &quot; 1,30(VBG) oraz 0V (GND)&quot;, <br />dlatego możesz  &quot;czwartego-MUX3&quot; - zamaskować.  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />0000-ADC0<br />0001-ADC1<br />0010-ADC2<br />0011-ADC3<br />0100-ADC4<br />0101-ADC5<br />0110-ADC6<br />0111-ADC7<br />......................................................<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 7 cze 2016, o 22:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[maverick_as]]></name></author>
<updated>2016-06-07T23:16:21+01:00</updated>
<published>2016-06-07T22:04:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161865#p161865</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161865#p161865"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161865#p161865"><![CDATA[
A robiłeś następujące ćwiczenie ?;<br />nie ruszając ustawień potencjometrów, zamień miejscami podawane na wejścia sygnały analogowe, czyli sygnał z dotychczasowego 2 fotorezystora na 1-sze wejście ADC i odwrotnie.<br /><br />A tak na marginesie ,nie bardzo rozumiem po co Ci w tym konkretnym przypadku znajomość napięcia. Stosujesz fotorezystory ,które  zmieniają swoją rezystancję w zależności od natężenia podającego światła.Czyli mierząc R fotorezystora pośrednio mierzysz natężenie światła. Dzielnik napięcia R2 100kOm /fotorezystor (wróciłem do pierwotnego schematu) jest zasilany z Vcc podobnie jak uP. Jak wykorzystasz Vcc jako napięcie odniesienia do konwersji ADC , występuje ono z obu stron równania przetwarzania i się upraszcza. W przeliczeniach istotna jest wartość R2 ! Dlatego zastosowanie PR1 zamiast stałego R2 jest wielce dyskusyjne ( w zależności od położenia ślizgacza wartość rezystancji między zaciskami 2-3 trzeba zmierzyć i wstawić do przeliczeń).<br />Może spróbuj tak;<br />- zastosuj R2 100 kOm - możesz je przesortować stosując nawet najprostrzy miernik, różnica między rezytorami rzędu: 1000 Om to 1%, 500 Om - to 0,5 % ,250 Om 0,25% itd. - wybierzesz n (tyle ile chcesz torów pomiarowych) najmniej różniących się,<br />- zestaw n torów pomiarowych jak poprzedniu R2/fotorezytor podpięty do Vcc,<br />- zakładam ,że stosujesz fotorezystory tego samego typu,<br />- umieść fotorezystory jak najbliżej siebie ,a źródło światła na tyle daleko, aby można było przyjąć ,że na każdy z nich pada światło o tym samym natężeniu.<br />- dokonaj pomiarów dla każdego toru ,<br />- zwiększ odległość źródła światła (zmniejszasz natężenie światła padajacego),<br />- dokonaj pomiarów dla nowych warunków oświetleniowych dla każdego toru,<br />- powtórz powyższe dwa kroki, ile razy tam sobie życzysz - w ten sposób otrzymasz realne krzywe natężenie światła-R dla każdego fotorezystora,<br />- jak zwizualizujesz wyniki np w OpenOffice czy innym arkuszu kalkulacyjnym, będziesz wiedzał jak różnią się egzemplarze fotorezystorów między sobą,<br /><br />i to bybyło dzisiaj na tyle.<br />Pozdr.<br /><br />P.S Powyższe o upraszczaniu sie Vref obowiązuje oczywiście dla przypadku gdy napięcie odniesienia ADC i zasilania dzielnika są takie same. <br />Jak stosujesz wewnętrzne Vref 2,56V  to uzyskasz większą dokładność w zakresie &quot;ciemniejszym&quot; fotorezystora ale tracisz informację co dzieje się w zakresie &quot;jaśniejszym&quot; ,gdy napięcie na wejściu ADC przykroczy 2,56V. Wypadałoby wtedy też , o ile masz wolne wejście ADC , mierzyć napięcie zasilania dzielnika oporowego R2/fotorezystor po uprzednim zmniejszeniu na dzielniku oporowym np. 1/2 , 2x10kOm.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9169">maverick_as</a> — 7 cze 2016, o 22:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pablo22]]></name></author>
<updated>2016-06-07T21:40:17+01:00</updated>
<published>2016-06-07T21:40:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161864#p161864</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161864#p161864"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161864#p161864"><![CDATA[
Rozumiem, że może być problem ze zrozumieniem tego co piszę <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br />Rysunek wrzucony wcześniej pokazał podłączenie jednego czujnika do pinu PC5. Robilem pomiary miernikiem i po kreceniu potencjometrem wartosci zmienialy sie tak ja powinny. Następnie w identyczny sposób podłączyłem do pinu PC4 kolejny czujnik i do głownej pętli wrzuciłem oprócz pm = pomiar(5) także pm1 = pomiar(4) (pomiar z kolejnego pinu adc) . Po wgraniu programu do mikrokontrolera 1 czujnik smiga dobrze, drugi takze i po kreceniu potencjometerem wartosci zachowuja sie prawidlowo(0-2.56) tak jak wybralem napiecie odniesienia. <br /><br />Problem jest w momencie ustawienia przez potencjometry prawie rownych wartosci rozdzieczosci( patrzac na wyswietlacz ) . powiedzmy na czujnik1 jest w zakresie od 0-1023 liczba 800 a na drugim czujniku wartosc 820.  jezeli napiecie odniesienia mam 2,56 to blad na 1 kroku to 0,0025 wiec tutaj blad napiecia miedzy dwoma wynikami to 0,05V. W momencie przykrycia 1czujnika dostaje 0 prawidlowe. Jak zrobie tak samo z drugim czujnikem to dostaje wartosc z kosmosu tzn 50 i do tego jakies napiecie 0,2V. Skąd tak duży błąd? <br /><br />Z tym maskowaniem bitow to czasem pan Mirek nie mowil ze w tym przypadku Atmega8 jest tylko 7 mozliwosci wiec maskujemy tylko 3 bity a nie cztery? (to apropo wczesniejszego posta).<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14148">pablo22</a> — 7 cze 2016, o 21:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-06-07T21:10:20+01:00</updated>
<published>2016-06-07T21:10:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161861#p161861</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161861#p161861"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161861#p161861"><![CDATA[
Witam,<br /><br />Kolego <strong>pablo22</strong><br /><br />wczytuję się w posty i mam problem ze zrozumieniem podejmowanych kroków. <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Chodzi mi o chronologię. <br />Wskazana część kodu wskazuje na przesył odczytu z ADC5;<br />Natomiast piszesz ze po zakryciu fotorezystora drugiego, wskazania są błędne.<br />Jeżeli wysyłasz odczyt z ADC5, i zakrycie drugiego fotorezystora zmienia wskazania,<br />to świadczyłoby o niewłaściwym podłączeniu.<br />Jeżeli masz możliwość, to sprawdź miernikiem napięcie na ADC5 po ustawianiu na 0.( kalibracja),<br />i zobacz co się stanie po zakryciu drugiego fotorezystora.<br />Jeżeli napięcie wzrośnie, bo to sugerują opisy, to znaczy że błąd w podłączeniu.<br /><br />chyba że źle coś zrozumiałem.( na fotce jest podpięty jeden foto, czy pozostałe mają identyczne podłączenie? czy każdy ma oddzielny PR-do masy).?<br /><br />Jeżeli chodzi o odczyt z kilku ADC, to przyda się PDF-ka.<br />ustawiając MUX-y, od żadnego - do 7, ustawiasz aktualny odczyt z jednego z ADC.<br />Do zapisania w tablicy np. wynik[numer], możesz użyć swojej funkcji pomiar(numer)- i tę zmienną cyklicznie zmieniać. A wysyłając wyniki, przydałoby się je rozdzielić np.<br /><br />p1  wynik[0]  p2 wynik[1]...                  ...i zaczynasz linijkę od początku.<br /><br />ew.<br />[syntax=c]/*  if(!numer)  ........ zacznij od początku linijki  */<br />uart_putint(numer,10);<br />uart_putc('..');<br />uart_putint(cz_d,10);<br />uart_putc('.');<br />uart_putint(cz_u,10);<br />uart_putc('V');<br />;[/syntax]<br />tak poglądowo  <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=11549">Daro69</a> — 7 cze 2016, o 21:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pablo22]]></name></author>
<updated>2016-06-07T20:58:42+01:00</updated>
<published>2016-06-07T20:58:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161860#p161860</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161860#p161860"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161860#p161860"><![CDATA[
No rzeczywiście zrobiłem babola, jednak problemu po zmianie bitu to nadal nie rozwiązuje;/ Operacje na bitach w rejestrach są wystarczające? Jak ustawiłem je na taką samą wartość to przecież powinny zachowywać się identycznie i zmiany po 0,2V(przy zakrywaniu) są niedopuszczalne<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14148">pablo22</a> — 7 cze 2016, o 20:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-06-07T20:17:50+01:00</updated>
<published>2016-06-07T20:17:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161858#p161858</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161858#p161858"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161858#p161858"><![CDATA[
Witam<br />Nie wiem, czy nie za mało zer masz w masce:<br />[syntax=c]ADMUX = (ADMUX &amp; 0b11111000) | kanal;[/syntax]<br />MUX'ów jest cztery.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 7 cze 2016, o 20:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pablo22]]></name></author>
<updated>2016-06-07T17:33:19+01:00</updated>
<published>2016-06-07T17:33:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161844#p161844</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161844#p161844"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161844#p161844"><![CDATA[
Pojawił się w międzyczasie innego typu problem. Dodałem na chwilę obecną do układu tylko 2 fotorezystory więc korzystam cały czas z powyższego wyliczenia zamiana rozdzielczości na część dziesiętną i ułamkową. Tak ustawiłem potencjometry przy fotorezystorze, że pokazuję na ekranie wartości w przybliżeniu takie same, które później są zamieniane na napięcie. <br /><br />W momencie całkowitego przykrycia jednego fotorezystora dostaje właściwe wartości czyli 0 w przypadku rozdzielczosci przez więc napięcie płynące również 0V, niestety w przypadku przykrycia drugiego dostaje wartość różniące się od 0 i nie mówię tutaj o 10-20 krokach w rozdzielczości 10-bitowej ale nawet 100-120 przy jakimś napięciu. <br /><br />Rozumiem, że jest to błąd wynikający z nieprawidłowego ustawienia rejestru, w przypadku odczytywania kilku danych z przetwornika ADC? <br /><br /><br />Na chwilę obecną ustawiona inicjalizacja ADC wygląda następująco:<br />[syntax=c]ADCSRA |= (1&lt;&lt;ADEN); <br />ADCSRA |= (1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1); // preskaler ustawiony na 64<br />ADMUX |= REF_256; // ustawienie wewnetrznego zrodla odniesienia[/syntax]<br /><br />Pominąłem ustawienie jakiegoś bitu w rejestrze? Próbowałem po pierwszym pomiarze odczekać delayem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> 1sekunde a nastepnie odczytac drugi pomiar ale to nic nie daje. <br /><br />Moja funkcja pomiarowa wygląda następująco<br />[syntax=c]uint16_t pomiar(uint8_t kanal)<br />{<br />ADMUX = (ADMUX &amp; 0b11111000) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC); // start konwersji<br />while( ADCSRA &amp; (1&lt;&lt;ADSC) ); // mozna wywalic jak ma byc pomiar co kilka sek <br />return ADCW; <br />}[/syntax]<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14148">pablo22</a> — 7 cze 2016, o 17:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[maverick_as]]></name></author>
<updated>2016-06-07T06:47:57+01:00</updated>
<published>2016-06-07T06:47:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161804#p161804</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161804#p161804"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161804#p161804"><![CDATA[
Miałem na myśli taki sposób;<br /><br />wynik[i] = TwojaFunkcjaObrabiajacaPomiar ( pomiar[i]); // gdzie i przyjmuje warości 0,1,2 (wspomniałeś o 3 fotorezystorach).<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9169">maverick_as</a> — 7 cze 2016, o 06:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-06-06T19:03:19+01:00</updated>
<published>2016-06-06T19:03:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161770#p161770</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161770#p161770"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161770#p161770"><![CDATA[
Witam<br /><div class="quotetitle">pablo22 napisał(a):</div><div class="quotecontent"><br />Kontynuując wątek (topic15524.html) pomiarów za pomocą przetwornika ADC chciałem odczytać wartości z kilku fotorezystorów.<br /></div><br />...mogłeś zostać przy starym, jeśli jest to cd. tematu - ale ja nie o tym.<br />Czy mierząc napięcia na poszcz. wejściach uC z fotorezystorów potrzebujesz znać napięcie ( nieoświetlony - częściowo ośw. - ciemność ) czy tylko dwustanowo - bo jeśli to drugie to przy odpowiedniej konfiguracji możesz odczytywać stan całego portu wejściowego.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 6 cze 2016, o 19:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pablo22]]></name></author>
<updated>2016-06-06T16:49:08+01:00</updated>
<published>2016-06-06T16:49:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161766#p161766</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161766#p161766"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161766#p161766"><![CDATA[
Dzięki za odpowiedź. Właśnie chciałbym uniknąć, żeby do każdego wyniku w tablicy robić osobną funkcję. <br /><br />same wyniki w rozdzielczości 10-bitowej mógłbym wpisać za pomocą kilku zmiennych np z powyższego <br />[syntax=c]uint8_t wynik1, wynik2, wynik3; <br />uint16_t pm1, pm2 ,pm3;[/syntax]<br /><br />Kombinuję tak, aby skalibrować (na ile to możliwe) dokładnie wszystkie potencjometry aby w momencie nie naświetlania fotorezystorów wartości odczytywanej rozdzielczości były w miarę przybliżone(rozrzut powiedzmy 8-10 czyli niewiele jak na 1024 kroki) i zapisać w programie wartość napięcia dla danej rozdzielczości np. 810-&gt;2V. Program miałby pamiętać ten pomiar i w momencie zmiany naświetlenia dla każdego z 3 czujników liczyłaby się  1 proporcja z powyższej zależności bez długich linijek kodu.<br /><br />Liczę na pomoc, każda pomysł się przyda jak można to rozwiązać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14148">pablo22</a> — 6 cze 2016, o 16:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[maverick_as]]></name></author>
<updated>2016-06-06T11:22:49+01:00</updated>
<published>2016-06-06T11:22:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161751#p161751</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161751#p161751"/>
<title type="html"><![CDATA[Re: Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161751#p161751"><![CDATA[
Z tym delay ms to nie demonizuj. Nie jest to zło o ile wiesz po co i dlaczego go stosujesz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> . Wnioskuję, że chcesz dokonać pomiarów ADC ,obrobić surowe wyniki a następnie wysłać &quot;w świat&quot; przez UART. To może zrobić to w taki sposób ? :<br />- organizujesz tablicę na wyniki pomiarów (tyle elementów ile fotorezystorów),<br />- zapełniasz tablicę wynikami pomiaru,<br />- obrabiasz wyniki pomiarów stosując do każdego elementu tablicy funkcję ,która Ci policzy co tam sobie życzysz,<br />- obrobione wyniki wysyłasz przez UART.<br />- procesor podejmuje inne ważne zadania....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9169">maverick_as</a> — 6 cze 2016, o 11:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pablo22]]></name></author>
<updated>2016-06-06T16:50:10+01:00</updated>
<published>2016-06-06T10:23:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161749#p161749</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161749#p161749"/>
<title type="html"><![CDATA[Pomiar kilku danych z ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15532&amp;p=161749#p161749"><![CDATA[
Witam. Kontynuując wątek (<!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic15524.html" >topic15524.html</a><!-- l -->) pomiarów za pomocą przetwornika ADC chciałem odczytać wartości z kilku fotorezystorów. Z jednego jak na załączonym schemacie dałem radę odczytywać wartości. Problem jest w przypadku podłączenia drugiego elementu. <br /><br />Stosuję zamianę na liczby całkowite jak w przypadku książki o zapisie najpierw części dziesiętnej a następnie ułamkowej. <br /><br /><span style="color: #FF0000">[ a kolega to nie może sięgnąć do instrukcji <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --> jak się wstawia listingi na forum? proszę to poprawić - mirekk36 ]</span><br /><br />[syntax=c]uint8_t wynik;<br />uint16_t pm;<br />uint8_t cz_d, cz_u;<br /><br />pm = pomiar(5);<br />wynik = pm* 25 * 13;<br />cz_d = wynik/10000;<br />cz_u = (wynik/100) % 100;<br />uart_putint(cz_d,10);<br />uart_putc('.');<br />uart_putint(cz_u,10);<br />uart_putc('V');<br /><br />uint16_t pomiar(uint8_t kanal)<br />{<br />ADMUX = (ADMUX &amp; 0b11111000) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC); // start konwersji<br />while( ADCSRA &amp; (1&lt;&lt;ADSC) ); <br />return ADCW; //<br />}[/syntax]<br />Pytanie brzmi czy istnieje jakaś szybsza możliwość odczytywania pomiaru z kilku wejść za pomocą jednej stałej funkcji. pomiar(5)|pomiar(4)?? Istnieje pewnie szybszy sposób niż tworzenie następnej zmiennej do odczytywania wartości z kolejnego pinu i podstawianie nowej wartości do wzorów. Mozolne tworzenie następnych zmiennych zwiększy rozmiar programu a chciałbym do niego dodać jeszcze kilka rzeczy. Czas trwania pomiaru nie jest dla mnie ważny i może być nawet co kilka sekund(wiem o prędkości pomiarów w przetworniku,o tym że jednocześnie nie można korzystać z dwóch wejść i wiem, że delay ms to zło <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />)<br /><br /><a href="https://obrazkiforum.atnel.pl/14148/a619fda2305938dcb4d58c60ee4849a4.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14148/a619fda2305938dcb4d58c60ee4849a4.png" alt="Obrazek" /></a><br />Pozdrawiam <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />EDIT. ZROBIONE PANIE MIROSŁAWIE <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=14148">pablo22</a> — 6 cze 2016, o 10:23</p><hr />
]]></content>
</entry>
</feed>