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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16622&amp;mode</id>
<entry>
<author><name><![CDATA[krzysiekk]]></name></author>
<updated>2016-10-27T16:35:49+01:00</updated>
<published>2016-10-27T16:35:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173012#p173012</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173012#p173012"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173012#p173012"><![CDATA[
Nad tym właśnie pracuje, ale przy okazji  - aby nie używać _delay_xx() musze tez oprogramować 10us impulsu na czujnik ultradźwiękowy, jednocześnie załatwić to, by po 5 sekundach od ostatniego poruszenia się obiektu diody wygasły. I to wszystko jednym timerem. Coś mi się wydaje że to faktycznie niewykonalne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15213">krzysiekk</a> — 27 paź 2016, o 16:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2016-10-27T14:59:31+01:00</updated>
<published>2016-10-27T14:59:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173007#p173007</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173007#p173007"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173007#p173007"><![CDATA[
a gdyby tak w przerwaniu od przepelnienia timera inkrementowac jakis dodatkowy licznik przekrecen timera? Wtedy bys przeciez wyliczył ten czas...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 27 paź 2016, o 14:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysiekk]]></name></author>
<updated>2016-10-27T14:16:11+01:00</updated>
<published>2016-10-27T14:16:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173002#p173002</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173002#p173002"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=173002#p173002"><![CDATA[
Ok, ogólnie Twoja idea jest dobra, natomiast mój problem polega na konieczności podniesienia dokładności pomiaru czasu echa, które trwa od 116us do ok 230ms. Jak zrobię to na mocno preskalowanym Timerze, to dokladność leci na twarz. Jak zrobie mniej preskalowany timer, to w czasie trwania echa timer się przekręca (OVF) i z pobrania czasu trwania echa z Timer nic nie wychodzi. Wychodzi na to, że na takim Attiny13 tego zrobić się nie da, ale znając żart o tym, że jedyne co może się nie dać, to otwarcie parasola w pewnej części ciała <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />, zatem wydaje mi się, że podstawowym powodem jest to, że nie umiem tego zrobić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15213">krzysiekk</a> — 27 paź 2016, o 14:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2016-10-27T13:24:55+01:00</updated>
<published>2016-10-27T13:24:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172992#p172992</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172992#p172992"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172992#p172992"><![CDATA[
Wierz mi, ze jak dopiescisz soft a potem go przeniesiesz to bedzie i satysfakcja i tez się dużo nauczysz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 27 paź 2016, o 13:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysiekk]]></name></author>
<updated>2016-10-27T11:53:18+01:00</updated>
<published>2016-10-27T11:53:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172975#p172975</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172975#p172975"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172975#p172975"><![CDATA[
Jeszcze walczę. Gdy po takich długich bojach coś się udaje, to satysfakcja przeogromna.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15213">krzysiekk</a> — 27 paź 2016, o 11:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2016-10-27T09:09:50+01:00</updated>
<published>2016-10-27T09:09:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172955#p172955</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172955#p172955"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172955#p172955"><![CDATA[
A ja, skoro dopiero zaczynasz to bym najpierw odpalił na większym procku a jak kod zostanie dopieszczony i  dokładnie będzie działał zgodnie z założeniami to bym go przeniósł na malucha.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 27 paź 2016, o 09:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2016-10-26T19:30:58+01:00</updated>
<published>2016-10-26T19:30:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172903#p172903</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172903#p172903"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172903#p172903"><![CDATA[
Może nie nazwał bym tego łatwiej... ale po prostu chyba lepiej w tym przypadku <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Albo chcesz dokładniej albo taką protezę jak zrobiłeś... <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=1363">eMCe2</a> — 26 paź 2016, o 19:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysiekk]]></name></author>
<updated>2016-10-26T15:11:33+01:00</updated>
<published>2016-10-26T15:11:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172880#p172880</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172880#p172880"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172880#p172880"><![CDATA[
A np wlasnie..na wiekszym to latwiej,a ja sie uparlem dla wprawki <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=15213">krzysiekk</a> — 26 paź 2016, o 15:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2016-10-26T14:07:29+01:00</updated>
<published>2016-10-26T14:07:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172867#p172867</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172867#p172867"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172867#p172867"><![CDATA[
dlatego do tego używa się większego procka z wejściem ICP<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 26 paź 2016, o 14:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysiekk]]></name></author>
<updated>2016-10-26T12:53:39+01:00</updated>
<published>2016-10-26T12:53:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172851#p172851</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172851#p172851"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172851#p172851"><![CDATA[
Volatile tylko te zmienne, których wartość zmieniana jest w procedurach obsługi przerwania?<br /><br />Nie mogę się przestawić na ten zapis symboliczny. Wybaczcie.<br />Dopiero zaczynam z mikrokontrolerami...uartowy debugger - fajna sprawa, dodaję do &quot;to do&quot;.<br />Tak, robiłem strefę martwą, coś w stylu<br /><br />[syntax=c]if (czas&lt;pomiar-2 || czas&gt;pomiar+2) aktywny=1;[/syntax]<br /><br />ale wówczas tylko duży ruch obiektu uaktywniał wyświetlanie, co za tym idzie<br />wydaje się, że rozdzielczość pomiaru jest zbyt mała. 4800000/1024 = 4687<br />1/4687 = 0,000213s na jedno tykniecie zegara.<br />Czujnik odległosci, wg dokumentacji działa w zakresie<br />2cm (co daje 116us) do 400cm (co daje 23200us) o ile dobrze rozumiem, czyli 58us/1cm.<br /><br />Ewidentnie moje 213us to za duży czas by dobrze (co do 1cm zmierzyć tę odległość).<br /><br />Trzeba by mniejszy preskaler dać, ale wtedy będzie mi trudniej chociażby sensowne 16Hz zrobić<br />dla taktowania sygnału inicjującego czujnik. Ale chyba zostaje dać mniejszy preskaler i softwarowe, dodatkowe dzielenie częstotliwości,<br />tam gdzie potrzeba (np dla taktowania czujnika ultradźwiękowego) oraz wprowadzanie zmiennych pomocnicznych<br />dla pomiaru odległości?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15213">krzysiekk</a> — 26 paź 2016, o 12:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2016-10-26T09:29:55+01:00</updated>
<published>2016-10-26T09:29:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172827#p172827</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172827#p172827"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172827#p172827"><![CDATA[
Z tym usypianiem to nie wierzę że twój licznik będzie w bez ruchu zawsze tykał dokładnie tak samo... Może daj jakąś strefę martwą... proponuję żebyś sobie odpalił jeszcze na tym jakiegoś uarta i tam wysyłał wartość zmiennej czas... bedzie ci łatwiej podpatrzeć co się dzieje w układzie...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 26 paź 2016, o 09:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sparrow-hawk]]></name></author>
<updated>2016-10-26T07:27:39+01:00</updated>
<published>2016-10-26T07:27:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172822#p172822</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172822#p172822"/>
<title type="html"><![CDATA[Re: Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172822#p172822"><![CDATA[
Co masz na myśli pisząc, że układ jest niedokładny? <br /><br />Przede wszystkim twój kod jest mało czytelny przez stosowanie zapisu binarnego zamiast zapisu symbolicznego. <strong>volatile</strong> musi być tylko dla zmiennych czas i aktywny. Stosowanie _delay_us(), czy _delay_ms() w przerwaniu, to kiepski pomysł. <br /><br />Założenie, że przy braku zmiany odległości od czujnika dostaniesz zawsze identyczny czas jest zbyt idealistyczne. Tam musisz wprowadzić jakiś margines błędu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10614">Sparrow-hawk</a> — 26 paź 2016, o 07:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysiekk]]></name></author>
<updated>2016-10-25T20:19:32+01:00</updated>
<published>2016-10-25T20:19:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172799#p172799</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172799#p172799"/>
<title type="html"><![CDATA[Czujnik zbliżeniowy do garażu - problemy z kodem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16622&amp;p=172799#p172799"><![CDATA[
Witam wszystkich bardzo serdecznie.<br /><br />Jestem na etapie prototypowania takiego czujnika. Na pokładzie Attiny13 oraz HC-SR04.<br />Programator AVR PROG, zasilanie (na razie) z programatora.<br />Trzy diody: (zielona - daleko - PB4, żółta - blisko - PB3, czerwona - bardzo blisko - PB2).<br />Układ ma być umieszczony na ścianie w garażu i wskazywać diodami odległość<br />samochodu od ściany. Gdy auto się nie porusza, układ ma przestać świecić po 5s, <br />ale ma nadal mierzyć odległość i w razie stwierdzenia poruszenia się samochodu ma<br />wznowić wyświetlanie.<br />Uparłem się żeby to zrobić na Attiny13, a tu wciąż mnie coś ogranicza. Albo<br />ogranicza mnie własna nieumiejętność. Mam wrażenie że układ mierzy niedokładnie. Albo się nie chce wyciszyć przy braku ruchu, albo nie chce przejść w tryb uśpienia gdy obiekt nie zmienia<br />odległości od czujnika. Jeśli komuś się zechce rzucić okiem na kod, będę wdzięczny.<br /><br />Attiny13 taktowana 4.8MHz, reszta komentarzy w kodzie.<br /><br />[syntax=c]#include &lt;inttypes.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/sleep.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />volatile int czas, pomiar=0;<br />volatile int licznik=0, i = 0;<br />volatile int aktywny=1; // 1 - wyswietlanie, 0 - nieaktywny<br /><br /><br />ISR(TIM0_COMPA_vect)  // wysylanie TRIG z f = 18Hz<br />{<br />PORTB&amp;=0b11111110;<br />PORTB|=0b00000001;<br />_delay_us(12);<br />PORTB&amp;=0b11111110;<br /><br />licznik++;<br />if (licznik==90) {licznik=0;aktywny=0;} //licznik kasuje sie co 5 sekund<br />}<br /><br /><br />ISR(INT0_vect)   // obsługa przerwania<br />{<br />if (PINB&amp;0b00000010) //narastanie echa<br />{<br />TCNT0=0;<br />}<br />else //opadanie echa<br />{<br />czas =  TCNT0; // czas trwania ECHO<br />}<br /><br /><br />if (czas!=pomiar) aktywny=1; // porownanie starego pomiaru z aktualnym<br />pomiar=czas; // zapamietanie aktualnego czasu dla nastepnego porownania<br />}<br /><br />int main()<br />{<br />DDRB|=0b00011101; //porty 0,2,3,4 na output<br /><br />//Przygotowanie timera<br /><br />TCCR0A|=0b00000010;    //CTC mode<br />TCCR0B|=0b00000101;//preskaler 1024<br />OCR0A=255; //porownanie z 255 aby uzyskac ok 18Hz<br />TIMSK0|=0b00000100;//porownuj z OCR0A<br /><br /> // Przygotowanie przerwania<br />MCUCR|=0b00000001; //zmiana stanu uaktywnia przerwanie<br />PCMSK|=0b00000010; //wejscie przerwania na PCINT1<br />GIMSK|=0b01000000; //uruchomienie przerwania<br /><br />sei();//uruchomienie przerwan<br /><br />while (1) // petla nieskonczona wyswietlajace odleglosc za pom. diod<br />{<br /><br />if (aktywny)<br />{<br />if (czas&lt;60) PORTB|=0b00010000;  else PORTB&amp;=0b11101111; //zielona - daleko<br />if (czas&lt;30) PORTB|=0b00001000;  else PORTB&amp;=0b11110111; //zolta - srednio<br />if (czas&lt;10) PORTB|=0b00000100;  else PORTB&amp;=0b11111011; //czerwona - blisko<br />}<br />else<br />{<br />PORTB&amp;=0b11101111; //zielona<br />PORTB&amp;=0b11110111; //zolta<br />PORTB&amp;=0b11111011; //czerwona<br />}<br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15213">krzysiekk</a> — 25 paź 2016, o 20:19</p><hr />
]]></content>
</entry>
</feed>