<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>arvydas.co.uk &#187; Arduino</title>
	<atom:link href="http://www.arvydas.co.uk/category/arduino/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.arvydas.co.uk</link>
	<description>Software development and electronics</description>
	<lastBuildDate>Tue, 22 Feb 2011 22:07:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Arduino interfacing SRF05 rage finder with LCD screen</title>
		<link>http://www.arvydas.co.uk/2010/01/arduino-interfacing-srf05-rage-finder-with-lcd-screen/</link>
		<comments>http://www.arvydas.co.uk/2010/01/arduino-interfacing-srf05-rage-finder-with-lcd-screen/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 12:47:56 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino MEGA]]></category>
		<category><![CDATA[Arduino Tutorials]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[lcd screen]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[range finder]]></category>
		<category><![CDATA[samples]]></category>
		<category><![CDATA[SRF05]]></category>
		<category><![CDATA[ultrasonic]]></category>

		<guid isPermaLink="false">http://www.arvydas.co.uk/?p=62</guid>
		<description><![CDATA[
This is a another sample demonstrating Arduino MEGA, LCD screen and SRF05 ultrasonic range finder. The distance measurement from SRF05 is displayed on the LCD screen in centimetres.
Different from Infra Red range finder witch uses IR light to measure distance, ultrasonic range finder sends short high pitch sound pulses and measures the time for the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-range-finder.jpg" class="liimagelink" rel="lightbox[62]"><img class="alignnone size-full wp-image-63" title="arduino-range-finder" src="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-range-finder.jpg" alt="" width="500" height="310" /></a></p>
<p>This is a another sample demonstrating Arduino MEGA, LCD screen and SRF05 ultrasonic range finder. The distance measurement from SRF05 is displayed on the LCD screen in centimetres.</p>
<p><a href="http://www.arvydas.co.uk/2010/01/arduino-interfacing-srf05-rage-finder-with-lcd-screen/"><em>Click here to view the embedded video.</em></a></p>
<p>Different from Infra Red range finder witch uses IR light to measure distance, ultrasonic range finder sends short high pitch sound pulses and measures the time for the echo to come back to the microphone. Here is a <a href="http://www.robot-electronics.co.uk/htm/srf05tech.htm" target="_blank" class="liexternal">very good comparison of the two types of range finders</a>. The code running on the Arduino:</p>
<pre class="brush: cpp;">
// include the library code:
#include &lt;LiquidCrystal.h&gt;

#define echoPin 6             // the SRF05's echo pin
#define initPin 7             // the SRF05's init pin
unsigned long pulseTime = 0;  // variable for reading the pulse

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
 // set up the LCD's number of rows and columns:
 lcd.begin(16, 2);

 // make the init pin an output:
 pinMode(initPin, OUTPUT);
 // make the echo pin an input:
 pinMode(echoPin, INPUT);
}

void loop() {
 digitalWrite(initPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(initPin, LOW);

 pulseTime = pulseIn(echoPin, HIGH);

 lcd.setCursor(0,0);
 lcd.print(pulseTime / 58, DEC);
 lcd.print(&quot;cm&quot;);

 delay(100);
 lcd.clear();
}
</pre>
<p>Another application for SRF05 is a basic theremin by LuckyLarry. You can see it in action here:</p>
<p><a href="http://www.arvydas.co.uk/2010/01/arduino-interfacing-srf05-rage-finder-with-lcd-screen/"><em>Click here to view the embedded video.</em></a></p> <p><a href="http://www.arvydas.co.uk/2010/01/arduino-interfacing-srf05-rage-finder-with-lcd-screen/"><em>Click here to view the embedded video.</em></a></p>
<p>Read on here:</p>
<ul>
<li><a href="http://luckylarry.co.uk/2009/11/arduino-a-basic-theremin/" target="_blank" class="liexternal">Arduino: A Basic Theremine</a></li>
<li><a href="http://luckylarry.co.uk/2009/11/arduino-basic-theremin-meets-processing/" target="_blank" class="liexternal">Arduino: Basic Theremin meets Processing!</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.co.uk/2010/01/arduino-interfacing-srf05-rage-finder-with-lcd-screen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Arduino MEGA auto-reset fix</title>
		<link>http://www.arvydas.co.uk/2010/01/arduino-mega-auto-reset-fix/</link>
		<comments>http://www.arvydas.co.uk/2010/01/arduino-mega-auto-reset-fix/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 12:27:14 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino MEGA]]></category>
		<category><![CDATA[electronics]]></category>

		<guid isPermaLink="false">http://www.arvydas.co.uk/?p=56</guid>
		<description><![CDATA[The Arduino MEGA I got had and issue with automatic reset during sketch upload. The error message in the Arduino IDE looked something like this:

&#60;pre&#62;avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

I had to hit Reset button just before uploading a sketch. This issue was due to some sort of defect in [...]]]></description>
			<content:encoded><![CDATA[<p>The Arduino MEGA I got had and issue with automatic reset during sketch upload. The error message in the Arduino IDE looked something like this:</p>
<pre class="brush: plain;">
&lt;pre&gt;avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
</pre>
<p>I had to hit Reset button just before uploading a sketch. This issue was due to some sort of defect in the Reset capacitor. The fix is very simple: just solder a 100nF capacitor on top of the defect one.</p>
<p><a href="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-reset-mod.jpg" class="liimagelink" rel="lightbox[56]"><img class="alignnone size-full wp-image-58" title="arduino-reset-mod" src="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-reset-mod.jpg" alt="" width="500" height="333" /></a></p>
<p>(<a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1243607033/15" target="_blank" class="liexternal">via</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.co.uk/2010/01/arduino-mega-auto-reset-fix/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Arduino LED traffic lights</title>
		<link>http://www.arvydas.co.uk/2010/01/arduino-led-traffic-lights/</link>
		<comments>http://www.arvydas.co.uk/2010/01/arduino-led-traffic-lights/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 12:19:20 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino MEGA]]></category>
		<category><![CDATA[Arduino Tutorials]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[samples]]></category>
		<category><![CDATA[traffic lights]]></category>

		<guid isPermaLink="false">http://www.arvydas.co.uk/?p=52</guid>
		<description><![CDATA[
This is a bit enhanced version of the &#8220;hello world&#8221; blink application for Arduino: traffic lights emulator. The top three LEDs control car traffic and the bottom two are fore pedestrians.

int carRedPin =  13;
int carYellowPin =  12;
int carGreenPin =  11;
int pedestrianRedPin =  10;
int pedestrianGreenPin =  9;

// The setup() method runs once, when the sketch starts

void [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-mega-traffic-lights.jpg" class="liimagelink" rel="lightbox[52]"><img class="alignnone size-full wp-image-53" title="arduino-mega-traffic-lights" src="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-mega-traffic-lights.jpg" alt="" width="500" height="327" /></a></p>
<p>This is a bit enhanced version of the &#8220;hello world&#8221; blink application for Arduino: traffic lights emulator. The top three LEDs control car traffic and the bottom two are fore pedestrians.</p>
<pre class="brush: cpp;">
int carRedPin =  13;
int carYellowPin =  12;
int carGreenPin =  11;
int pedestrianRedPin =  10;
int pedestrianGreenPin =  9;

// The setup() method runs once, when the sketch starts

void setup()   {
  pinMode(carRedPin, OUTPUT);
  pinMode(carYellowPin, OUTPUT);
  pinMode(carGreenPin, OUTPUT);
  pinMode(pedestrianRedPin, OUTPUT);
  pinMode(pedestrianGreenPin, OUTPUT);
}

// the loop() method runs over and over again,
// as long as the Arduino has power

void blink(int light)
{
  digitalWrite(light, LOW);
  delay(500);
  digitalWrite(light, HIGH);
  delay(500);
  digitalWrite(light, LOW);
  delay(500);
  digitalWrite(light, HIGH);
  delay(500);
  digitalWrite(light, LOW);
  delay(500);
  digitalWrite(light, HIGH);
  delay(500);
  digitalWrite(light, LOW);
}

void loop()
{
  digitalWrite(carRedPin, HIGH);
  digitalWrite(pedestrianGreenPin, HIGH);
  delay(3000);

  blink(pedestrianGreenPin);

  digitalWrite(pedestrianRedPin, HIGH);
  digitalWrite(pedestrianGreenPin, LOW);
  delay(1000);
  digitalWrite(carYellowPin, HIGH);
  delay(1000);
  digitalWrite(carRedPin, LOW);
  digitalWrite(carYellowPin, LOW);
  digitalWrite(carGreenPin, HIGH);
  delay(3000);

  blink(carGreenPin);

  digitalWrite(carYellowPin, HIGH);
  delay(2000);
  digitalWrite(carYellowPin, LOW);
  digitalWrite(carRedPin, HIGH);
  delay(1000);
  digitalWrite(pedestrianRedPin, LOW);
}
</pre>
<p>The code above is straightforward: just enabling and disabling LED at certain time. Traffic lights in action:</p>
<p><a href="http://www.arvydas.co.uk/2010/01/arduino-led-traffic-lights/"><em>Click here to view the embedded video.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.co.uk/2010/01/arduino-led-traffic-lights/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Arduino and LCD screen</title>
		<link>http://www.arvydas.co.uk/2010/01/arduino-and-lcd-screen/</link>
		<comments>http://www.arvydas.co.uk/2010/01/arduino-and-lcd-screen/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 12:09:36 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino MEGA]]></category>
		<category><![CDATA[Arduino Tutorials]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[lcd screen]]></category>
		<category><![CDATA[samples]]></category>

		<guid isPermaLink="false">http://www.arvydas.co.uk/?p=46</guid>
		<description><![CDATA[
This was one of my first projects to try out various features of Arduino. I got this 2&#215;16 LCD screen from Oomlout. The breadboard schematics came together with the LCD screen and is relatively simple.

Here is the sample code I uploaded to the controller:

// include the library code:
#include &#60;LiquidCrystal.h&#62;

// initialize the library with the numbers [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-lcd-test.jpg" class="liimagelink" rel="lightbox[46]"><img class="alignnone size-full wp-image-47" title="arduino-lcd-test" src="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-lcd-test.jpg" alt="" width="500" height="348" /></a></p>
<p>This was one of my first projects to try out various features of Arduino. I got this <a href="http://www.oomlout.co.uk/lcd-display-16-x-2-p-212.html" target="_blank" class="liexternal">2&#215;16 LCD screen from Oomlout</a>. The breadboard schematics came together with the LCD screen and is relatively simple.</p>
<p><a href="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-lcd-schematic.jpg" class="liimagelink" rel="lightbox[46]"><img class="alignnone size-full wp-image-48" title="arduino-lcd-schematic" src="http://www.arvydas.co.uk/wp-content/uploads/2010/01/arduino-lcd-schematic.jpg" alt="" width="296" height="427" /></a></p>
<p>Here is the sample code I uploaded to the controller:</p>
<pre class="brush: cpp;">
// include the library code:
#include &lt;LiquidCrystal.h&gt;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
 // set up the LCD's number of rows and columns:
 lcd.begin(16, 2);
}

void loop() {

 lcd.print(&quot;                 arvydas.net&quot;);

 lcd.setCursor(16,1);
 lcd.autoscroll();

 for (int thisChar = 0; thisChar &amp;lt; 28; thisChar++) {
 lcd.print(&quot; &quot;);
 delay(250);
 }
 lcd.noAutoscroll();

 lcd.clear();
}
</pre>
<p>Just a simple scrolling text and here is the video:</p>
<p><a href="http://www.arvydas.co.uk/2010/01/arduino-and-lcd-screen/"><em>Click here to view the embedded video.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.co.uk/2010/01/arduino-and-lcd-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacking a toy car @ fizzPOP Howduino</title>
		<link>http://www.arvydas.co.uk/2009/11/hacking-a-toy-car-fizzpop-howduino/</link>
		<comments>http://www.arvydas.co.uk/2009/11/hacking-a-toy-car-fizzpop-howduino/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 14:19:07 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino MEGA]]></category>
		<category><![CDATA[Hardware hacking]]></category>
		<category><![CDATA[R/C toy hacking]]></category>
		<category><![CDATA[Birmingham]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[fizzPOP]]></category>
		<category><![CDATA[Howduino]]></category>
		<category><![CDATA[R/C toy]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.arvydas.co.uk/?p=6</guid>
		<description><![CDATA[
This Saturday I had a chance to attend a fantastic Howduino event in Birmingham &#8211; a one day hackers workshop. This was my first experience in this type of event, so I came without any expectations. :) Once the the welcoming announcements were made everybody started hacking either by going to beginners workshops or working [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-14" title="IMG1716" src="http://www.arvydas.co.uk/wp-content/uploads/2009/11/IMG1716.jpg" alt="IMG1716" width="500" height="333" /></p>
<p>This Saturday I had a chance to attend a fantastic <a href="http://www.howduino.com" target="_blank" class="liexternal">Howduino</a> event in Birmingham &#8211; a one day hackers workshop. This was my first experience in this type of event, so I came without any expectations. :) Once the the welcoming announcements were made everybody started hacking either by going to beginners workshops or working on their own projects. Steward from <a href="http://www.kre8.com/" target="_blank" class="liexternal">Kre8</a> joined me at my desk and we had a lot of fun working together.</p>
<h3>The task</h3>
<p>My task for the day was to transform this R/C toy car from <a href="http://www.elc.co.uk" class="liexternal">ELC</a> into an obstacle avoiding robot.</p>
<p><img class="alignnone size-full wp-image-15" title="IMG1710" src="http://www.arvydas.co.uk/wp-content/uploads/2009/11/IMG1710.jpg" alt="IMG1710" width="500" height="333" /></p>
<p>I chose this cute little toy, because each side of the wheels is controlled by a separate motor. This allows the car to turn around 360 degrees in one spot. There was one big challenge involved in hacking this toy car: I had to be able to assemble it back again, because my son had already announced the ownership. :) <span id="more-6"></span></p>
<h3>Let the hacking begin!</h3>
<p><img class="alignnone size-full wp-image-16" title="IMG1711" src="http://www.arvydas.co.uk/wp-content/uploads/2009/11/IMG1711.jpg" alt="IMG1711" width="500" height="333" /></p>
<p>Above is the picture of the disassembled car. The quality of the toy is really high, because it is supposed to sustain driving in the mud and water. You can see the wires coming from the two motors on each side of the chassis. Those were cut roughly in the middle and extended with additional wires.</p>
<p><img class="alignnone size-full wp-image-17" title="IMG1712" src="http://www.arvydas.co.uk/wp-content/uploads/2009/11/IMG1712.jpg" alt="IMG1712" width="500" height="333" /></p>
<p>A quick break: above is the picture of my work desk @ Howduino. The only thing that bothered in the event was very poor lighting. Despite that it was great to have so many like-minded hackers around sharing ideas and hardware with each other.</p>
<p><img class="alignnone size-full wp-image-18" title="IMG1713" src="http://www.arvydas.co.uk/wp-content/uploads/2009/11/IMG1713.jpg" alt="IMG1713" width="500" height="333" /></p>
<p>Here you can see the prototype spread on the table: the chassis upside down so it doesn&#8217;t dive off the desk together with all electronic parts, breadboard with L293D motor driver, Arduino MEGA, SRF05 ultrasonic range finder on top of a servo. I couldn&#8217;t manage to use the servo for advanced range finding, because it would have complicated the software and I wouldn&#8217;t have finished the project on time.</p>
<h3>The code</h3>
<p>I grabbed the essential part of the code from <a href="http://luckylarry.co.uk/2009/08/obstacle-avoidance-robot-build-your-own-larrybot/" target="_blank" class="liexternal">LuckyLarry&#8217;s Obstacle avoidance robot</a> and tested it.</p>
<pre class="brush: cpp;">
const int numOfReadings = 10;           // number of readings to take/ items in the array
int readings[numOfReadings];            // stores the distance readings in an array
int arrayIndex = 0;                     // arrayIndex of the current item in the array
int total = 0;                          // stores the cumlative total
int averageDistance = 0;                // stores the average value
unsigned long distance = 0;

const int motor1Pin1 = 2;    // H-bridge leg 1
const int motor1Pin2 = 3;    // H-bridge leg 2
const int motor2Pin1 = 4;    // H-bridge leg 3
const int motor2Pin2 = 5;    // H-bridge leg 4
const int enable1Pin = 9;    // H-bridge enable pin
const int enable2Pin = 10;   // H-bridge enable pin
const int ledPin = 13;       // LED

#define echoPin 6             // the SRF04's echo pin
#define initPin 7             // the SRF04's init pin
unsigned long pulseTime = 0;  // variable for reading the pulse
long servoAngle = 90;         // variable for reading the pulse
int servoDirection = 1;

void setup() {
  pinMode(ledPin, OUTPUT);

  // set all the other pins you're using as outputs:
  pinMode(motor1Pin1, OUTPUT);
  pinMode(motor1Pin2, OUTPUT);
  pinMode(enable1Pin, OUTPUT);

  pinMode(motor2Pin1, OUTPUT);
  pinMode(motor2Pin2, OUTPUT);
  pinMode(enable2Pin, OUTPUT);

  // set enablePin high so that motor can turn on:
  digitalWrite(enable1Pin, HIGH);
  digitalWrite(enable2Pin, HIGH);

  // make the init pin an output:
  pinMode(initPin, OUTPUT);
  // make the echo pin an input:
  pinMode(echoPin, INPUT);

  for (int thisReading = 0; thisReading &lt; numOfReadings; thisReading++)
  {
    readings[thisReading] = 0;
  }

  // blink the LED 3 times. This should happen only once.
  // if you see the LED blink three times, it means that the module
  // reset itself,. probably because the motor caused a brownout
  // or a short.
  blink(ledPin, 3, 100);
}

void loop() {
  digitalWrite(initPin, HIGH);              // send 10 microsecond pulse
  delayMicroseconds(10);                    // wait 10 microseconds before turning off
  digitalWrite(initPin, LOW);               // stop sending the pulse
  pulseTime = pulseIn(echoPin, HIGH);       // Look for a return pulse, it should be high as the pulse goes low-high-low
  distance = pulseTime/58;                  // Distance = pulse time / 58 to convert to cm.
  total= total - readings[arrayIndex];      // subtract the last distance
  readings[arrayIndex] = distance;          // add distance reading to array
  total= total + readings[arrayIndex];      // add the reading to the total
  arrayIndex = arrayIndex + 1;              // go to the next item in the array                                

  // At the end of the array (10 items) then start again
  if (arrayIndex &gt;= numOfReadings)  {
    arrayIndex = 0;
  }

  averageDistance = total / numOfReadings;      // calculate the average distance
  delay(10);

  // check the average distance and move accordingly

  if (averageDistance &lt; = 20){
    // go backwards
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);   

  }

  if (averageDistance &lt;= 60 &amp;&amp; averageDistance &gt; 20) {
    // turn
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, LOW);
  }

  if (averageDistance &gt; 60)   {
    // go forward
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);    

  }

}

/*
blinks an LED
*/
void blink(int whatPin, int howManyTimes, int milliSecs) {
  int i = 0;
  for ( i = 0; i &lt; howManyTimes; i++) {
    digitalWrite(whatPin, HIGH);
    delay(milliSecs/2);
    digitalWrite(whatPin, LOW);
    delay(milliSecs/2);
  }
}
</pre>
<p>The code above keeps checking the distance to the closest object and calculates the average. If distance is more than 60cm, robot runs forward, when distance is between 20cm and 60cm robot turns left. When distance is less than 20cm, robot runs back.</p>
<h3>Mission accomplished!</h3>
<p>Tested and working! Final assembly on the desk:</p>
<p><img class="alignnone size-full wp-image-19" title="IMG1714" src="http://www.arvydas.co.uk/wp-content/uploads/2009/11/IMG1714.jpg" alt="IMG1714" width="500" height="333" /></p>
<p>You can see the little car running on the floor :)</p>
<p><a href="http://www.arvydas.co.uk/2009/11/hacking-a-toy-car-fizzpop-howduino/"><em>Click here to view the embedded video.</em></a></p>
<p>Thanks to <a href="http://twitter.com/genzaichi" target="_blank" class="liexternal">Nikki</a> for this video!</p>
<h3>What&#8217;s next?</h3>
<p>There is still a lot to do:</p>
<ul>
<li>Use the servo to move the range finder for better &#8220;view&#8221; of the objects around;</li>
<li>Resolve battery drain, because quickly switching the direction of the motor is not good;</li>
<li>Make it a bit smarter to stop and look around;</li>
<li>Investigate surrounding area and draw a map in the memory;</li>
<li>Try to find docking station to recharge all by itself;</li>
<li>Make it light loving/phobic;</li>
</ul>
<p>You can find more pictures from the event in the <a href="http://www.flickr.com/groups/howduino/" target="_blank" class="liexternal">Howduino Flickr group</a> and a <a href="http://www.fizzpop.org.uk/blog/the-howduino-happened/" target="_blank" class="liexternal">blog post</a>. Big thank you goes to fizzPOP for organizing the even and hope to see all of you next year!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.co.uk/2009/11/hacking-a-toy-car-fizzpop-howduino/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

