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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-07-20T21:07:04+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12328&amp;mode</id>
<entry>
<author><name><![CDATA[Daniel880]]></name></author>
<updated>2015-07-20T21:07:04+01:00</updated>
<published>2015-07-20T21:07:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=135050#p135050</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=135050#p135050"/>
<title type="html"><![CDATA[Re: czujnik ultradzwiekowy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=135050#p135050"><![CDATA[
Jak rozwiązałeś problem to podziel się rozwiązaniem na forum:) może komuś kiedyś to pomoże;)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2328">Daniel880</a> — 20 lip 2015, o 21:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-07-20T19:18:53+01:00</updated>
<published>2015-07-20T19:18:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=135040#p135040</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=135040#p135040"/>
<title type="html"><![CDATA[Re: czujnik ultradzwiekowy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=135040#p135040"><![CDATA[
Dzieks. Chodziło mi bardziej co jest nie tak w moim kodzie (już wiem) ale mimo to dzieki za zainteresowanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 20 lip 2015, o 19:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daniel880]]></name></author>
<updated>2015-07-17T11:03:35+01:00</updated>
<published>2015-07-17T11:03:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=134789#p134789</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=134789#p134789"/>
<title type="html"><![CDATA[Re: czujnik ultradzwiekowy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=134789#p134789"><![CDATA[
Mój program, może prymitywny ale działał;)<br /><br /><br />sygnał Trig<br /><br />[syntax=c]PORTC |= (1&lt;&lt;PC5);<br />_delay_us(10);<br />PORTC &amp;= ~(1&lt;&lt;PC5);[/syntax]<br /><br />a przerwanie wywyływane zboczem narastającym i opadającym<br /><br />[syntax=c]ISR(INT1_vect){<br />if(PIND &amp; (1&lt;&lt;PD3) )      TCNT1=0; <br />if(!(PIND &amp; (1&lt;&lt;PD3) ))   wynik=TCNT1;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2328">Daniel880</a> — 17 lip 2015, o 11:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[_damian]]></name></author>
<updated>2015-07-14T19:08:58+01:00</updated>
<published>2015-07-14T19:08:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=134537#p134537</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=134537#p134537"/>
<title type="html"><![CDATA[czujnik ultradzwiekowy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12328&amp;p=134537#p134537"><![CDATA[
Witam. <br />Od dłuższego czasu borykam się z problemem mierzenia odległości za pomocą hc-sr04. <br />Wysyłam sygnał na pin Trig, ktory jest generowany na porcie B (PB1), sygnał z echa odbieram za pomocą przerwania INT0, mierze czas pomiędzy zboczami rosnącymi i opadającymi i wyswietlam wynik na wyświetlaczu siedmiosegmentowym (podpiętym do portu A i C). Niestety na wyswietlaczu cały czas pojawia sie liczba 0. (Atmega32a, kwarc 8MHz). <br />Byłbym wdzięczny gdyby ktoś podpowiedział mi gdzie robię błąd.<br /><br />Kod:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define SEG_1 (1&lt;&lt;PA3) // SEGMENT 1 (12)<br />#define SEG_2 (1&lt;&lt;PA2) // SEGMENT 2 (9)<br />#define SEG_3 (1&lt;&lt;PA1) // SEGMENT 3 (8)<br />#define SEG_4 (1&lt;&lt;PA0) // SEGMENT 4 (6)<br /><br />#define PORT_SEG PORTA //PORT Z PODLACZONYM ZASILANIEM WYS LED<br />#define PORT_WYS PORTC // PORT DO STEROWANIA SEGMENTAMI<br /><br />#define miganie _delay_us(300)<br /><br /><br /><br /><br />uint8_t cyfra_1, cyfra_2, cyfra_3, cyfra_4, na_wyswietlacz(uint8_t); <br />volatile unsigned int odleglosc,wynik,sygnal=40,flaga=0;<br />int przycisk(uint8_t);<br /><br />int main()<br />{<br /><br />DDRA=0XFF;<br />DDRC=0XFF;<br />DDRD=(1&lt;&lt;PD6)|(1&lt;&lt;PD7);<br />PORTD=(1&lt;&lt;PD5);<br />DDRB=0XFF;<br /><br /><br />TCCR0=(0&lt;&lt;WGM00)|(1&lt;&lt;WGM01)|(0&lt;&lt;CS00)|(1&lt;&lt;CS01)|(0&lt;&lt;CS02); //CTC, preskaler=8<br />TIMSK=(1&lt;&lt;OCIE0);<br /><br />GICR=(1&lt;&lt;INT0);<br />MCUCR=(1&lt;&lt;ISC00)|(1&lt;&lt;ISC01);<br /><br />sei();<br />while(1)<br />{<br /><br />OCR0=2; // przerwanie co 2 us<br />wynik=wynik/29;<br /><br />for(int i=0;wynik&gt;=1000*i;i++)<br />cyfra_1=i;<br />for(int i=0;wynik-1000*cyfra_1&gt;=100*i;i++)<br />cyfra_2=i;<br />for(int i=0;wynik-1000*cyfra_1-100*cyfra_2&gt;=10*i;i++)<br />cyfra_3=i;<br />for(int i=0;wynik-1000*cyfra_1-100*cyfra_2-10*cyfra_3&gt;=i;i++)<br />cyfra_4=i;<br /><br />PORT_SEG=SEG_1;<br />PORT_WYS=na_wyswietlacz(cyfra_1);<br />miganie;<br />PORT_SEG=SEG_2;<br />PORT_WYS=na_wyswietlacz(cyfra_2) &amp; 0b11111011;<br />miganie;<br />PORT_SEG=SEG_3;<br />PORT_WYS=(na_wyswietlacz(cyfra_3));<br />miganie;<br />PORT_SEG=SEG_4;<br />PORT_WYS=na_wyswietlacz(cyfra_4);<br />miganie;<br /><br />if(przycisk(1&lt;&lt;PD5))<br />sygnal=0;<br /><br />}<br />}<br /><br /><br />uint8_t na_wyswietlacz(uint8_t zmienna) //definicje liczb do wyswietlania na wysw.<br />{<br />if (zmienna==1)<br />return 0B01111101;    <br />else if (zmienna==2)  // 7 10 11 1 2 3 4 5<br />return 0B01000110;<br />else if (zmienna==3)<br />return 0B01010100;<br />else if (zmienna==4)<br />return 0B00111100;<br />else if (zmienna==5)<br />return 0b10010100;<br />else if (zmienna==6)<br />return 0B10000100;<br />else if (zmienna==7)<br />return 0B01011101;<br />else if (zmienna==8)<br />return 0B00000100;<br />else if (zmienna==9)<br />return 0b00010100;<br />else if (zmienna==0)<br />return 0b00000101;<br />else if (zmienna==15)<br />return 0b00000000;<br />else<br />return 0b11111110;<br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />if (sygnal&lt;6) //generowanie sygnalu na TRIG<br />{<br />PORTB|=(1&lt;&lt;PB1);<br />sygnal++;<br />}<br />else if (odleglosc&lt;65000) //odmierzanie czasu<br />{<br />PORTB &amp;=~(1&lt;&lt;PB1);<br />odleglosc++;<br />}<br />}<br /><br />ISR(INT0_vect)<br />{<br />if (flaga==0)<br />{<br />odleglosc=0;<br />TCNT0=0;<br />MCUCR=(0&lt;&lt;ISC00)|(1&lt;&lt;ISC01);<br />flaga=1;<br />//PORTD|=(1&lt;&lt;PD7);<br /><br />}<br />else<br />{<br />wynik=odleglosc;<br />MCUCR=(1&lt;&lt;ISC00)|(1&lt;&lt;ISC01);<br />flaga=0;<br /><br />//PORTD|=(1&lt;&lt;PD7);<br />//PORTD&amp;=~(1&lt;&lt;PD7);<br />}<br />}<br /><br /><br /><br />int przycisk(uint8_t ktory) //sprawdzenie czy wciśniety przycisk (<br />{<br />uint8_t c=100, b=0;<br /><br />if ((PIND &amp; ktory)==0)<br />{<br />while (b==0)<br />{<br />c--;<br /><br />if (PIND &amp; ktory)<br />b=1;<br />else if (c==0)<br />b=1;<br />}<br />while(b==1)<br />{<br />PORT_SEG=SEG_1;<br />PORT_WYS=na_wyswietlacz(1);<br />miganie;<br />PORT_SEG=SEG_2;<br />PORT_WYS=na_wyswietlacz(2) &amp; 0b11111011;<br />miganie;<br />PORT_SEG=SEG_3;<br />PORT_WYS=(na_wyswietlacz(3));<br />miganie;<br />PORT_SEG=SEG_4;<br />PORT_WYS=na_wyswietlacz(4);<br />miganie;<br /><br /><br />if (PIND &amp; ktory)<br />b=0;<br />}<br />}<br />     if (c==0)<br />return 1;<br />else<br />return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9619">_damian</a> — 14 lip 2015, o 19:08</p><hr />
]]></content>
</entry>
</feed>