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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-05-13T12:56:01+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=3087&amp;mode</id>
<entry>
<author><name><![CDATA[pawcio0928]]></name></author>
<updated>2013-05-13T12:56:01+01:00</updated>
<published>2013-05-13T12:56:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36830#p36830</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36830#p36830"/>
<title type="html"><![CDATA[Re: Program do us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36830#p36830"><![CDATA[
Przepraszam wszystkich zapomniałem napisać, że problem został rozwiązany na chacie. Przepraszam za problemy. Zielonego proszę o usunięcie najlepiej tego tematu, aby nie zaśmiecać forum.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=341">pawcio0928</a> — 13 maja 2013, o 12:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-11T06:55:58+01:00</updated>
<published>2013-05-11T06:55:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36682#p36682</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36682#p36682"/>
<title type="html"><![CDATA[Re: Program do us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36682#p36682"><![CDATA[
A tyle razy sie powtarza na forum <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> panowie precyzujcie jakos swoje pytania a nie kilo kodu i <br /><br />&quot;Gdzie jest blad?&quot; albo jak tu &quot;czy to ma prawo dzialac?&quot; no jak tak mozna? <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=54">mirekk36</a> — 11 maja 2013, o 06:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2013-05-11T03:30:55+01:00</updated>
<published>2013-05-11T03:30:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36677#p36677</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36677#p36677"/>
<title type="html"><![CDATA[Re: Program do us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36677#p36677"><![CDATA[
Rozwiń cóż to jest to tajemnicze us, bo nie każdy musi wiedzieć.  <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=471">Jaglarz</a> — 11 maja 2013, o 03:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pawcio0928]]></name></author>
<updated>2013-05-10T20:48:36+01:00</updated>
<published>2013-05-10T20:48:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36670#p36670</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36670#p36670"/>
<title type="html"><![CDATA[Program do us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3087&amp;p=36670#p36670"><![CDATA[
A więc program wygląda następująco:<br />main:<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 10-05-2013<br /> *      Author: pawcio0928<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;config.h&quot;<br /><br />int main(void)<br />{<br />motors_init();<br />sensors_init();<br />led_init();<br />swich_init();<br />remote_init();<br />pwm_init();<br /><br />while(1)<br />{<br />//warunek sprawdzajacy czy zostal nacisniety przycisk start<br />if (start())<br />{<br />LED1_ON;//zpala led1<br />_delay_ms(4980);//opóźnienie 5 sekund<br />//LED2_ON;//zapala led2<br />GO = 1;//ustawia wartosc go na 1<br />break;<br />}<br />//warunek sprawdzajacy czy zostala wydana komenda start<br />if (START_HIGH)<br />{<br />LED1_ON;//zapala led1<br />GO = 1;//ustawia wartosc go na 1<br />break;<br />}<br /><br />}<br />while(GO)<br />{<br />LED2_ON;//zapala led2<br />AIN1_ON;<br />AIN2_OFF;<br />BIN1_ON;<br />BIN2_OFF;<br /><br />if (SENSOR2_DOWN)<br />{<br /><br />}<br />else if (SENSOR1_DOWN)<br />{<br /><br />}<br />else<br />{<br /><br />}<br />//warunek sprawdzajacy czy została wydana komenda KILL<br />if (KILL_DOWN)<br />{<br />LED1_OFF;//gasi led1<br />LED2_OFF;//gasi led1<br />break;//ustawia wartosc go na 0<br />}<br />}<br />}[/syntax]<br />config.h<br />[syntax=c]/*<br /> * config.h<br /> *<br /> *  Created on: 10-05-2013<br /> *      Author: pawcio0928<br /> */<br /><br />#ifndef CONFIG_H_<br />#define CONFIG_H_<br /><br />//***LEDY***<br />#define LED1_PIN (1&lt;&lt;PD1)//Pin do którego podłaczony jest LED1<br />#define LED1_ON PORTD &amp;= ~LED1_PIN//Włącza LED1<br />#define LED1_OFF PORTD |= LED1_PIN//Wyłacza LED2<br /><br />#define LED2_PIN (1&lt;&lt;PD2)//Pin do którego podłaczony jest LED2<br />#define LED2_ON PORTD &amp;= ~LED2_PIN//Włącza LED2<br />#define LED2_OFF PORTD |= LED2_PIN//Wyłacza LED2<br /><br />//***SWICH***<br />#define SWICH_PIN (1&lt;&lt;PD0)//Pin do którego podłaczony jest swich<br />#define SWICH_DOWN !(PIND  &amp; SWICH_PIN)//Makro sprawdzajace czy jest stan niski<br /><br />//***REMOTE***<br />#define START_PIN (1&lt;&lt;PD5)//Pin do którego podłaczączony jest sygnał start z modułu startowego<br />#define START_HIGH (PIND &amp; START_PIN) //Makro sprawdzające czy jest stan wysoki na pinie Start<br /><br />#define KILL_PIN (1&lt;&lt;PD6)//Pin do którego podłaczączony jest sygnał kill z modułu startowego<br />#define KILL_DOWN !(PIND &amp; KILL_PIN)//Makro sprawdzające czy jest stan niski na pinie kill<br /><br />//***SILNIKI***<br />#define AIN1_PIN (1&lt;&lt;PB0)//pin do którego podłaczony jest AIN1<br />#define AIN1_ON PORTB |= AIN1_PIN//Ustawienie stanu wysokiego na AIN1<br />#define AIN1_OFF PORTB &amp;= ~AIN1_PIN//Ustawienie stanu niskiego na AIN1<br /><br />#define AIN2_PIN (1&lt;&lt;PD7)//pin do którego podłaczony jest AIN2<br />#define AIN2_ON PORTD |= AIN2_PIN//Ustawienie stanu wysokiego na AIN2<br />#define AIN2_OFF PORTD &amp;= ~AIN2_PIN//Ustawienie stanu niskiego na AIN2<br /><br />#define PWMA_PIN (1&lt;&lt;PB1)//pin do którego podłaczony jest PWMA<br />#define PWMA_ON PORTB |= PWMA_PIN//Ustawienie stanu wysokiego na PWMA<br />#define PWMA_OFF PORTB &amp;= ~PWMA_PIN//Ustawienie stanu niskiego na PWMA<br /><br />#define BIN1_PIN (1&lt;&lt;PD3)//pin do którego podłaczony jest BIN1<br />#define BIN1_ON PORTD |= BIN1_PIN//Ustawienie stanu wysokiego na BIN1<br />#define BIN1_OFF PORTD &amp;= ~BIN1_PIN//Ustawienie stanu niskiego na BIN1<br /><br />#define BIN2_PIN (1&lt;&lt;PD4)//pin do którego podłaczony jest BIN2<br />#define BIN2_ON PORTD |= BIN2_PIN//Ustawienie stanu wysokiego na BIN2<br />#define BIN2_OFF PORTD &amp;= ~BIN2_PIN//Ustawienie stanu niskiego na BIN2<br /><br />#define PWMB_PIN (1&lt;&lt;PB2)//pin do którego podłaczony jest PWMB<br />#define PWMB_ON PORTB |= PWMB_PIN//Ustawienie stanu wysokiego na PWMB<br />#define PWMB_OFF PORTB &amp;= ~PWMB_PIN//Ustawienie stanu niskiego na PWMB<br /><br />//***DISTANCE_SENSORS***<br />#define SENSOR1_PIN (1&lt;&lt;PC2)//Pin do którego podłaczony jest sygnał z czujnika 1<br />#define SENSOR1_DOWN !(PORTC &amp; SENSOR1_PIN)//Makro sprawdzające czy jest stan niski<br /><br />#define SENSOR2_PIN (1&lt;&lt;PC3)//Pin do którego podłaczony jest sygnał z czujnika 2<br />#define SENSOR2_DOWN !(PORTC &amp; SENSOR2_PIN)//Makro sprawdzające czy jest stan niski<br /><br /><br /><br />//****Deklaracje funkcji****<br />void motors_init(void);<br />void sensors_init(void);<br />void led_init(void);<br />void swich_init(void);<br />void remote_init(void);<br />void pwm_init(void);<br />uint8_t start(void);<br />uint8_t forward(void);<br />uint8_t back(void);<br />uint8_t left(void);<br />uint8_t right(void);<br />//****deklaracje zmiennych****<br />extern uint8_t GO;<br /><br /><br /><br /><br />#endif /* CONFIG_H_ */[/syntax]<br />i config.c<br />[syntax=c]/*<br /> * config.c<br /> *<br /> *  Created on: 10-05-2013<br /> *      Author: pawcio0928<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;config.h&quot;<br /><br />uint8_t GO = 0; //zmienna przechowywujaca stan walki.<br /><br />//***definicja funkcji inicjalizującej pracę silników***<br />void motors_init(void)<br />{<br />DDRB |= AIN1_PIN | PWMA_PIN | PWMB_PIN;//ustawienie pinów AIN1, PWMA i PWMB  jako wyjscia<br />PORTB |= AIN1_PIN | PWMA_PIN | PWMB_PIN;//ustawienie stanów niskich na pinach AIN1, PWMA i PWMB<br />DDRD |= AIN2_PIN | BIN2_PIN | BIN1_PIN;//ustawienie pinów AIN2, BIN1 i BIN2 jako wyjscia<br />PORTD |= AIN2_PIN | BIN2_PIN | BIN1_PIN;//ustawienie stanów niskich na pinach AIN2, BIN1 i BIN2<br />}<br /><br />//***definicja funkcji inicjalizującej pracę czujników***<br />void sensors_init(void)<br />{<br />DDRC &amp;= ~(SENSOR1_PIN | SENSOR2_PIN);//ustawienie  jako wejscia.<br />PORTC |= SENSOR1_PIN | SENSOR2_PIN;//Podcjągnięcie do vcc<br />}<br /><br />//***definicja funkcji inicjalizującej pracę LEDÓW***<br />void led_init(void)<br />{<br />DDRD |= LED1_PIN | LED2_PIN;//Ustawienie portów do których podpięte są ledy jako wyjcia<br />PORTD |= LED1_PIN | LED2_PIN;//Wygaszenie ledów<br />}<br /><br />//***definicja funkcji inicjalizującej pracę Swicha***<br />void swich_init(void)<br />{<br />DDRD &amp;= ~SWICH_PIN;//Ustawienie pinu jako wejscie<br />PORTD |= SWICH_PIN;//Podciągnięcie do VCC<br />}<br /><br />//***definicja funkcji inicjalizującej pracę Pilota***<br />void remote_init(void)<br />{<br />DDRD &amp;= ~(START_PIN | KILL_PIN);//ustwaienie pinow jako wejscia<br />PORTD |= KILL_PIN;//Podciagnięcie KILL_PIN do VCC<br />}<br />/* INICJALIZACJA PWM - TIMER1 */<br />void pwm_init(void)<br />{<br />TCCR1A |= (1&lt;&lt;WGM10);                      // Fast PWM 8bit<br />    TCCR1B |= (1&lt;&lt;WGM12);<br />    TCCR1A |= (1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1) ;        //Clear OC1A/OC1B on Compare Match, set OC1A/OC1B at BOTTOM<br />    TCCR1B |= (1&lt;&lt;CS10)|(1&lt;&lt;CS11);             // Preksaler = 64  fpwm = 976,5Hz<br />    OCR1A = 255;         //kanał A = 127<br />   OCR1B = 255;         //kanał B = 127<br />}<br /><br />//funkcja sprawdzajaca stan na klawiszu<br />uint8_t start(void)<br />{<br />if(SWICH_DOWN)<br />{<br />_delay_ms(20);<br />if(SWICH_DOWN) return 1;<br />}<br />return 0;<br />}<br />uint8_t forward(void)<br />{<br /><br />}[/syntax]<br /><br />Czy to ma  prawo dobrze działać?<br /><br /><br /><br />edit<br />[syntax=c]while(SWICH_DOWN)<br />{<br /><br /><br />while(1)<br />{<br />LED2_ON;//zapala led2<br />AIN1_ON;<br />AIN2_OFF;<br />BIN1_ON;<br />BIN2_OFF;<br /><br />if (SENSOR2_DOWN)<br />{<br /><br />}<br />else if (SENSOR1_DOWN)<br />{<br /><br />}<br />else<br />{<br /><br />}<br />//warunek sprawdzajacy czy została wydana komenda KILL<br />/*if (KILL_DOWN)<br />{<br />LED1_OFF;//gasi led1<br />LED2_OFF;//gasi led1<br />break;//ustawia wartosc go na 0<br /> */<br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=341">pawcio0928</a> — 10 maja 2013, o 20:48</p><hr />
]]></content>
</entry>
</feed>