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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-16T17:36:18+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=10986&amp;mode</id>
<entry>
<author><name><![CDATA[Arek_K]]></name></author>
<updated>2015-03-16T17:36:18+01:00</updated>
<published>2015-03-16T17:36:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123631#p123631</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123631#p123631"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123631#p123631"><![CDATA[
Poprawiłem tak jak zaleciłeś i zmieniłem na PWM 8-bit i teraz jest ok. Dzięki Ci bardzo za tą pomoc. Teraz czas na obsługę czujników. Czy możesz mi sprawdzić czy podłączyłem do dobrych pinów. Wyczytałem gdzieś na forum że Echo musi być podłączony do pinów INT. Natomiast Trig obojętnie. <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=8779">Arek_K</a> — 16 mar 2015, o 17:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marcin_G]]></name></author>
<updated>2015-03-16T10:05:25+01:00</updated>
<published>2015-03-16T10:05:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123589#p123589</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123589#p123589"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123589#p123589"><![CDATA[
Coś tam poprawiłeś, ale dokumentacji dokładnie nie przejrzałeś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Bity WGM13, WGM12, CS10 znajdują się w rejestrze TCCR1B i to w nim należy je ustawiać.<br />Bit COM1B1 jest natomiast w rejestrze TCCR1A.<br />Prawidłowa konfiguracja bitów w rejestrach, powinna wyglądać tak:<br /><br />[syntax=c]// ustawienie końcówki OC1A (PD5) sprzętowy PWM jako WYJŚCIE SI_LP<br /> <br />DDRD |= (1&lt;&lt;PD5);<br />//ustawienia TIMER0 w Fast PWM<br />TCCR1A |= (1&lt;&lt;WGM11)|(1&lt;&lt;WGM10);          // tryb Fast PWM<br />TCCR1B |= (1&lt;&lt;WGM13)|(1&lt;&lt;WGM12);<br />TCCR1A |= (1&lt;&lt;COM1A1);                          // clear at TOP<br />TCCR1B |= (1&lt;&lt;CS10);                                    // preskaler = 1<br />OCR1A=0;                                                        // prędkoć SI_LP<br /> <br />// ustawienie końcówki OC1B (PD4) sprzętowy PWM jako WYJŚCIE SI_LT<br />DDRD |= (1&lt;&lt;PD4);<br />// ustawienia TIMER0 w Fast PWM<br />TCCR1A |= (1&lt;&lt;WGM11)|(1&lt;&lt;WGM10);          // tryb Fast PWM<br />TCCR1B |= (1&lt;&lt;WGM13)|(1&lt;&lt;WGM12);          // tryb Fast PWM<br />TCCR1A |= (1&lt;&lt;COM1B1);                          // clear at TOP<br />TCCR1B |= (1&lt;&lt;CS10);                                    // preskaler = 1<br />OCR1B=0;                                                        // prędkoć SI_LP[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=758">Marcin_G</a> — 16 mar 2015, o 10:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arek_K]]></name></author>
<updated>2015-03-16T00:45:10+01:00</updated>
<published>2015-03-16T00:45:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123578#p123578</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123578#p123578"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123578#p123578"><![CDATA[
Poprawiłem. Ale teraz nie działa OCR1B (PD4). Coś znowu spaprałem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8779">Arek_K</a> — 16 mar 2015, o 00:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marcin_G]]></name></author>
<updated>2015-03-15T09:26:10+01:00</updated>
<published>2015-03-15T09:26:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123512#p123512</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123512#p123512"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123512#p123512"><![CDATA[
Zaglądałeś w ogóle do dokumentacji Atmegi32 ? Patrząc na Twój kod, a zwłaszcza na inicjalizację timerów to wydaje mi się mocno że nie <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Po pierwsze, otwórz notę i poustawiaj rejestry tak jak w niej napisano. <br />A po drugie, skoro zaczynasz dopiero, to odpuść sobie silniki na sam początek, a pobaw się diodami. Na nich super będzie widać czy PWM działa tak jak tego oczekujesz. I jak już będzie, to wtedy podłącz L293D, do jego wyjść diody i znowu posprawdzaj czy wszystko działa tak jak zamierzyłeś, kierunki, PWM-y itd. To tylko takie dobre rady <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=758">Marcin_G</a> — 15 mar 2015, o 09:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arek_K]]></name></author>
<updated>2015-03-14T21:59:01+01:00</updated>
<published>2015-03-14T21:59:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123499#p123499</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123499#p123499"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123499#p123499"><![CDATA[
Kolejny raz proszę o pomoc. Moja wizja tego robota jest następująca:<br />Robocik ma odczytać odległości z dwóch czujników porównać je ze sobą i wykonać czynność skrętu w stronę która ma większy odczyt, bez lcd i innych akcesoriów . Brzmi prosto ale dla mnie problem już na starcie. Więc pomóżcie z odpowiednim podpięciem czujników z PWM na PD5 oraz z obsługą programową tych czujników. Do ARDUINO ijest tego pełno ale Mirek wkręcił mnie swoim kanałem w C i chcę to kontynuować. <br />Zauważyłem jeszcze że jeśli ustawienie pinu PD5 wyrzucam lub ustawie jako komentarz to pin ma stan wysoki i wszystko działa lecz bez PWM. Pozdrawiam <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=8779">Arek_K</a> — 14 mar 2015, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arek_K]]></name></author>
<updated>2015-03-13T14:08:52+01:00</updated>
<published>2015-03-13T14:08:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123360#p123360</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123360#p123360"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123360#p123360"><![CDATA[
Panowie i Panie oczywiście dajcie jakiś pomysł. Z pewnością ktoś coś więcej wie na ten temat. Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8779">Arek_K</a> — 13 mar 2015, o 14:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arek_K]]></name></author>
<updated>2015-03-13T09:22:02+01:00</updated>
<published>2015-03-13T09:22:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123330#p123330</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123330#p123330"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123330#p123330"><![CDATA[
Niestety to nie to. Ale dzięki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8779">Arek_K</a> — 13 mar 2015, o 09:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-03-13T08:46:25+01:00</updated>
<published>2015-03-13T08:46:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123324#p123324</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123324#p123324"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123324#p123324"><![CDATA[
OCR1A zainicjuj 0.<br /><br />255 off<br />0 max<br /><br />Z tego co pamietam przy takim ustawieniu pwm ale to z glowy i moge sie mylic.<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 13 mar 2015, o 08:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arek_K]]></name></author>
<updated>2015-03-13T08:41:18+01:00</updated>
<published>2015-03-13T08:41:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123323#p123323</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123323#p123323"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123323#p123323"><![CDATA[
Witam ponownie. Sprawdziłem czy podając na ten pin stan wysoki będzie działało i jest ok. Więc proszę o pomoc bo nie mam pojęcia co robię źle. A dla was jest to na pewno proste. Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8779">Arek_K</a> — 13 mar 2015, o 08:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arek_K]]></name></author>
<updated>2015-03-12T13:47:05+01:00</updated>
<published>2015-03-12T13:47:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123231#p123231</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123231#p123231"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=123231#p123231"><![CDATA[
Może ktoś mi chociaż powie dlaczego PWM na PD5 nie podaje mi sygnału?<br />Sprawdzałem na drugiej atmedze i to samo. Czyli coś mam chyba źle w kodzie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8779">Arek_K</a> — 12 mar 2015, o 13:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2015-03-09T15:00:47+01:00</updated>
<published>2015-03-09T15:00:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122743#p122743</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122743#p122743"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122743#p122743"><![CDATA[
<div class="quotetitle">Grzegorz... napisał(a):</div><div class="quotecontent"><br />Umieść kod wg. wskazówek: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><br />bo Cię moderatorzy &quot;zjedzą&quot;, a poza tym łatwiej będzie go czytać.<br /><br />-- <br />Grzegorz...<br /></div><br /><br />Nie zjem go (wolę blondynki), skasuję mu posta.  <img src="https://forum.atnel.pl/images/smilies/icon_twisted.gif" alt=":twisted:" title="Szalony" /> <br /><br />Listing do poprawki lub zostanie skasowany...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 9 mar 2015, o 15:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-03-09T14:02:15+01:00</updated>
<published>2015-03-09T14:02:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122735#p122735</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122735#p122735"/>
<title type="html"><![CDATA[Re: Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122735#p122735"><![CDATA[
Umieść kod wg. wskazówek: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><br />bo Cię moderatorzy &quot;zjedzą&quot;, a poza tym łatwiej będzie go czytać.<br /><br />-- <br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 9 mar 2015, o 14:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arek_K]]></name></author>
<updated>2015-03-16T16:56:28+01:00</updated>
<published>2015-03-09T13:50:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122733#p122733</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122733#p122733"/>
<title type="html"><![CDATA[Robot+hc sr04]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10986&amp;p=122733#p122733"><![CDATA[
Witam jestem początkujący i potrzebuję zrobić robota na zajęcia, który przy użyciu HC- sr04 przejedzie przez wyznaczoną trasę pomiędzy deskami. Nie mam pojęcia jak się do tego zabrać. Na początek stworzyłem coś takiego jak zamieściłem. W eaglu też dopiero zaczynam, więc proszę o wyrozumiałość i o wszelkie wskazówki. Zarówno w kodzie jak i w schemacie.  Nie mam pojęcia ja napisać kod do czujników i gdzie je podłączyć do atmegi. Wszystko co znalazłem było na arduino lub na jeden czujnik. Te mają być dwa, lub trzy i umieszczone na rogach robocika lub z boku i z przodu. Wydaje mi się, że dwa powinny wystarczyć ale może się mylę. Proszę o pomoc.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/8779/6d97976c39ba873e3f993e42baa7701f.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/8779/6d97976c39ba873e3f993e42baa7701f.png" alt="Obrazek" /></a><br /><br />Przepraszam to wynikało z mojej niewiedzy.<br /><br />[syntax=c]/*<br />/*<br /> * main.c<br /> *<br /> *  Created on: 09-03-2015<br /> *      Author: Home<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/wdt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />// definicje pinów sterujących<br />#define SI_PP1 PC0<br />#define SI_PP2 PC1<br />#define SI_LP1 PC2<br />#define SI_LP2 PC3<br />#define SI_PT1 PC4<br />#define SI_PT2 PC5<br />#define SI_LT1 PC6<br />#define SI_LT2 PC7<br /><br /><br />// definicje poleceń sterujących pracą silnika<br />#define DC_PRZOD PORTC &amp;= ~(1&lt;&lt;SI_PP1);PORTC &amp;= ~(1&lt;&lt;SI_PT1); PORTC &amp;= ~(1&lt;&lt;SI_LP1);PORTC &amp;= ~(1&lt;&lt;SI_LT1);PORTC |= (1&lt;&lt;SI_PP2);PORTC |= (1&lt;&lt;SI_PT2);PORTC |= (1&lt;&lt;SI_LP2);PORTC |= (1&lt;&lt;SI_LT2)<br />#define DC_LEWO PORTC &amp;= ~(1&lt;&lt;SI_PP1);PORTC &amp;= ~(1&lt;&lt;SI_PT1); PORTC |= (1&lt;&lt;SI_LP1);PORTC |= (1&lt;&lt;SI_LT1);PORTC |= (1&lt;&lt;SI_PP2);PORTC |= (1&lt;&lt;SI_PT2);PORTC &amp;= ~ (1&lt;&lt;SI_LP2);PORTC &amp;= ~ (1&lt;&lt;SI_LT2)<br />#define DC_PRAWO PORTC |= (1&lt;&lt;SI_PP1);PORTC |= (1&lt;&lt;SI_PT1); PORTC &amp;= ~(1&lt;&lt;SI_LP1);PORTC &amp;= ~(1&lt;&lt;SI_LT1);PORTC &amp;= ~ (1&lt;&lt;SI_PP2);PORTC &amp;= ~ (1&lt;&lt;SI_PT2);PORTC |= (1&lt;&lt;SI_LP2);PORTC |= (1&lt;&lt;SI_LT2)<br />#define DC_TYL PORTC |= (1&lt;&lt;SI_PP1);PORTC |= (1&lt;&lt;SI_PT1);PORTC |= (1&lt;&lt;SI_LP1);PORTC |= (1&lt;&lt;SI_LT1); PORTC &amp;= ~(1&lt;&lt;SI_LP2);PORTC &amp;= ~(1&lt;&lt;SI_LT2); PORTC &amp;= ~(1&lt;&lt;SI_PP2);PORTC &amp;= ~(1&lt;&lt;SI_PT2)<br />#define DC_STOP PORTC &amp;= ~(1&lt;&lt;SI_PP1); PORTC &amp;= ~(1&lt;&lt;SI_PT1);PORTC &amp;= ~(1&lt;&lt;SI_LP1);PORTC &amp;= ~(1&lt;&lt;SI_LT1);PORTC &amp;= ~(1&lt;&lt;SI_PP2); PORTC &amp;= ~(1&lt;&lt;SI_PT2);PORTC &amp;= ~(1&lt;&lt;SI_LP2);PORTC &amp;= ~(1&lt;&lt;SI_LT2)<br />#define DC_OBROT PORTC &amp;= ~(1&lt;&lt;SI_PP1);PORTC &amp;= ~(1&lt;&lt;SI_PT1); PORTC |= (1&lt;&lt;SI_PP2);PORTC |= (1&lt;&lt;SI_PT2);PORTC |= (1&lt;&lt;SI_LP1);PORTC |= (1&lt;&lt;SI_LT1); PORTC &amp;= ~(1&lt;&lt;SI_LP2);PORTC &amp;= ~(1&lt;&lt;SI_LT2)<br /><br />/*<br />//definicje pinów HC-SR 1<br />#define SONAR_TRIGGER_DDR1 DDRA<br />#define SONAR_TRIGGER_PORT1 PORTA<br />#define SONAR_TRIGGER_PIN1 PINA<br />#define SONAR_TRIGGER_DQ1 PA0      // Triger na pinie PA0<br />#define SONAR_TRIGGER_INPUT_MODE()1 SONAR_TRIGGER_DDR1&amp;=~(1&lt;&lt;SONAR_TRIGGER_DQ1)<br />#define SONAR_TRIGGER_OUTPUT_MODE()1 SONAR_TRIGGER_DDR1|=(1&lt;&lt;SONAR_TRIGGER_DQ1)<br />#define SONAR_TRIGGER_LOW()1 SONAR_TRIGGER_PORT1&amp;=~(1&lt;&lt;SONAR_TRIGGER_DQ1)<br />#define SONAR_TRIGGER_HIGH()1 SONAR_TRIGGER_PORT1|=(1&lt;&lt;SONAR_TRIGGER_DQ1)<br />#define INSTR_PER_US1 8                                         // US dla 8MHz<br />#define INSTR_PER_MS1 8000                                      // MS dla 8MHz<br />#define MAX_RESP_TIME_MS 200                            // timeout - (maksymalny czas oczekiwania na próbke)<br />#define DELAY_BETWEEN_TESTS_MS 50                       // echo (czekamy, na przetworzenie próbki)<br /><br />//definicje pinów HC-SR 2<br />#define SONAR_TRIGGER_DDR2 DDRA<br />#define SONAR_TRIGGER_PORT2 PORTA<br />#define SONAR_TRIGGER_PIN2 PINA<br />#define SONAR_TRIGGER_DQ2 PA1      // Triger na pinie PA1<br />#define SONAR_TRIGGER_INPUT_MODE()2 SONAR_TRIGGER_DDR2&amp;=~(1&lt;&lt;SONAR_TRIGGER_DQ2)<br />#define SONAR_TRIGGER_OUTPUT_MODE()2 SONAR_TRIGGER_DDR2|=(1&lt;&lt;SONAR_TRIGGER_DQ2)<br />#define SONAR_TRIGGER_LOW()2 SONAR_TRIGGER_PORT2&amp;=~(1&lt;&lt;SONAR_TRIGGER_DQ2)<br />#define SONAR_TRIGGER_HIGH()2 SONAR_TRIGGER_PORT2|=(1&lt;&lt;SONAR_TRIGGER_DQ2)<br />#define INSTR_PER_US2 8                                         // US dla 8MHz<br />#define INSTR_PER_MS2 8000                                      // MS dla 8MHz<br />#define MAX_RESP_TIME_MS2 200                            // timeout - (maksymalny czas oczekiwania na próbke)<br />#define DELAY_BETWEEN_TESTS_MS2 50                       // echo (czekamy, na przetworzenie próbki)<br /><br /><br />volatile unsigned long result = 0;<br />volatile unsigned char up = 0;<br />volatile unsigned char running = 0;<br />volatile uint32_t timerCounter = 0;<br /><br /><br />// przerwanie timera --  wartość początkowa  255<br />SIGNAL(TIMER0_OVF_vect)<br />{<br />        if (up) {<br />                timerCounter++; // zwiekaszanie licznika<br />                // żeby nie czekać za długo na pomiar zatrzymujemy jeśli przeroczy limit<br />                uint32_t ticks = timerCounter * 256 + TCNT0;<br />                uint32_t max_ticks = (uint32_t)MAX_RESP_TIME_MS * INSTR_PER_MS; // hmm .. mozna by zastapic przez pomnozenie wartości ??<br /><br />                if (ticks &gt; max_ticks) {<br />                        // timeout<br />                        up = 0;          // stop<br />                        running = 0;     // scanowanie zakończone<br />                        result = -1;     // pomiar nieudany ....<br />                }<br />        }<br />}<br /><br />*/<br /><br />int main(void)<br /><br />{<br /><br /><br />// SPRZĘTOWY PWM<br /><br />// ustawienie końcówki OC0 (PB3) sprzętowy PWM jako WYJŚCIE SI_PP<br />DDRB |= (1&lt;&lt;PB3);<br /><br />// ustawienia TIMER0 w Fast PWM<br />TCCR0 |= (1&lt;&lt;WGM01)|(1&lt;&lt;WGM00);// tryb Fast PWM<br />TCCR0 |= (1&lt;&lt;COM01);// clear at TOP<br />TCCR0 |= (1&lt;&lt;CS00);// preskaler = 1<br />OCR0=255;// prędkoć SI_PP<br /><br /><br /><br />// ustawienie końcówki OC2 (PD7) sprzętowy PWM jako WYJŚCIE SI_PT<br />DDRD |= (1&lt;&lt;PD7);<br />// ustawienia TIMER0 w Fast PWM<br />TCCR2 |= (1&lt;&lt;WGM21)|(1&lt;&lt;WGM20);// tryb Fast PWM<br />TCCR2 |= (1&lt;&lt;COM21);// clear at TOP<br />TCCR2 |= (1&lt;&lt;CS20);// preskaler = 1<br />OCR2=255;// prędkoć SI_PT<br /><br /><br /><br />// ustawienie końcówki OC1A (PD5) sprzętowy PWM jako WYJŚCIE SI_LP<br /><br /><br />DDRD |= (1&lt;&lt;PD5);<br />//ustawienia TIMER0 w Fast PWM<br />TCCR1A |= (1&lt;&lt;WGM10);          // tryb Fast PWM<br />TCCR1B |= (1&lt;&lt;WGM12);<br />TCCR1A |= (1&lt;&lt;COM1A1);                          // clear at TOP<br />TCCR1B |= (1&lt;&lt;CS10);                                    // preskaler = 1<br />OCR1A=255;                                                        // prędkoć SI_LP<br /><br /><br />// ustawienie końcówki OC1B (PD4) sprzętowy PWM jako WYJŚCIE SI_LT<br />DDRD |= (1&lt;&lt;PD4);<br />// ustawienia TIMER0 w Fast PWM<br />TCCR1A |= (1&lt;&lt;WGM10);          // tryb Fast PWM<br />TCCR1B |= (1&lt;&lt;WGM12);          // tryb Fast PWM<br />TCCR1A |= (1&lt;&lt;COM1B1);                          // clear at TOP<br />TCCR1B |= (1&lt;&lt;CS10);                                    // preskaler = 1<br />OCR1B=255;<br /><br /><br />// ustawiamy piny sterujące L293D jako wyjścia<br />DDRC |= (1&lt;&lt;SI_PP1)|(1&lt;&lt;SI_PP2)|(1&lt;&lt;SI_PT1)|(1&lt;&lt;SI_PT2)|(1&lt;&lt;SI_LP1)|(1&lt;&lt;SI_LP2)|(1&lt;&lt;SI_LT1)|(1&lt;&lt;SI_LT2);<br /><br />while(1) {<br />DC_PRZOD;<br />_delay_ms(2000);<br />DC_LEWO;<br />_delay_ms(2000);<br />DC_PRAWO;<br />_delay_ms(2000);<br />DC_STOP;<br />_delay_ms(1000);<br />DC_TYL;<br />_delay_ms(2000);<br />DC_STOP;<br />_delay_ms(1000);<br />DC_OBROT;<br />_delay_ms(1000);<br />DC_STOP;<br />_delay_ms(1000);<br />DC_OBROT;<br />_delay_ms(1000);<br /><br />}<br />}<br /><br /><br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8779">Arek_K</a> — 9 mar 2015, o 13:50</p><hr />
]]></content>
</entry>
</feed>