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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-09-17T12:07:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=8541&amp;mode</id>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-09-17T12:07:23+01:00</updated>
<published>2014-09-17T12:07:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95750#p95750</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95750#p95750"/>
<title type="html"><![CDATA[Re: Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95750#p95750"><![CDATA[
Witam,<br /><br /><div class="quotetitle">MirkoT napisał(a):</div><div class="quotecontent"><br />Czy w linii 46 nie powinno być przypadkiem FALSE?<br /></div><br /><br />Jasne, że tak <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ot literóweczka. Chociaż w tym programie i tak te booleany są nie wykorzystywane, ale definicje zrobiłem z początku.<br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 17 wrz 2014, o 12:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2014-09-17T11:34:44+01:00</updated>
<published>2014-09-17T11:34:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95747#p95747</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95747#p95747"/>
<title type="html"><![CDATA[Re: Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95747#p95747"><![CDATA[
Czy w linii 46 nie powinno być przypadkiem FALSE?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 17 wrz 2014, o 11:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-09-17T10:42:24+01:00</updated>
<published>2014-09-17T10:42:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95742#p95742</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95742#p95742"/>
<title type="html"><![CDATA[Re: Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95742#p95742"><![CDATA[
Witam,<br /><br /><span style="color: #FF0000">NIE ZEZWALAM NA UMIESZCZANIE PONIŻSZEGO KODU NA FORUM ELEKTRODA.PL</span><br />Jako, że widzę że kolega temat ma tu i tu.<br /><br />Tu masz przeportowane 95% kodu, zostało się uporać z 2 miejscami, a mianiowice:<br />[syntax=c]if(Serial.available() &gt; 0)<br />{<br />state = Serial.read();[/syntax]<br />Nie korzystałem nigdy z USART'a więc raczej nie pomgę. Później potestować wystarczy i popoprawiać ewentualne błędy.<br /><br />A tu kod:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;MKUART/mkuart.h&quot;<br /><br />#define motorPin1 PD7<br />#define motorPin1_DDR DDRD<br />#define motorPin1_PORT PORTD<br /><br />#define motorPin2 PB0<br />#define motorPin2_DDR DDRB<br />#define motorPin2_PORT PORTB<br /><br />#define enablePin_1 PD6<br />#define enablePin_1_DDR DDRD <br />#define enablePin_1_PORT PORTD<br /><br />#define motorPin4 PD2<br />#define motorPin4_DDR DDRD<br />#define motorPin4_PORT PORTD<br /><br />#define motorPin3 PD4<br />#define motorPin3_DDR DDRD<br />#define motorPin3_PORT PORTD<br /><br />#define enablePin_2 PD3<br />#define enablePin_2_DDR DDRD <br />#define enablePin_2_PORT PORTD<br /><br />#define buzzer PB3<br />#define buzzer_DDR DDRB<br />#define buzzer_PORT PORTB<br /><br />#define f_light PB4<br />#define f_light_DDR DDRB<br />#define f_light_PORT PORTB<br /><br />#define b_light PD5<br />#define b_light_DDR DDRD<br />#define b_light_PORT PORTD<br />#define b_light_PIN PIND<br /><br />#define boolean uint8_t<br />#define TRUE 1<br />#define ELSE 0<br /><br />int state;<br /><br />int flag=0; //makes sure that the serial only prints once the state<br /><br />boolean buzzerstatus = 0;<br /><br />boolean LEDstatus = 0;<br /><br />int main()<br />{<br />// sekcja setup()<br />// sets the pins as outputs:<br />lcd_init(); // lcd.begin(16, 2);<br />buzzer_DDR |= (1 &lt;&lt; buzzer); // pinMode(buzzer,OUTPUT);<br />f_light_DDR |= (1 &lt;&lt; f_light); // pinMode(f_light,OUTPUT);<br />  b_light_DDR |= (1 &lt;&lt; b_light); // pinMode(b_light,OUTPUT);<br />motorPin1_DDR |= (1 &lt;&lt; motorPin1); // pinMode(motorPin1, OUTPUT);<br />motorPin2_DDR |= (1 &lt;&lt; motorPin2); // pinMode(motorPin2, OUTPUT);<br />enablePin_1_DDR |= (1 &lt;&lt; enablePin_1); // pinMode(enablePin_1, OUTPUT);<br /> motorPin3_DDR |= (1 &lt;&lt; motorPin3); // pinMode(motorPin3, OUTPUT);<br />motorPin4_DDR |= (1 &lt;&lt; motorPin4); // pinMode(motorPin4, OUTPUT);<br />enablePin_2_DDR |= (1 &lt;&lt; enablePin_2); // pinMode(enablePin_2, OUTPUT);<br /><br />// sets enablePin high so that motor can turn on:<br />enablePin_1_PORT |= (1 &lt;&lt; enablePin_1); // digitalWrite(enablePin_1, HIGH);<br />enablePin_2_PORT |= (1 &lt;&lt; enablePin_2); // digitalWrite(enablePin_2, HIGH);<br /><br />DDRB |= (1 &lt;&lt; PB5); // pinMode(13,OUTPUT);<br /><br /><br />// initialize serial communication at 9600 bits per second:<br />  USART_Init( __UBRR ); //Serial.begin(9600);<br />sei();<br /><br />while(1)<br />{<br />//if some date is sent, reads it and saves in state<br />if(Serial.available() &gt; 0)<br />{<br />state = Serial.read();<br />    flag=0;<br />  <br />  // if the state is '0' the DC motor will turn off<br />if (state == '0')<br />{<br />motorPin1_PORT &amp;= ~(1 &lt;&lt; motorPin1); // set pin 2 on L293D low<br />motorPin2_PORT &amp;= ~(1 &lt;&lt; motorPin2); // set pin 7 on L293D low<br />motorPin3_PORT &amp;= ~(1 &lt;&lt; motorPin3); // set pin 2 on L293D low<br /> motorPin4_PORT &amp;= ~(1 &lt;&lt; motorPin4); // set pin 7 on L293D low<br /> if(flag == 0)<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br /> lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;STOP&quot;);<br />flag=1;<br />}<br />}<br />  // if the state is '1' the motor will forward<br />else if (state == '1')<br />{<br />b_light_PORT &amp;= ~(1 &lt;&lt; b_light);<br />motorPin1_PORT &amp;= ~(1 &lt;&lt; motorPin1); // set pin 2 on L293D low<br />motorPin2_PORT |= (1 &lt;&lt; motorPin2); // set pin 7 on L293D high<br />motorPin3_PORT &amp;= ~(1 &lt;&lt; motorPin3); // set pin 2 on L293D low<br />motorPin4_PORT |= (1 &lt;&lt; motorPin4); // set pin 7 on L293D high<br />if(flag == 0)<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;FORWARD&quot;);<br />flag=1;<br />}<br />}<br />  // if the state is '2' the motor will backward<br />else if (state == '2')<br />{<br />b_light_PORT |= (1 &lt;&lt; b_light);<br />motorPin1_PORT |= (1 &lt;&lt; motorPin1); // set pin 2 on L293D high<br />motorPin2_PORT &amp;= ~(1 &lt;&lt; motorPin2); // set pin 7 on L293D low<br />motorPin3_PORT |= (1 &lt;&lt; motorPin3); // set pin 2 on L293D high<br />motorPin4_PORT &amp;= ~(1 &lt;&lt; motorPin4); // set pin 7 on L293D low<br />if(flag == 0)<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;REVERSE&quot;);<br />flag=1;<br />}<br />}<br />else if (state == '3')<br />{<br />motorPin1_PORT &amp;= ~(1 &lt;&lt; motorPin1); // set pin 2 on L293D high<br />motorPin2_PORT |= (1 &lt;&lt; motorPin2); // set pin 7 on L293D low<br />motorPin3_PORT &amp;= ~(1 &lt;&lt; motorPin3); // set pin 2 on L293D high<br />motorPin4_PORT &amp;= ~(1 &lt;&lt; motorPin4); // set pin 7 on L293D low<br />_delay_ms(150);<br />motorPin1_PORT &amp;= ~(1 &lt;&lt; motorPin1); // set pin 2 on L293D low<br />motorPin2_PORT &amp;= ~(1 &lt;&lt; motorPin2); // set pin 7 on L293D high<br />motorPin3_PORT &amp;= ~(1 &lt;&lt; motorPin3); // set pin 2 on L293D low<br />motorPin4_PORT &amp;= ~(1 &lt;&lt; motorPin4); // set pin 7 on L293D high<br />if(flag == 0)<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;RIGHT&quot;);<br />flag=1; //Left wheel forward, Right wheel static<br />}<br />}<br />else if (state == '4')<br />{<br />motorPin1_PORT &amp;= ~(1 &lt;&lt; motorPin1); // set pin 2 on L293D high<br />motorPin2_PORT &amp;= ~(1 &lt;&lt; motorPin2); // set pin 7 on L293D low<br />motorPin3_PORT &amp;= ~(1 &lt;&lt; motorPin3); // set pin 2 on L293D high<br />motorPin4_PORT |= (1 &lt;&lt; motorPin4); // set pin 7 on L293D low<br />_delay_ms(150);<br />motorPin1_PORT &amp;= ~(1 &lt;&lt; motorPin1); // set pin 2 on L293D low<br />motorPin2_PORT &amp;= ~(1 &lt;&lt; motorPin2); // set pin 7 on L293D high<br />motorPin3_PORT &amp;= ~(1 &lt;&lt; motorPin3); // set pin 2 on L293D low<br />motorPin4_PORT &amp;= ~(1 &lt;&lt; motorPin4); // set pin 7 on L293D high<br />if(flag == 0)<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;LEFT&quot;);<br />}<br />}<br />else if (state == '5')<br />{<br />buzzer_PORT |= (1 &lt;&lt; buzzer);<br />_delay_ms(100);<br />buzzer_PORT &amp;= ~(1 &lt;&lt; buzzer);<br />if(flag == 0)<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;Buzzer ON&quot;);<br />flag=1;     <br />}<br />}<br />else if (state == '6')<br />{<br />digitalWrite(f_light,!digitalRead(f_light));<br />if(flag == 0&amp;&amp;digitalRead(f_light))<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;FRONT LIGHT ON&quot;);<br />flag=1;<br />}<br />else<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;FRONT LIGHT OFF&quot;);<br />flag=1;<br />  }<br />}<br />else if (state == '7')<br />{<br />b_light_PORT ^= ( 1 &lt;&lt; blight);<br />if(flag == 0 &amp;&amp; digitalRead(b_light))<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />lcd_locate(0, 1);<br />lcd_str(&quot;BACK LIGHT ON&quot;);<br />flag=1;<br />}<br />else<br />{<br />lcd_cls();<br />lcd_locate(0, 0);<br />lcd_str(&quot;Current State:&quot;);<br />      lcd_locate(0, 1);<br />      lcd_str(&quot;BACK LIGHT OFF&quot;);<br />      flag=1;<br />    } <br />}<br />}<br />}<br />}[/syntax]<br /><br />Konfiguracje USART czy LCD w odpowiednich plikach nagłówkowych naturalnie.<br /><br />Oczywiście do wykorzystania kodu potrzebne są biblioteki z książki <em>Mikrokontorlery AVR Język C - podstawy programowania</em>. Jeżeli kolega jej nie posiada to zapraszam na <a href="http://sklep.atnel.pl/pl/p/KSIAZKA-I-wydanie-2/75"  class="postlink">Sklep Atnel</a>. Po przeczytaniu książki takie kody sam kolega będzie w stanie sobie przepisywać.<br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 17 wrz 2014, o 10:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-09-17T08:56:56+01:00</updated>
<published>2014-09-17T08:56:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95738#p95738</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95738#p95738"/>
<title type="html"><![CDATA[Re: Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95738#p95738"><![CDATA[
Witam,<br /><br />Zewnętrzny kwarc &gt;8MHz dla ATmega8:<br /><br />LOW: 0xFF;<br />HIGH: 0x89;<br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 17 wrz 2014, o 08:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[benio555]]></name></author>
<updated>2014-09-17T08:37:23+01:00</updated>
<published>2014-09-17T08:37:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95736#p95736</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95736#p95736"/>
<title type="html"><![CDATA[Re: Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95736#p95736"><![CDATA[
Niestety ale nadal nie mogę sobie z tym poradzić, ściągnąłem już ten program. Może byłby ktoś tak dobry i skompilował by mi to do pliku .hex. Oraz  podesłał ustawienia fusbitów w konsoli ( pod windows 7 nie chcą mi działać programy do usbasp).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5848">benio555</a> — 17 wrz 2014, o 08:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-09-16T22:12:18+01:00</updated>
<published>2014-09-16T22:12:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95713#p95713</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95713#p95713"/>
<title type="html"><![CDATA[Re: Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95713#p95713"><![CDATA[
Witam,<br /><br />Kolega co do megi8, to po co się męczyć z avrdude w konsoli?<br />MkAvrCalculator - w wersji free masz full wsparcie dla tego mikroklocka.<br /><br /><div class="quotetitle">benio555 napisał(a):</div><div class="quotecontent"><br />A jakiś prostszy sposób? Bo tego wyżej opisanego do końca to nie rozumiem. Sorry ale dopiero się uczę takich działań <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Ewentualnie kolega się jakoś bardziej wypowie na ten temat <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Mam płytkę to programatora więc zostanie tylko skompilowanie tego do poziomu hex i ustawienie fus bitów na zew kwarc 16 MHz. W tym także potrzebowałbym pomocy. Korzystam z konsoli cmd i avrdude i nie mogę w sieci znaleźć  komendy na ustawienie na 16 MHz. Wiem też że muszę mieć AtMegę8A-PU bo tylko ta jest na taką częstotliwość.<br /></div><br /><br />Co do programu nie jest długi. Może warto chwilę dłużej posiedzieć i przepisać na C? Zawsze to nauka przeportowania kodu <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 16 wrz 2014, o 22:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[benio555]]></name></author>
<updated>2014-09-16T20:35:30+01:00</updated>
<published>2014-09-16T20:35:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95701#p95701</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95701#p95701"/>
<title type="html"><![CDATA[Re: Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95701#p95701"><![CDATA[
A jakiś prostszy sposób? Bo tego wyżej opisanego do końca to nie rozumiem. Sorry ale dopiero się uczę takich działań <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Ewentualnie kolega się jakoś bardziej wypowie na ten temat <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Mam płytkę to programatora więc zostanie tylko skompilowanie tego do poziomu hex i ustawienie fus bitów na zew kwarc 16 MHz. W tym także potrzebowałbym pomocy. Korzystam z konsoli cmd i avrdude i nie mogę w sieci znaleźć  komendy na ustawienie na 16 MHz. Wiem też że muszę mieć AtMegę8A-PU bo tylko ta jest na taką częstotliwość.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5848">benio555</a> — 16 wrz 2014, o 20:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-09-16T20:33:15+01:00</updated>
<published>2014-09-16T20:33:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95699#p95699</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95699#p95699"/>
<title type="html"><![CDATA[Re: Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95699#p95699"><![CDATA[
wyprowadź sobie ISO na medze i podłacz usbasp , program skompiluj pod arduino pro (atmega8) 16Mhz  i wgraj via programer<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 16 wrz 2014, o 20:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[benio555]]></name></author>
<updated>2014-09-16T20:22:41+01:00</updated>
<published>2014-09-16T20:22:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95696#p95696</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95696#p95696"/>
<title type="html"><![CDATA[Program z Arduino na Atmegę8 + sprawdzenie schematu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8541&amp;p=95696#p95696"><![CDATA[
Witam. Znalazłem w sieci program oraz schemat do arduino. Chciałbym zapytać czy mogę to skomplikować w jakiś sposób abym mógł normalnie zaprogramować atmegę8 przez usbasp.<br /><br />Proszę również o sprawdzenie schematu. <br /> <a href="http://obrazki.elektroda.pl/8866087900_1410891782.png"  class="postlink"><img src="http://obrazki.elektroda.pl/8866087900_1410891782_thumb.jpg" alt="Obrazek" /></a>   <br /><br /><br />[syntax=c]int motorPin1 = 7; <br />int motorPin2 = 8; <br />int enablePin_1 = 6;<br />int motorPin4 = 2;<br />int motorPin3 = 4;<br />int enablePin_2 =3 ;<br />int buzzer = 11;<br />int f_light = 12 ; <br />int b_light = 5;<br />int state;<br />int flag=0; //makes sure that the serial only prints once the state<br />boolean buzzerstatus = 0;<br />boolean LEDstatus = 0;<br /><br />#include &lt;LiquidCrystal.h&gt;<br /><br />LiquidCrystal lcd(13, 10, 9, A0, A1, A2);<br /><br />void setup() {<br />  // sets the pins as outputs:<br />  lcd.begin(16, 2);<br />  pinMode(buzzer,OUTPUT);<br />  pinMode(f_light,OUTPUT);<br />  pinMode(b_light,OUTPUT);<br />  pinMode(motorPin1, OUTPUT);<br />  pinMode(motorPin2, OUTPUT);<br />  pinMode(enablePin_1, OUTPUT);<br />  pinMode(motorPin3, OUTPUT);<br />  pinMode(motorPin4, OUTPUT);<br />  pinMode(enablePin_2, OUTPUT);<br />  // sets enablePin high so that motor can turn on:<br />  digitalWrite(enablePin_1, HIGH);<br />  digitalWrite(enablePin_2, HIGH);<br />  pinMode(13,OUTPUT);<br />  // initialize serial communication at 9600 bits per second:<br />  Serial.begin(9600);<br />}<br /><br />void loop() {<br />  //if some date is sent, reads it and saves in state<br />  if(Serial.available() &gt; 0){<br />    state = Serial.read();<br />    flag=0;<br />  <br />  // if the state is '0' the DC motor will turn off<br />  if (state == '0') {<br />    digitalWrite(motorPin1, LOW); // set pin 2 on L293D low<br />    digitalWrite(motorPin2, LOW); // set pin 7 on L293D low<br />    digitalWrite(motorPin3, LOW); // set pin 2 on L293D low<br />    digitalWrite(motorPin4, LOW); // set pin 7 on L293D low<br />    if(flag == 0){<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;STOP&quot;);<br />      flag=1;<br />    }<br />  }<br />  // if the state is '1' the motor will forward<br />  else if (state == '1') {<br /> digitalWrite(b_light,LOW);<br />    digitalWrite(motorPin1, LOW); // set pin 2 on L293D low<br />    digitalWrite(motorPin2, HIGH); // set pin 7 on L293D high<br />    digitalWrite(motorPin3, LOW); // set pin 2 on L293D low<br />    digitalWrite(motorPin4, HIGH); // set pin 7 on L293D high<br />    <br />    <br />    if(flag == 0){<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;FORWARD&quot;);<br />      flag=1;<br />  <br />    }<br />  }<br />  // if the state is '2' the motor will backward<br />  else if (state == '2') {<br />    <br />    digitalWrite(b_light,HIGH);<br />    digitalWrite(motorPin1, HIGH); // set pin 2 on L293D high<br />    digitalWrite(motorPin2, LOW); // set pin 7 on L293D low<br />    digitalWrite(motorPin3, HIGH); // set pin 2 on L293D high<br />    digitalWrite(motorPin4, LOW); // set pin 7 on L293D low<br />    <br />      <br />    if(flag == 0){<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;REVERSE&quot;);<br />      flag=1;<br />  <br />    }<br />  }<br /><br />  else if (state == '3') {<br />    <br />   <br />    digitalWrite(motorPin1, LOW); // set pin 2 on L293D high<br />    digitalWrite(motorPin2, HIGH); // set pin 7 on L293D low<br />    digitalWrite(motorPin3, LOW); // set pin 2 on L293D high<br />    digitalWrite(motorPin4, LOW); // set pin 7 on L293D low<br />    delay(150);<br />      digitalWrite(motorPin1, LOW); // set pin 2 on L293D low<br />    digitalWrite(motorPin2, LOW); // set pin 7 on L293D high<br />    digitalWrite(motorPin3, LOW); // set pin 2 on L293D low<br />    digitalWrite(motorPin4, LOW); // set pin 7 on L293D high<br />    if(flag == 0){<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;RIGHT&quot;);<br />      flag=1; //Left wheel forward, Right wheel static<br />       <br />    }<br />  }<br />  else if (state == '4') {<br /> <br />   <br />    digitalWrite(motorPin1, LOW); // set pin 2 on L293D high<br />    digitalWrite(motorPin2, LOW); // set pin 7 on L293D low<br />    digitalWrite(motorPin3, LOW); // set pin 2 on L293D high<br />    digitalWrite(motorPin4, HIGH); // set pin 7 on L293D low<br />    delay(150);<br />     digitalWrite(motorPin1, LOW); // set pin 2 on L293D low<br />    digitalWrite(motorPin2, LOW); // set pin 7 on L293D high<br />    digitalWrite(motorPin3, LOW); // set pin 2 on L293D low<br />    digitalWrite(motorPin4, LOW); // set pin 7 on L293D high<br />    if(flag == 0){<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;LEFT&quot;);<br />   <br />       <br />    }<br />  }<br />  else if (state == '5') {<br /><br />    digitalWrite(buzzer,HIGH);<br />    delay(100);<br />    digitalWrite(buzzer,LOW);<br />  <br />    if(flag == 0){<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;Buzzer ON&quot;);<br />      flag=1;<br />      <br />      <br />    }<br />  }<br />  else if (state == '6') {<br /><br />    digitalWrite(f_light,!digitalRead(f_light));<br />   <br />    if(flag == 0&amp;&amp;digitalRead(f_light)){<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;FRONT LIGHT ON&quot;);<br />      flag=1;<br />    }<br />     else<br />    {<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;FRONT LIGHT OFF&quot;);<br />      flag=1;<br />  }<br />  }<br />  else if (state == '7') {<br /><br />    digitalWrite(b_light,!digitalRead(b_light));<br />   <br />    if(flag == 0 &amp;&amp; digitalRead(b_light)){<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;BACK LIGHT ON&quot;);<br />      flag=1;<br />    }<br />    else<br />    {<br />      lcd.clear();<br />      lcd.setCursor(0, 0);<br />      lcd.print(&quot;Current State:&quot;);<br />      lcd.setCursor(0, 1);<br />      lcd.print(&quot;BACK LIGHT OFF&quot;);<br />      flag=1;<br />  }<br /><br />}<br />}<br />}[/syntax]<br /><br /><br />Źródło: <!-- m --><a class="postlink" href="http://www.electroschematics.com/9623/vk-2wd-electric-car/" >http://www.electroschematics.com/9623/v ... ctric-car/</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5848">benio555</a> — 16 wrz 2014, o 20:22</p><hr />
]]></content>
</entry>
</feed>