<?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>Mohammad</title>
	<atom:link href="http://robotics.reefat.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://robotics.reefat.com</link>
	<description>Robotics Blog</description>
	<lastBuildDate>Thu, 04 Mar 2010 06:08:10 +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>Ardumouse: Arduino Micromouse</title>
		<link>http://robotics.reefat.com/2010/02/ardumouse-arduino-micromouse/</link>
		<comments>http://robotics.reefat.com/2010/02/ardumouse-arduino-micromouse/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 21:14:53 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[micromouse]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=230</guid>
		<description><![CDATA[Micromouse is an event where small robot mice solve a 16&#215;16 maze. The maze is made up of a 16 by 16 grid of cells, each 180 mm square with walls 50 mm high. The mice are completely autonomous robots that must find their way from a predetermined starting position to the central area of [...]]]></description>
			<content:encoded><![CDATA[<p>Micromouse is an event where small robot mice solve a 16&#215;16 maze. The maze is made up of a 16 by 16 grid of cells, each 180 mm square with walls 50 mm high. The mice are completely autonomous robots that must find their way from a predetermined starting position to the central area of the maze unaided. The mouse will need to keep track of where it is, discover walls as it explores, map out the maze and detect when it has reached the goal. Having reached the goal, the mouse will typically perform additional searches of the maze until it has found an optimal route from the start to the center. Once the optimal route has been found, the mouse will run that route in the shortest possible time.</p>
<p>Here&#8217;s an example of how it works:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/ZszTOpILeP0&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ZszTOpILeP0&#038;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>I was working for last couple of months to build one like this, and finally came up with the the following:</p>
<h3>Ardumouse v.1</h3>
<p><img class="alignnone size-full wp-image-256" title="ardunouse-v1" src="http://robotics.reefat.com/wp-content/uploads/2010/02/ardunouse-v1.jpg" alt="" width="470" height="430" /></p>
<h3>Ardumouse v.2</h3>
<p><img class="alignnone size-full wp-image-257" title="ardunouse-v2" src="http://robotics.reefat.com/wp-content/uploads/2010/02/ardunouse-v2.jpg" alt="" width="470" height="370" /></p>
<h3>Ardumouse v.3 (Final Version)</h3>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2010/02/ardumouse-complete.jpg"><img class="alignnone size-full wp-image-235" title="ardumouse-complete" src="http://robotics.reefat.com/wp-content/uploads/2010/02/ardumouse-complete.jpg" alt="" width="470" height="470" /></a></p>
<p>I&#8217;ve been programming it to follow right wall and it worked perfectly:</p>
<p><object width="480" height="365"><param name="movie" value="http://www.dailymotion.com/swf/xcf3kl"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/xcf3kl" width="480" height="365" allowfullscreen="true" allowscriptaccess="always"></embed></object><br /><b><a href="http://www.dailymotion.com/video/xcf3kl_ardumouse-arduino-micromouse-right_tech">Ardumouse: Arduino Micromouse &#8211; Right Wall Follower</a></b><br /><i>Uploaded by <a href="http://www.dailymotion.com/reefat">reefat</a>. &#8211; <a href="http://www.dailymotion.com/us/channel/tech">Discover more science and tech videos.</a></i></p>
<p>Here&#8217;s another video that shows how the micromouse sends debug information to a remote computer through wireless:</p>
<p><object width="480" height="365"><param name="movie" value="http://www.dailymotion.com/swf/xcf3y8"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/xcf3y8" width="480" height="365" allowfullscreen="true" allowscriptaccess="always"></embed></object><br /><b><a href="http://www.dailymotion.com/video/xcf3y8_ardumouse-arduino-micromouse-wirele_tech">Ardumouse: Arduino Micromouse &#8211; Wireless Debugger</a></b><br /><i>Uploaded by <a href="http://www.dailymotion.com/reefat">reefat</a>. &#8211; <a href="http://www.dailymotion.com/us/channel/tech">Technology reviews and science news videos.</a></i></p>
<p>And this the birth place of the micromouse, my bedroom. Don&#8217;t mind, it&#8217;s a little messy:</p>
<p><img class="alignnone size-full wp-image-262" title="ardumouse-workshop-room1" src="http://robotics.reefat.com/wp-content/uploads/2010/02/ardumouse-workshop-room1.jpg" alt="" width="470" height="350" /></p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2010/02/ardumouse-arduino-micromouse/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Arduino Based Wireless Joypad</title>
		<link>http://robotics.reefat.com/2009/01/arduino-based-wireless-joypad/</link>
		<comments>http://robotics.reefat.com/2009/01/arduino-based-wireless-joypad/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 02:59:55 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=128</guid>
		<description><![CDATA[I was thinking about designing a Wireless Joypad to control my Robot,  and finally came up with an idea to make it out of a cheap Gigaware PS2 Joypad found at Radioshack,  which was only $9.99. It has:

2 Joysticks
1 8-way D-Pad (Direction Pad)
8 Action Buttons, and
4 Extra Buttons (Select, Start, Macro, Mode)


So, I [...]]]></description>
			<content:encoded><![CDATA[<p>I was thinking about designing a Wireless Joypad to control my Robot,  and finally came up with an idea to make it out of a cheap <strong><a title="Gigaware PS2 Joypad" href="http://www.radioshack.com/product/index.jsp?productId=3014538" target="_blank">Gigaware PS2 Joypad</a></strong> found at <em>Radioshack</em>,  which was only $9.99. It has:</p>
<ul>
<li>2 Joysticks</li>
<li>1 8-way D-Pad (Direction Pad)</li>
<li>8 Action Buttons, and</li>
<li>4 Extra Buttons (Select, Start, Macro, Mode)</li>
</ul>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2009/01/gigaware-ps2-joypad.jpg"><img class="alignnone size-full wp-image-131" title="gigaware-ps2-joypad" src="http://robotics.reefat.com/wp-content/uploads/2009/01/gigaware-ps2-joypad.jpg" alt="" /></a></p>
<p>So, I was searching on web, how to interface this PS2 Controller with  Arduino, and finally found an Arduino compatible library called <strong><a title="Arduino PSX Library" href="http://www.arduino.cc/playground/Main/PSXLibrary" target="_blank">PSX  Library</a></strong>. I used it with my Arduino and it didn’t work. I  guess, it didn’t work because this library was for PlayStation 1, but my  controller was PS2 compatible. So, I gave up this idea of using any  library. It’s the time for me to come up with my own library.</p>
<p>Thereafter, I cut off the PS2 connector along with the long cable.  This will be wireless, so why bother with this annoying cable/connector?  This time I am not using any circuitry inside the Joypad. The only  things I need are the <strong>Push Buttons</strong>, <strong>LEDs</strong> and the <strong>Joystick Potentiometer</strong>. Then I figured out the  schematic of the two joysticks:</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2009/01/gigaware-joystick-schematic.gif"><img class="alignnone size-full wp-image-130" title="gigaware-joystick-schematic" src="http://robotics.reefat.com/wp-content/uploads/2009/01/gigaware-joystick-schematic.gif" alt="" /></a></p>
<p>The approximate value for each Potentiometer is <strong>5.2K</strong>.  So, those 4 points will be used as Arduino Analog Input ( Pin 1 to 4  respectively). There was not really enough space inside the joypad,  that’s why I had to use wire wrap wires to solder the connectors of  buttons, potentiometers and LEDs. I was able to solder only 8 buttons,  out of all 16; because the other 8 were so compact that they were almost  impossible to solder. This 8 buttons and 2 LEDs will be connected to 10  Digital I/O pins on Arduino.</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2009/01/gigaware-ps2-joypad-labeled.jpg"><img class="alignnone size-full wp-image-132" title="gigaware-ps2-joypad-labeled" src="http://robotics.reefat.com/wp-content/uploads/2009/01/gigaware-ps2-joypad-labeled.jpg" alt="" /></a></p>
<p>Here’re some pictures of the Modified Joypad, the Arduino board, and  the Transmitter and Receiver modules:</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2009/01/modified-joypad-01.jpg"><img class="alignnone size-thumbnail wp-image-135" title="modified-joypad-01" src="http://robotics.reefat.com/wp-content/uploads/2009/01/modified-joypad-01-150x150.jpg" alt="" /></a> <a href="http://robotics.reefat.com/wp-content/uploads/2009/01/modified-joypad-02.jpg"><img class="alignnone size-thumbnail wp-image-136" title="modified-joypad-02" src="http://robotics.reefat.com/wp-content/uploads/2009/01/modified-joypad-02-150x150.jpg" alt="" /></a></p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2009/01/modified-joypad-02.jpg"></a> <a href="http://robotics.reefat.com/wp-content/uploads/2009/01/arduino-duemilanove.jpg"><img class="alignnone size-thumbnail wp-image-129" title="arduino-duemilanove" src="http://robotics.reefat.com/wp-content/uploads/2009/01/arduino-duemilanove-150x150.jpg" alt="" /></a><a href="http://robotics.reefat.com/wp-content/uploads/2009/01/tlp434-rf-transmitter.jpg"><img class="alignnone size-thumbnail wp-image-138" title="tlp434-rf-transmitter" src="http://robotics.reefat.com/wp-content/uploads/2009/01/tlp434-rf-transmitter-150x150.jpg" alt="" /></a> <a href="http://robotics.reefat.com/wp-content/uploads/2009/01/rlp434-rf-receiver.jpg"><img class="alignnone size-thumbnail wp-image-137" title="rlp434-rf-receiver" src="http://robotics.reefat.com/wp-content/uploads/2009/01/rlp434-rf-receiver-150x150.jpg" alt="" /></a></p>
<p>I found some reference article on how to interface these RF Modules  with Microcontroller. Here they are:</p>
<blockquote><p><a href="http://winavr.scienceprog.com/example-avr-projects/running-tx433-and-rx433-rf-modules-with-avr-microcontrollers.html" target="_blank">Running TX433 and RX433 RF modules with AVR  microcontrollers</a><br />
<a href="http://www.sparkfun.com/datasheets/RF/KLP_Walkthrough.pdf" target="_blank">KLP/KLPA Module Walkthrough by Sparkfun</a><br />
<a href="http://narobo.com/articles/rfmodules.html" target="_blank">Implementing  RF Modules</a></p></blockquote>
<p style="padding-left: 30px;">So, I followed the first reference (Running TX433 … …), and it worked  without any problem. By the way, that example module was using <strong>4-Bytes  Packet Transmission Protocol</strong> at 1200 bps. I modified the code  for Arduino, and as it worked with 2400 bps (because my RF Modules were  little faster, 4800 bps).</p>
<p>My joypad has 2 joysticks and each of them has 2-axis (X and Y). So,  it gives 4 analog inputs to the microcontroller and each input has a  resolution of 1024 (0 to 1023), which requires 2 byes (integer) for  each. And 2 joysticks needs 8 bytes (4 x 2 bytes). The 8 push buttons  can be represented as 1 byte (1 bit for each button). The data  transmission packet itself has 1 Synchronization byte, 1 address byte,  and 1 Checksum word (2 bytes). So the length of the complete packet is  13 (8+1+1+1+2) bytes.</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2009/01/transmission-data-packet.gif"><img class="alignnone size-full wp-image-139" title="transmission-data-packet" src="http://robotics.reefat.com/wp-content/uploads/2009/01/transmission-data-packet.gif" alt="" /></a></p>
<p>This time my code went real crazy. I tried to keep it clean and  well-commented almost everything I could. As there are two separate  circuits: the transmitter (joypad itself) and the receiver (Arduino  Duemilanove); so there will be two separate scripts. But, I made the <strong>WirelessDataPacket</strong> class common for both. Here are both sketch source files:</p>
<blockquote><p><a title="Transmitter Sketch Source" href="http://robotics.reefat.com/wp-content/uploads/2009/01/joypad_transmitter.txt" target="_blank">Transmitter Sketch Source</a></p>
<p><a title="Receiver Sketch Source" href="http://robotics.reefat.com/wp-content/uploads/2009/01/joypad_receiver.txt" target="_blank">Receiver Sketch Source</a></p></blockquote>
<p>Everything was working cool when I was using 4-Bytes Transmission  Protocol (as mentioned in the example reference). But when I am using  13-Bytes Packet, it became a lot slower and more than 50% (approximate)  data is losing at the time of transmission.</p>
<p>I calculate the speed this way,</p>
<blockquote><p>2400 bps = (2400/8) bytes per second = 300 Bps</p>
<p>300 Bps = (300/13) packets per second = 23 pps</p></blockquote>
<p>Arduino uses 16.0000 MHz crystal (instead of 9.216 or 11.0592 or  18.432 MHz etc.) which can produce 0.1% error (ref: <a title="AVR BAUD  Rate Calculator" href="http://www.wormfood.net/avrbaudcalc.php" target="_blank">AVR BAUD Rate Calculator</a>). And including some other  circumstances (hardware+software) 5% error is acceptable. But for my  case, the error rate is so huge that the transmission is breaking up and  becomes too much slow. I guess, this can improve if the BAUD Rate of  the RF Modules can be improvised and some other programming technique  (which I don’t know yet) can me implemented.</p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2009/01/arduino-based-wireless-joypad/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Differential Drive Robot – ver.2</title>
		<link>http://robotics.reefat.com/2008/09/differential-drive-robot-%e2%80%93-ver-2/</link>
		<comments>http://robotics.reefat.com/2008/09/differential-drive-robot-%e2%80%93-ver-2/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 02:49:35 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=90</guid>
		<description><![CDATA[Hi everyone, this is the improved version of my previous Differential  Drive Robot. I didn’t think about any name yet; but will figure out one  soon. Anyway, this improved prototype has an IR Rangefinder attached to  it which can detect distance of any object in front of it within a  range [...]]]></description>
			<content:encoded><![CDATA[<p>Hi everyone, this is the improved version of my previous Differential  Drive Robot. I didn’t think about any name yet; but will figure out one  soon. Anyway, this improved prototype has an IR Rangefinder attached to  it which can detect distance of any object in front of it within a  range of 10cm to 80cm. And an extra servo is added to this new version  to rotate the sensor left or right. Let’s take a closer look at the new  prototype.</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/09/my-first-robot-v2.jpg"><img class="alignnone size-full wp-image-191" title="my-first-robot-v2" src="http://robotics.reefat.com/wp-content/uploads/2008/09/my-first-robot-v2.jpg" alt="" width="420" height="336" /></a></p>
<p>Whenever the robot faces an obstacle in front of it, it looks left  and right, and thinks about which side has enough space to go for. Then  it turns to that side and moves forward. Check out the following video  to see how the robot moves.</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/s9aAY5zDuLo&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/s9aAY5zDuLo&#038;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2008/09/differential-drive-robot-%e2%80%93-ver-2/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>My First Differential Drive Robot – ver.1</title>
		<link>http://robotics.reefat.com/2008/09/my-first-differential-drive-robot-ver1/</link>
		<comments>http://robotics.reefat.com/2008/09/my-first-differential-drive-robot-ver1/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 22:32:43 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=86</guid>
		<description><![CDATA[I think, I am running too fast. After building the ATmega  motherboard, I didn’t take more than 1 day to build the whole robot.  This was just for testing purpose (not even experimental; you can say  pre-experimental). At this very moment, I didn’t have any mechanical  tool to build up a [...]]]></description>
			<content:encoded><![CDATA[<p>I think, I am running too fast. After building the ATmega  motherboard, I didn’t take more than 1 day to build the whole robot.  This was just for testing purpose (not even experimental; you can say  pre-experimental). At this very moment, I didn’t have any mechanical  tool to build up a nice-looking handsome robot. I just got a box came  with my NiMH battery charger, and just convert it to the chassis of my  very first robot. Here is a close shot of my ghetto bot:</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/09/my-first-robot.jpg"><img class="alignnone size-full wp-image-189" title="my-first-robot" src="http://robotics.reefat.com/wp-content/uploads/2008/09/my-first-robot.jpg" alt="" width="420" height="328" /></a></p>
<p>The only task I assigned (programmed) to it was avoiding obstacle.  Meaning, it can detect stuff ahead on its way, and avoids those  roadblocks. Very simple, isn’t it? This is enough as the first program. I  have some other plans to work with. And I will keep posting about my  baby robot. So stay keep-in-touch and don’t forget to check the video:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/EVhFB5Gdm_U&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/EVhFB5Gdm_U&#038;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2008/09/my-first-differential-drive-robot-ver1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATmega AVR Development Board</title>
		<link>http://robotics.reefat.com/2008/09/atmega-avr-development-board/</link>
		<comments>http://robotics.reefat.com/2008/09/atmega-avr-development-board/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 22:26:16 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=83</guid>
		<description><![CDATA[Today I have just completed building the brain of my Robot, the MCU  Board using ATmega8 AVR Microcontroller. This MCU Board can be  powered by 6V Adapter or 5 1.2V NiMH Rechargable Batteries. ATmega8 AVR  runs on 5V, and thet’s the reason I used National Semiconductor’s Low  Dropout Voltage Regulator LM2940T.

For [...]]]></description>
			<content:encoded><![CDATA[<p>Today I have just completed building the brain of my Robot, the MCU  Board using <a title="ATmega8 AVR Microcontroller" href="http://www.atmel.com/dyn/products/product_card.asp?part_id=2004" target="_blank">ATmega8</a> AVR Microcontroller. This MCU Board can be  powered by 6V Adapter or 5 1.2V NiMH Rechargable Batteries. ATmega8 AVR  runs on 5V, and thet’s the reason I used National Semiconductor’s Low  Dropout Voltage Regulator <a title="LM2940 - Low Dropout Voltage  Regulator" href="http://www.national.com/mpf/LM/LM2940.html" target="_blank">LM2940T</a>.</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/09/atmega8-mcu-board.jpg"><img class="alignnone size-full wp-image-194" title="atmega8-mcu-board" src="http://robotics.reefat.com/wp-content/uploads/2008/09/atmega8-mcu-board.jpg" alt="" width="420" height="310" /></a></p>
<p>For programming the AVR, I am using <a title="AVRISP mkII In-System  Programmer" href="http://www.atmel.com/dyn/products/tools_card.asp?family_id=607&amp;family_name=AVR%AE+8%2DBit+RISC+&amp;tool_id=3808" target="_blank">AVRISP mkII In-System Programmer</a> and <a title="AVR  Studio" href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725" target="_blank">AVR Studio</a> Development IDE. The MCU Board has two  I/O Ports – 8-Bit PORTD and 6-Bit PORTB, and 6-channel ADC. For PORTD  and PORTB headers, the Vcc can be selected as either 5V or 6V, using the  two yellow jumpers (red-marked). The board also provides 5V output  headers to power up external device(s).</p>
<p><strong>Supported AVRs:</strong> ATmega8, ATmega48, ATmega88,  ATmega168.</p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2008/09/atmega-avr-development-board/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Analog to Digital Converter Demo – Sensor Interfacing</title>
		<link>http://robotics.reefat.com/2008/08/analog-to-digital-converter-demo-sensor-interfacing/</link>
		<comments>http://robotics.reefat.com/2008/08/analog-to-digital-converter-demo-sensor-interfacing/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 22:04:58 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=76</guid>
		<description><![CDATA[This is a simple demo for Analog to Digital Converter. Here I am using National Semiconductor ADC0804, which is a very common 8-bit A/D Converter, compatible with any 8-bit Microprocessor or Microcontroller. In this project I am using a CDS Photocell as an Analog Sensor which is the primary input for the ADC. Based on [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple demo for Analog to Digital Converter. Here I am using National Semiconductor ADC0804, which is a very common 8-bit A/D Converter, compatible with any 8-bit Microprocessor or Microcontroller. In this project I am using a CDS Photocell as an Analog Sensor which is the primary input for the ADC. Based on the input voltage on Pin 6, ADC converts it to digital signal which is an 8-Bit data between 0 and 255. This 8-bit data is then passed through these 8-lines and captured by the <a title="USBMicro Interfacing Device" href="http://www.usbmicro.com/" target="_blank">USBMicro Interfacing Device</a>, which is plugged into my laptop. This USBMicro is very useful for I/O interfacing through the USB port.</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/adc-sensor-demo-schematic.gif"><img class="alignnone size-full wp-image-180" title="adc-sensor-demo-schematic" src="http://robotics.reefat.com/wp-content/uploads/2008/08/adc-sensor-demo-schematic.gif" alt="" width="420" height="390" /></a></p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/usbmicro401-adc0804.jpg"><img class="alignnone size-full wp-image-181" title="usbmicro401-adc0804" src="http://robotics.reefat.com/wp-content/uploads/2008/08/usbmicro401-adc0804.jpg" alt="" width="420" height="195" /></a></p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/adc-sensor-demo.jpg"><img class="alignnone size-full wp-image-179" title="adc-sensor-demo" src="http://robotics.reefat.com/wp-content/uploads/2008/08/adc-sensor-demo.jpg" alt="" width="420" height="289" /></a></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Cb83nKHdajQ&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Cb83nKHdajQ&#038;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Download VB.6 Source <a title="Download VB.6 Source" href="http://robotics.reefat.com/wp-content/uploads/2008/08/ADC-Demo-VB.6.zip" target="_self">ADC-Demo-VB.6.zip</a><br />
Download VB.NET <a title="Download VB.NET Source" href="http://robotics.reefat.com/wp-content/uploads/2008/08/ADC-Demo-VBNET.zip" target="_self">Source ADC-Demo-VB.NET.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2008/08/analog-to-digital-converter-demo-sensor-interfacing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The First 8051 Microcontroller Project – LED Blinking</title>
		<link>http://robotics.reefat.com/2008/08/the-first-8051-microcontroller-project-led-blinking/</link>
		<comments>http://robotics.reefat.com/2008/08/the-first-8051-microcontroller-project-led-blinking/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 21:22:18 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=44</guid>
		<description><![CDATA[The first “Hello World!” project I prefer for Microcontroller is LED  Blinking. I have used ATMEL’s 89C51 (40-pins DIP) 8051 architecture  microcontroller which is ideal for first time learning MCU Chip. I used my previously made 5V Regulator to supply uninterrupted regulated DC voltage. The program is very simple and straight forward, that [...]]]></description>
			<content:encoded><![CDATA[<p>The first “Hello World!” project I prefer for Microcontroller is LED  Blinking. I have used ATMEL’s 89C51 (40-pins DIP) 8051 architecture  microcontroller which is ideal for first time learning MCU Chip. I used my previously made <a title="5V Regulated Power Supply" href="http://robotics.reefat.com/2008/08/simple-5v-regulated-power-supply-for-digital-circuits/" target="_self">5V Regulator</a> to supply uninterrupted regulated DC voltage. The program is very simple and straight forward, that uses a delay procedure that loops for 255 x 256 = 65536 times and produce loop based software delay.</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/89c51-led-blink-schematic.gif"><img class="alignnone size-full wp-image-175" title="89c51-led-blink-schematic" src="http://robotics.reefat.com/wp-content/uploads/2008/08/89c51-led-blink-schematic.gif" alt="" width="420" height="315" /></a></p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/89c51-led-blink-onboard.jpg"><img class="alignnone size-full wp-image-174" title="89c51-led-blink-onboard" src="http://robotics.reefat.com/wp-content/uploads/2008/08/89c51-led-blink-onboard.jpg" alt="" width="420" height="315" /></a></p>
<div>
<div>
<pre>		<span style="color: #0000ff;">org</span><span style="color: #0000ff;">		</span><span style="color: #008000;">0000h</span>
<span style="color: #ff00ff;">loop:</span>
		<span style="color: #0000ff;">mov		</span><span style="color: #ff6600;">b</span>, <span style="color: #008000;">#0FFh</span>
		<span style="color: #0000ff;">acall		</span>delay
		<span style="color: #0000ff;">clr		</span><span style="color: #ff6600;">p1.0</span>
		<span style="color: #0000ff;">mov		</span><span style="color: #ff6600;">b</span>, <span style="color: #008000;">#0FFh</span>
		<span style="color: #0000ff;">acall		</span>delay
		<span style="color: #0000ff;">mov		</span><span style="color: #ff6600;">p1</span>, <span style="color: #008000;">#0FFh</span>

		<span style="color: #0000ff;">ajmp		</span>loop

<span style="color: #ff00ff;">delay:</span>
		<span style="color: #0000ff;">djnz		</span><span style="color: #ff6600;">acc</span>, delay
		<span style="color: #0000ff;">mov		</span><span style="color: #ff6600;">acc</span>, <span style="color: #008000;">#0FFh</span>
		<span style="color: #0000ff;">djnz		</span><span style="color: #ff6600;">b</span>, delay
		<span style="color: #0000ff;">ret</span>
<span style="color: #ff00ff;">end</span></pre>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/HatqLE6OPSU&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HatqLE6OPSU&#038;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2008/08/the-first-8051-microcontroller-project-led-blinking/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Simple 5V Regulated Power Supply For Digital Circuits</title>
		<link>http://robotics.reefat.com/2008/08/simple-5v-regulated-power-supply-for-digital-circuits/</link>
		<comments>http://robotics.reefat.com/2008/08/simple-5v-regulated-power-supply-for-digital-circuits/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 21:09:40 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=40</guid>
		<description><![CDATA[This circuit is a small +5V power supply, which is useful when  experimenting with digital electronics. Small inexpensive wall adapter  with variable output voltage are available from any electronics shop and  supermarket. Those adapters are easily available, but usually their  voltage regulation is very poor, which makes them not very usable [...]]]></description>
			<content:encoded><![CDATA[<p>This circuit is a small +5V power supply, which is useful when  experimenting with digital electronics. Small inexpensive wall adapter  with variable output voltage are available from any electronics shop and  supermarket. Those adapters are easily available, but usually their  voltage regulation is very poor, which makes them not very usable for  digital circuit experimenter unless a better regulation can be achieved  in some way. The following circuit is the answer to the problem</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/5v-regulated-power-supply-schematic.gif"><img class="alignnone size-full wp-image-172" title="5v-regulated-power-supply-schematic" src="http://robotics.reefat.com/wp-content/uploads/2008/08/5v-regulated-power-supply-schematic.gif" alt="" width="420" height="250" /></a></p>
<p>This circuit can give +5V output at about 150 mA current, but it can  be increased to 1A when good cooling is added to 7805 regulator chip.  The circuit has over overload and thermal protection.</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/5v-regulated-power-supply-onboard.jpg"><img class="alignnone size-full wp-image-171" title="5v-regulated-power-supply-onboard" src="http://robotics.reefat.com/wp-content/uploads/2008/08/5v-regulated-power-supply-onboard.jpg" alt="" width="420" height="332" /></a></p>
<p>I have just made one which you see in the picture above where I have  added two header pins so that it can be easily plugged onto a solderless  breadboard.</p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2008/08/simple-5v-regulated-power-supply-for-digital-circuits/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rotary Camera Using Stepper Motor</title>
		<link>http://robotics.reefat.com/2008/08/rotary-camera-using-stepper-motor/</link>
		<comments>http://robotics.reefat.com/2008/08/rotary-camera-using-stepper-motor/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 20:43:20 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=14</guid>
		<description><![CDATA[This is a simple stepper motor controller which rotates a small  wireless camera attached to it. This uses the same circuit of the previous project. The only difference is that the  camera moves only if the Right or Left arrow key is pressed from  keyboard. In the previous project the stepper motor [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple stepper motor controller which rotates a small  wireless camera attached to it. This uses the same circuit of the <a title="Previous Project" href="http://robotics.reefat.com/2008/08/14/2008/08/14/the-first-stepper-motor-project/" target="_self">previous project</a>. The only difference is that the  camera moves only if the Right or Left arrow key is pressed from  keyboard. In the previous project the stepper motor used to rotate  anti-clock wise. Here I change the code little bit to rotate is  clockwise. I just simple reversed the step sequence. So for clockwise  rotation the step sequence is:</p>
<p><code>STEP-1   0001     5<br />
</code><code>STEP-2   1001     4<br />
</code><code>STEP-3   1000     6<br />
</code><code>STEP-4   1010     2<br />
</code><code>STEP-5   0010    10<br />
</code><code>STEP-6   0110     8<br />
</code><code>STEP-7   0100     9<br />
</code><code>STEP-8   0101     1</code></p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/rotary-camera-using-stepper.jpg"><img class="alignnone size-full wp-image-17" title="rotary-camera-using-stepper" src="http://robotics.reefat.com/wp-content/uploads/2008/08/rotary-camera-using-stepper.jpg" alt="" width="420" height="315" /></a></p>
<p>Here I used a wireless camera which sends A/V Signals at 2.4GHz  frequency and on the other hand, the receiver receives it sends it to PC  as video streams using an additional USB Capturing device named <strong>EasyCap</strong>.</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/easycap.jpg"><img class="alignnone size-full wp-image-18" title="easycap" src="http://robotics.reefat.com/wp-content/uploads/2008/08/easycap.jpg" alt="" width="420" height="315" /></a></p>
<p>The video capturing program is written in VB.NET using a 3rd Party  Class names <a title="iCam Class" href="http://www.vbforums.com/showthread.php?p=2048466" target="_blank">iCam</a> which uses  avicap32.dll to work with the video captured by the camera.</p>
<p>Here is the live demonstration of this project:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/iBqb5ICJfBA&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/iBqb5ICJfBA&#038;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2008/08/rotary-camera-using-stepper-motor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stepper Motor Demo</title>
		<link>http://robotics.reefat.com/2008/08/stepper-motor-demo/</link>
		<comments>http://robotics.reefat.com/2008/08/stepper-motor-demo/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 19:51:08 +0000</pubDate>
		<dc:creator>Mohammad</dc:creator>
				<category><![CDATA[Actuators]]></category>

		<guid isPermaLink="false">http://robotics.reefat.com/?p=4</guid>
		<description><![CDATA[This is my first stepper motor project where the I have used NIPPON  PF35T-48L4 unipolar motor which I controlled from a PC through the  Parallel Port (LPT1, DB25). I simply used a ULN2003A IC which uses 7 Darlington Transistor Array to amplify the input  current comming from the port. This 16-pin IC [...]]]></description>
			<content:encoded><![CDATA[<p>This is my first stepper motor project where the I have used <a href="http://robotics.reefat.com/wp-content/uploads/2008/08/PF35T-48L4.pdf">NIPPON  PF35T-48L4</a> unipolar motor which I controlled from a PC through the  Parallel Port (LPT1, DB25). I simply used a <a href="http://robotics.reefat.com/wp-content/uploads/2008/08/ULN2003A.pdf">ULN2003A</a> IC which uses 7 Darlington Transistor Array to amplify the input  current comming from the port. This 16-pin IC is capable to take TTL  input and the output load may have high voltage upto 50V. I wrote small  program in Visual Basic 6 using <a href="http://logix4u.net/Legacy_Ports/Parallel_Port/Inpout32.dll_for_Windows_98/2000/NT/XP.html">inpout32.dll</a> driver.</p>
<p>Here is a screenshot for the unipolar stepper motor and the driver IC  ULN2003A:</p>
<p><a href="http://robotics.reefat.com/wp-content/uploads/2008/08/stepper-driver-schematic.gif"><img class="alignnone size-full wp-image-164" title="stepper-driver-schematic" src="http://robotics.reefat.com/wp-content/uploads/2008/08/stepper-driver-schematic.gif" alt="" width="420" height="240" /></a></p>
<p>It is recommended to connect a 6.2V zener diode between the power  supply and VDD (Pin 9) on the chip, to absorb reverse (or “back”) EMF  from the magnetic field collapsing when motor coils are switched off.</p>
<p>To rotate the motor anti-clock wise, the step sequence sent to the  parallel port is as follows:</p>
<p><code>STEP-1   0001     1<br />
</code><code>STEP-2   1001     9<br />
</code><code>STEP-3   1000     8<br />
</code><code>STEP-4   1010    10<br />
</code><code>STEP-5   0010     2<br />
</code><code>STEP-6   0110     6<br />
</code><code>STEP-7   0100     4<br />
</code><code>STEP-8   0101     5</code></p>
<p>Here is the live video of how the motor rotates:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/hQlG9tHk41w&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/hQlG9tHk41w&#038;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://robotics.reefat.com/2008/08/stepper-motor-demo/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
