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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-01-17T13:57:47+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=22788&amp;mode</id>
<entry>
<author><name><![CDATA[Wirnick]]></name></author>
<updated>2020-01-17T13:57:47+01:00</updated>
<published>2020-01-17T13:57:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224197#p224197</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224197#p224197"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224197#p224197"><![CDATA[
Dobrze, że się wyjaśniło.Ja zazwyczaj nie odpowiadam na PW, ponieważ cenię otwartość tego forum i przychylność userów w udzielaniu pomocy. Śmiało przedstawiaj pytania i wątpliwości. Jak przejdziesz w lekturze BB rozdział 4.5. to będziesz już na głębokiej &quot;wodzie&quot; w poznawaniu AVR i programowaniu w C/C++. Razem z tobą zaczynam powtarzać lekturę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9272">Wirnick</a> — 17 sty 2020, o 13:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gregory099]]></name></author>
<updated>2020-01-16T08:42:29+01:00</updated>
<published>2020-01-16T08:42:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224180#p224180</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224180#p224180"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224180#p224180"><![CDATA[
Dziękuję kolegom za podpowiedzi teraz temat dlaczego trzeba użyć while się wyjaśnił <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=21128">gregory099</a> — 16 sty 2020, o 08:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2020-01-16T08:30:55+01:00</updated>
<published>2020-01-16T08:30:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224178#p224178</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224178#p224178"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224178#p224178"><![CDATA[
<div class="quotetitle">gregory099 napisał(a):</div><div class="quotecontent"><br />zapytanie jeszcze mam odnośnie porównania do Arduino w pętli loop bądź setup gdy jakiś program się wpisało np proste mruganie dioda poszło od strzała a dlaczego w AVR nie ruszy nic jeśli wszystkiego nie wezmę np w klamry pętli while?<br /></div>Jeśli znajdziesz sobie plik arduino.h (albo arduino.cpp. Albo coś w tym stylu), to w pewnym miejscu jest taki zapis (mniej więcej, z głowy piszę): [syntax=cpp]int main()<br />{<br />  setup();<br />  for (;;)  // to akurat jest zamiast while()<br />  {<br />    loop();<br />  }<br />}[/syntax]<br />Co to oznacza? Że to, co w czystym C/C++ musisz napisać sam, arduino załatwia &quot;po cichu&quot;.<br />Z mojej strony, polecam jednak odstawić arduino, w ten sposób nie nauczysz się programować. Piszę (niestety) z własnego doświadczenia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 16 sty 2020, o 08:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2020-01-15T20:07:27+01:00</updated>
<published>2020-01-15T20:07:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224174#p224174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224174#p224174"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224174#p224174"><![CDATA[
Zacznij kolego od podstaw - studiuj BB bo inaczej się nie da.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 15 sty 2020, o 20:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wirnick]]></name></author>
<updated>2020-01-15T20:12:02+01:00</updated>
<published>2020-01-15T20:05:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224173#p224173</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224173#p224173"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224173#p224173"><![CDATA[
Przechodząc na platformy trzeba spełnić jej rygory. W arduino muszą być funkcje setup i loop. W C/C++ main(ciało programu) i while()(program główny). Warto zainstalować na komputerze program AVPlayer - otrzymasz dość pokaźną dawkę wiedzy z poradników wideo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9272">Wirnick</a> — 15 sty 2020, o 20:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gregory099]]></name></author>
<updated>2020-01-15T19:49:51+01:00</updated>
<published>2020-01-15T19:49:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224171#p224171</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224171#p224171"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224171#p224171"><![CDATA[
Jest jest różnica między Arduino a AVR . Bob też mam od niedawna i staram się uczyć powoli. Myślę że kiedyś ogarnę temat;). A zapytanie jeszcze mam odnośnie porównania do Arduino w pętli loop bądź setup gdy jakiś program się wpisało np proste mruganie dioda poszło od strzała a dlaczego w AVR nie ruszy nic jeśli wszystkiego nie wezmę np w klamry pętli while?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21128">gregory099</a> — 15 sty 2020, o 19:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wirnick]]></name></author>
<updated>2020-01-15T19:25:45+01:00</updated>
<published>2020-01-15T19:25:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224170#p224170</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224170#p224170"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224170#p224170"><![CDATA[
Niema takiej platformy programistycznej, by obeszło się od wklepywania programu ręcznie. Chociaż raz trzeba tego dokonać, by procesor z peryferiami stał się samodzielnym robotem. Też miałem problemy zrozumieć funkcjonowanie procesora i dzięki BB Pana Mirka poznałem co tkwi w szczegółach(wnętrznościach procka), a tego nie musisz wiedzieć programując w Arduino. Programuję też w arduino szukając pomocy w skieczach i helpach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9272">Wirnick</a> — 15 sty 2020, o 19:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gregory099]]></name></author>
<updated>2020-01-15T18:20:19+01:00</updated>
<published>2020-01-15T18:20:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224167#p224167</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224167#p224167"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224167#p224167"><![CDATA[
Witam. Spokojnie koledzy jak to mówią kto pyta nie błądzi. I wychodzi właśnie różnica pomiędzy Arduino a czystym pisaniem w C. Raczej chodziło mi na odwrót kolego Wirnick np że gdy termistor 10k podłączony do ADC odczyta wartość temperatury np 30 stopni C uruchom wentylator przy pomocy PWM w 50% jego pełnego zakresu. W Arduino wiem ze mozna było to zrobić tutaj widze że też by można było tylko raczej na piechote wszystko w sensie takim że ręcznie wpisywać  wypełnienie w PWM. Chyba że jestem w błędzie to proszę o korektę mojej wypowiedzi <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21128">gregory099</a> — 15 sty 2020, o 18:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wirnick]]></name></author>
<updated>2020-01-15T08:38:05+01:00</updated>
<published>2020-01-15T08:38:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224158#p224158</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224158#p224158"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224158#p224158"><![CDATA[
@gregory099  Poruszyłeś zagadnienie związane z porównaniem platform programowania w języku C/C++.<br />Platformą na tym forum jest AVR Toolchain i jej funkcje wewnętrzne. Arduino ma swoje funkcje wewnętrzne.<br />Wspólnym obiektem programowania jest mikroprocesor AVR. Rejestr ADCW zawiera wynik pomiaru ADC. Znając ten wynik wskazujesz co ma się znajdować w innych rejestrach wewnętrznych lub wyjściowych. Np. jeżeli ADCW jest 50% to pin PD0 ma być 0(dioda LED podłączona do tego pinu &quot;świeci&quot;).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9272">Wirnick</a> — 15 sty 2020, o 08:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2020-01-14T20:40:47+01:00</updated>
<published>2020-01-14T20:40:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224156#p224156</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224156#p224156"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224156#p224156"><![CDATA[
Jak jesteś początkujący to najpierw rozpisz sobie jakie działania matematyczne należy wykonać by przeskalować wartości z 0-1023 na 0-100. Zaglądanie do kodów źródłowych Arduino to myślę, że powinno się robić na wyższym poziomie zaawansowania.<br /><br />P. S. Jak nie masz to polecam Mirkowego Blue Booka - potężna dawka wiedzy dla początkującego i nie tylko.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 14 sty 2020, o 20:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[moscow]]></name></author>
<updated>2020-01-14T20:43:15+01:00</updated>
<published>2020-01-14T20:29:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224155#p224155</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224155#p224155"/>
<title type="html"><![CDATA[Re: ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224155#p224155"><![CDATA[
Jeśli jakaś funkcjonalność z Arduino działa wystarczająco dobrze, to czasem najprościej zajrzeć do kodu źródłowego danej funkcji. Czasem można po prostu przekleić, czasem napisać samemu coś na podstawie.<br /><br />Googlując trochę - tutaj na stronie znalazłem ciekawą dyskusją na temat tej funkcji oraz potencjalnych wariantów (zaokrągleń). <br /><br /><!-- m --><a class="postlink" href="https://github.com/arduino/ArduinoCore-API/issues/51" >https://github.com/arduino/ArduinoCore-API/issues/51</a><!-- m --><br /><br />W szczególności można wykorzystać pewnie ten fragment<br /><br />[syntax=c]#include &lt;stdio.h&gt;<br /><br />// This is the original map() function in Arduino Core<br />long map(long x, long in_min, long in_max, long out_min, long out_max)<br />{<br />  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;<br />}<br /><br />// This is the same but with the +1 &quot;range extrension&quot; as suggested by st42<br />long mapPlus1(long x, long in_min, long in_max, long out_min, long out_max)<br />{<br />  return (x - in_min) * (out_max - out_min + 1) / (in_max - in_min + 1) + out_min;<br />}<br /><br />// This is another version of map with rounding done only with integer calculations<br />// as suggested by M.Kooijman<br />long mapRound(long x, long in_min, long in_max, long out_min, long out_max)<br />{<br />  return ((x - in_min) * (out_max - out_min) + (in_max - in_min)/2) / (in_max - in_min) + out_min;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20760">moscow</a> — 14 sty 2020, o 20:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gregory099]]></name></author>
<updated>2020-01-14T20:09:43+01:00</updated>
<published>2020-01-14T20:09:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224154#p224154</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224154#p224154"/>
<title type="html"><![CDATA[ADC mapowanie zakresu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22788&amp;p=224154#p224154"><![CDATA[
Witam serdecznie wszystkich. W temacie programowania AVR jestem zielony;) Troszke miałem styczności z zabawą Arduinem UNO natomiast teraz wzięło mnie natchnienie na poznanie czystego języka C w AVR. I w związku z tym mam pewne zapytanie odnośnie ADC. Mianowicie gdy ustawie sobie już wszystkie parametry zwiazane z ADC w Atmega32 i powiedzmy przy przekręceniu potencjometrem zmieniają mi sie wartości od 0-1023 czy istnieje taka opcja aby użyć jak to w arduino było tzw. mapowania zakresu w sensie takim że np bedzie map_zakres(0,1023,0,100) wartość 0-1023 zamienić na wartości z przedziału 0%-100%? A następnie wykorzystać w sposób ze gdybym miał podpiety czujnik temperatury temperaturę mam np 20C więc uruchom wentylator przy pomocy timera i fast PWM na 30%??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21128">gregory099</a> — 14 sty 2020, o 20:09</p><hr />
]]></content>
</entry>
</feed>