<?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>DIY Live &#187; Microcontrollers</title>
	<atom:link href="http://www.diylive.net/index.php/category/microcontrollers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.diylive.net</link>
	<description>Do-it-yourself projects and technology updates</description>
	<lastBuildDate>Mon, 16 Jun 2008 16:02:20 +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>JDM2 PIC programmer</title>
		<link>http://www.diylive.net/index.php/2006/01/23/jdm2-pic-programmer/</link>
		<comments>http://www.diylive.net/index.php/2006/01/23/jdm2-pic-programmer/#comments</comments>
		<pubDate>Mon, 23 Jan 2006 16:33:38 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>

		<guid isPermaLink="false">http://www.diylive.net/?p=107</guid>
		<description><![CDATA[

The previous PIC programmer that I posted only programs a PIC16F84.  You may want to build a PIC programmer that will program a higher variety of PIC chips.

Ian writes: &#8230;Prior to reading sites like www.hackaday.com &#038; www.makezine.com/blog I had worked only with the Amtel/AVR line of microcontrollers.  After seeing all the cool projects [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/pic_programmer_JDM2.jpg' alt='' /><br />
<br />
The previous PIC programmer that I posted only programs a PIC16F84.  You may want to build a PIC programmer that will program a higher variety of PIC chips.</p>
<p>
Ian writes: <em>&#8230;Prior to reading sites like www.hackaday.com &#038; www.makezine.com/blog I had worked only with the Amtel/AVR line of microcontrollers.  After seeing all the cool projects people were doing with Microchip PICs, I  HAD to have a  PIC programmer. About a year ago I made my first PIC programmer based on the uJDM design [http://www.jdm.homepage.dk/newpic3.htm ].  This programmer uses 6 common components.  Though the link says &#8216;16F84(a)&#8217; only, I used it for the more modern (and cheaper) 16F628(a) processors without problems. This programmer has served me extremely well, but it is limited to (less than) 18 pin PICs with a programming  Vpp of 13 volts.</p>
<p>This &#8216;instructable&#8217; covers my new design that programs 8/14/18/28/40 pin PICs.  The circuit is based on the JDM2 programmer [http://jdm.homepage.dk/newpic.htm ], with two enhancements: clock and data line filtering &#038; selectable programming voltage&#8230;.</em><br />
<br />
Check out this programmer at <a href="http://www.instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506/?ALLSTEPS" rel="nofollow">www.instructables.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2006/01/23/jdm2-pic-programmer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Video signal generation with PIC chip</title>
		<link>http://www.diylive.net/index.php/2006/01/22/video-signal-generation-with-pic-chip/</link>
		<comments>http://www.diylive.net/index.php/2006/01/22/video-signal-generation-with-pic-chip/#comments</comments>
		<pubDate>Sun, 22 Jan 2006 23:04:16 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.diylive.net/?p=106</guid>
		<description><![CDATA[

The idea of creating video signals with a microcontroller is very fascinating to me.  Creating live video data through software is not an easy task.  The task is even more complicated if implemented on a PIC chip.  The video signal has to constantly be generated, and any calculations have to be done [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/picgamesys.jpg' alt='' /><br />
<br />
The idea of creating video signals with a microcontroller is very fascinating to me.  Creating live video data through software is not an easy task.  The task is even more complicated if implemented on a PIC chip.  The video signal has to constantly be generated, and any calculations have to be done during a small window of time between frames being drawn.  It is much easier to have a hardware video signal generator such as a video card, and then feed the preformed information to it.<br />
<br />
The above picture is a picture of a game system created around the PIC16F84.  It contains both the video generation software, as well as the game software.  This chip is an 18 pin microcontroller made by <a href="http://www.microchip.com" rel="nofollow">Microchip</a>.  Rickard Grunee writes:<br />
<em>&#8230;I have designed the hardware of the PIC game system to be able to run several different kinds of games. It has two standard C64/Amiga/Atari joysticks and video and audio output. The processor is a PIC16F84 running at 12MHz. The description of the hardware is placed on this separate page as it is the same for both of my PIC-based video games. So far I&#8217;ve only made two games, <a href="http://www.rickard.gunee.com/projects/video/pic/pong.php" rel="nofollow">Pong</a> and <a href="http://www.rickard.gunee.com/projects/video/pic/tetris.php" rel="nofollow">Tetris</a>, but some day there might be more games for the system. (Most unlikely that I write more games though as I probably will write more games for the <a href="http://www.rickard.gunee.com/projects/video/sx/gamesys.php" rel="nofollow">SX-system</a>  instead)&#8230;</em><br />
<br />
You can read all about how to generate video on this chip at <a href="http://www.rickard.gunee.com/projects/video/pic/gamesys.php" rel="nofollow">www.rickard.gunee.com</a>  Sadly my new microcontroller programmer will not program the 16F84.  I may have to build my own <a href="http://www.diylive.net/index.php/2005/11/12/build-your-own-microcontroller-programmer/">programmer</a>.<br />
<br />
<img src='http://diy.griffshp.com/wp-content/video_signal.png' alt='' /><br />
<br />
<img src='http://diy.griffshp.com/wp-content/video_signal_output.png' alt='' /><br />
<br />
I am not going to go into the specifics of how to generate video, because it is very complicated.  You can read a good article on it <a href="http://www.rickard.gunee.com/projects/video/pic/howto.php" rel="nofollow">here.</a>  The two pictures you see are from rickard gunee&#8217;s site.  The first one is a sample video signal output from his chip, and the next picture is the output on the screen.  The timing of the video signal is very important.  The spikes on the signal correspond to the vertical lines on the screen.  This signal is the information for one horizontal sweep across the screen.  It gives all of the information for one row of pixels.  It has on the left, a set-up spike, and then there is an 8 microsecond pause.  The other spikes you see correspond to the white, and gray stripes.  The baseline is the information for black.  This video only has thre shades.  The first is black, then their is gray, and then their is white.  One warning for this site, is that since it is produced in Europe, it is on the PALS system, and not NTSC, which is the American format for telivision.<br />
<br />
Another good resource for creating video signals using a microcontroller (Atmel mega32) can be found <a href="http://instruct1.cit.cornell.edu/courses/ee476/video/index.html" rel="nofollow">here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2006/01/22/video-signal-generation-with-pic-chip/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Run out of pins on your PIC chip?</title>
		<link>http://www.diylive.net/index.php/2005/12/22/run-out-of-pins-on-your-pic-chip/</link>
		<comments>http://www.diylive.net/index.php/2005/12/22/run-out-of-pins-on-your-pic-chip/#comments</comments>
		<pubDate>Thu, 22 Dec 2005 15:32:00 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>

		<guid isPermaLink="false">http://www.diylive.net/index.php/2005/12/22/run-out-of-pins-on-your-pic-chip/</guid>
		<description><![CDATA[
I remember when I was building my line following robot that I ran out of output pins.  I was using two sensors as inputs, and just didn&#8217;t have enough output pins left to control the motors the way that I wanted to.  Here is an article on how to make an external multiplexor [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/Multiplexer.JPG' alt='' /><br />
I remember when I was building my <a href="http://www.diylive.net/index.php/2005/12/13/diy-line-following-robot2/">line following robot</a> that I ran out of output pins.  I was using two sensors as inputs, and just didn&#8217;t have enough output pins left to control the motors the way that I wanted to.  Here is an article on how to make an external multiplexor that will allow you to have more inputs.<br />
<br />
<em>&#8230;This device was created to allow more analog sensors to be added to a robot. It is simply a 8 port switcher for analog or digital signals. The device is controled by a PIC 12F675 microcontroler, and gives eight analoge outputs from one analoge input, and one digital input&#8230;.</em><br />
<strong>This link was submitted by Richard from rmcybernetics</strong><br />
<a href="http://www.rmcybernetics.com/projects/DIY_Devices/homemade_sensor_multiplexer.htm">[Link]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2005/12/22/run-out-of-pins-on-your-pic-chip/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DIY Line Following Robot 2</title>
		<link>http://www.diylive.net/index.php/2005/12/13/diy-line-following-robot2/</link>
		<comments>http://www.diylive.net/index.php/2005/12/13/diy-line-following-robot2/#comments</comments>
		<pubDate>Tue, 13 Dec 2005 21:02:23 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[DIY Projects]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Robots]]></category>

		<guid isPermaLink="false">http://www.diylive.net/?p=61</guid>
		<description><![CDATA[

Introduction:
Well, I have finally had a chance to get over all of my finals, and hopefully did well.  I will find out on Monday.  Well, as I have promised, here is my next DIY how to project.  Beware, it is going to have to be in depth, and long.  As any [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/robotfront.jpg' alt='' /><br />
<br />
<strong><em>Introduction:</em></strong><br />
Well, I have finally had a chance to get over all of my finals, and hopefully did well.  I will find out on Monday.  Well, as I have promised, here is my next DIY how to project.  Beware, it is going to have to be in depth, and long.  As any good engineering project goes, we will start out with a problem and a solution.  The problem is going to be to build a Lego robot with sensors, a motor controller, and a microcontroller that 1. Follows a black tape.  2. Upon reaching the end of the tape will pause for three seconds.  3. After pausing for 3 seconds will return back to the starting point.<br />
<br />
The next step in an engineering problem is to come up with a solution.  Ideas of implementation must be thought of.  There are two possibilities of making a robot come back to the starting point after pausing for three seconds.  The first and most obvious way is to make the robot turn around and then drive back to the starting point following the line.  This way of implementing has a lot of benefits.  The first is that it is the easiest to implement, and it is relatively straight forward.  When the robot hits the end of the tape, the sensor will notice that it is not sensing the tape anymore, and this will cause the robot to turn around and when it sees the tape again, will continue on its path.  There is one problem with this way though.   It is common.<br />
<br />
We have all seen a line following robot, and it is neat, but not impressive.  I wanted to do something that has not been done.  I chose to implement my robot the second possible way, and the hardest way to implement.  I wanted my robot to sense the end of the line, and then pause, and after a three second pause, I wanted it to drive in reverse and follow the line going backwards using a second set of sensors, so this is the robot that I will present.  The only warning, and sad part of this project is that I canâ€™t find my code.  It is on a disk somewhere, and I have no idea where that is.  I will provide code for a simple line-following robot though, and will explain the differences.  In essence, I will tell you how to build both robots.  On a positive note though, I do have a schematic of my robot, so you can see exactly how it is done.<br />
<br />
<strong><em>Simple Line following robot:</em></strong><br />
We now have an idea of what we want to do, so we need to decide what circuits we need, and how to implement them together.  We need to break this project into its components, and that is exactly how I did it.   Once again, the circuits that we need are 1. An LED detector circuit.  2. A motor controller.  3. A microcontroller to do all logic.  4. 5V voltage regulator.<br />
</p>
<p><strong><em>5v Voltage Regulator:</em></strong><br />
The first part of the circuit is to use a voltage regulator.  This is an integrated circuit that will take the voltage from a 9v battery, and output a constant 5v.  This is important because the microcontroller is powered by a constant 5v.  Here is a schematic of how to connect the wires to a voltage regulator.  When you are looking at the 7805 voltage regulator, the left most pin is connected to the +9 volts, and the middle pin is connected to ground.  The right most pin will be a constant 5v.  This 5 volts is connected to power the LED emitter, the microcontroller, and in my schematic, the H-bridge motor controller.<br />
<br />
<img src='http://diy.griffshp.com/wp-content/5v_regulator.jpg' alt='' /><br />
<br />
<strong><em>LED detector:</em></strong><br />
The LED detector circuit is relatively straight forward.   It consists of an infrared LED, and an infrared detector.  The infrared detector acts like a transistor.  When the infrared light hits it, the detector will complete the circuit.  The way this detects a black line is, first you shine both the emitter and the detector down on the floor.  If the sensor is over the white floor, the infrared light will bounce off the floor, and will be picked up by the detector.  The detector output will now be a high voltage.  If the sensor/emitter combo is over a black line, then no light will be reflected, and the output will be a low voltage.  This voltage is connected to an analog/digital converter, which is in the microcontroller, and this controller can be programmed to make the car either turn right or left.  If you start the car on the right side of the tape, the car will drive forward, but will turn to the left.  As the sensor crosses over the black tape, the output will be low, and the microcontroller will tell the car to turn to the right.  This happens over and over again, and the car will follow the tape.<br />
<br />
<img src='http://diy.griffshp.com/wp-content/robotbottom.jpg' alt='' /><br />
</p>
<p>There are some requirements on the parts.  You donâ€™t want to put too much voltage across an LED.  I chose a 180 ohm resistor to put in series with the LED (pictured on the left in my circuit).  I did not want to put 5v across my LED, so the 180 ohm resistor cuts that voltage down, and keeps the LED from being destroyed.  There are some requirements for the microcontroller A/D converter also.  The input voltage has to be less than 5v.  The way I did this was to connect my 9v battery to the detector and played with the resistor values until I got the output voltages to what I liked.  I built the circuit, and measured my outputs with a voltage meter, with the sensor over a black tape (Vnolight), and with my sensor over the white floor (Vlight).  I found Vnolight to be .2v, and found Vlight to be 3.8v, after choosing a 21Kohm resistor for the detector.<br />
<br />
I actually had to use two sensor circuits in my design.  I needed one in the front of the car when the car was driving forward, and needed one in the back of the car when the car was driving in reverse.<br />
<br />
<img src='http://diy.griffshp.com/wp-content/LEDsensor.jpg' alt='' /><br />
<br />
<strong><em>Motor Controller â€“ H-bridge:</em></strong><br />
The next part of my circuit is a motor controller.  I had to use an H-bridge for my motor controller, and I will explain why later.  First, I am going to explain a simple motor controller.  An NPN transistor can be used to control your motor.  If the output pin is set high, it can be used to turn on the base of the NPN, and is basically used as a switch to power the motors.  You can see on the robot circuit diagram (This is the schematic for the simple robot that just follows a robot in one direction) that the transistors I am talking about are Q1 and Q2.  They are connected to GP2 and GP4 on the microcontroller through a 230 ohm resistor.  The collector is connected to the positive pole of the motor, and the other pole is connected to + 5v through a 33 ohm resistor.  The emitter of the transistor is connected to ground.<br />
(This schematic is for a simple line following robot using a transistor as a motor controller.  It corresponds with the code that I have supplied).<br />
<br />
<a href="http://diy.griffshp.com/wp-content/Simple_schematiclarger.jpg"><img src='http://diy.griffshp.com/wp-content/simple_schematic_small.jpg' alt='' /></a><br />
<br />
This is the circuit for a simple motor controller.  You see that this microcontroller has pins left open, so it has enough pins to use this kind of controller.  My robot though, is using all of the pins because of the two sensing circuits, so I had to use an H-bridge. I also need to have the ability to make the motors go backwards, and forwards, as well as turn.  I also needed the capability of making both motors stop.  If I was just going to drive forward, then all I need is one analog input (for the sensors), and two digital outputs (one for each  motor).  If I want the car to stop, I put both outputs low, and if I want to turn left, I turn the right motor on, and the left one off.  I do the opposite to turn right.  Now for my robot, I was using 2 analog inputs and 3 digital outputs.  One output disabled my H-bridge, and the other two went to each motor controller.  If the right motor output was high, the motor would drive forwards, and if it was low, it would drive in reverse.  With this set up, I could either make the car spin left (by putting right motor forward, and the left motor in reverse), spin right, go forward, and go backwards.<br />
<br />
 This is an integrated circuit that has two amplifying circuits in it.  Here is a schematic of an H-bridge.  The way this works is that if the input pin (Phase A/B) is high, then it will cause a certain polarity of the two output pins (Out1A and Out 2A), if the phase pin goes low, it will switch this polarity.  This will cause a motor to either drive forward or backwards.<br />
Pins:<br />
1. Ground- connected to ground for the entire chip<br />
2. Phase A- connected to microcontroller to control Right motor<br />
3. Enable A â€“ this has to be grounded to enable the circuit<br />
4. Out 1A â€“ this is connected to one pole of the motor<br />
5. Vea â€“ This is connected to the emitter of the transistors, and needs to be grounded<br />
6. Out 2A â€“ this is connected to the other pole of the motor<br />
7-12. These are the same as the first 6, and are connected the same<br />
<br />
The motors that we used were geared LEGO motors.<br />
<a href="http://www.allegromicro.com/datafile/archive/2998.pdf">Download H-bridge pdf</a><br />
<br />
<img src='http://diy.griffshp.com/wp-content/Hbridge.jpg' alt='' /><br />
<br />
<strong><em>Microcontroller:</em></strong><br />
The Microcontroller that I used was a Microchip PIC 12C672.  This is an 8 pin chip that does all of the logic for the robot.  It is hard to understand, but I will do my best.  For my robot, I made 2 analog inputs, I used pins 7 and 6, which was AN0, and AN1.  (This all has to be set in the program that is written.)  I used pins 5 (GP2), 3 (GP4), and 2 (GP5) as digital outputs.  I used GP2 and GP4 to control my motors, and GP5 as an enable to make the motors stop.  The PIC chip has a built in analog to digital converter.  The first part of the code is setting up the A/D converter, as well as setting the pins up for either analog input, or digital output.  There are multiple registers in the chip, and different registers (working ram for the chip), are in two different banks.  That is what the bsf STATUS,RPO command is doing.  BSF means bit set, it is setting the RPO bit in the status register to one.  This selects bank one.  The command movlw 0&#215;04, sets the literal value of 04 hex, or 00000100, into the working register, and the next command movwf	 ADCON1, moves the contents of the working register into the functional register.  ADCON1, is the register that tells what pins are set up as input or outputs.<br />
<br />
<img src='http://diy.griffshp.com/wp-content/Picchip.jpg' alt='' /><br />
<br />
After all of the settings are set for the A/D converter, you have to start the conversion.  You need one conversion for each cycle of the code.  This will take in the analog voltage from the sensor, and convert it to an 8 bit number.  The catch is that you have to wait for the A/D conversion to finish before you can move on to retrieving the data, deciding if you are on white or black tape, and deciding which way to turn the car.<br />
<br />
To start the conversion you type the code, bsf  ADCON0,GO, This code sets the GO bit on the ADCON0 register to 1, which tells the chip to start the conversion.  This bit will automatically reset to zero when the conversion is done, so to check that, you constantly check to see if it is zero, if it is not you go and check it again.  This is via a simple loop using the code<br />
<br />
one	btfsc	 ADCON0,GO<br />
	goto	 one<br />
<br />
â€œOneâ€ is a address identifier, btfsc means â€œbit test f, skip if clearâ€.  The functional register is the ADCON0 register, and the bit that you are testing is the â€œGOâ€ bit.  You are checking to see if it is a 1 or a 0.  If it is a one, the test failed, and you read the next line, which says goto one.  This is a jump routine.  If it is zero, then you skip the next line, which means that the A/D conversion is done, and you can go on with the code.<br />
<br />
The next set of code reads in the data, decides white or black, and then tells the program what to do.<br />
<br />
movf	 ADRES,0<br />
movwf	 resss<br />
btfss	 resss,7<br />
<br />
This movf command is moving the contents of the ADRES (A/D converter results) register to the functional register.  This is the register where any mate, or testing can be done.  You can not put any literal values straight into it.  If you wanted to move the number 8 into the f register, you would first have to move it into the working register using, movlw 0&#215;08, you then would move the contents of the w register into the f register using the command movwf (whatever register name you want).  Anyway, the results are copied into the resss (results) memory spot, which was defined at the beginning.  It is now going to check if white or black.  Since the vlight = 3.8, and vnolight(tape) = 0.2, and any voltages between these values is going to be digitized into an 8 bit number from 00000000 to 11111111, then if you test to see if bit 7 is set or cleared, you can tell when the voltage is half way.  This is an easy way to check if white or black.  White would be set, and black would be not set.<br />
<br />
btfss	 resss,7<br />
	goto	 Toff<br />
	goto	 Ton<br />
This set of code is first checking, and if it is set, you go to Ton, if it is not set you go to Toff.<br />
<br />
Toff	bsf	 GPIO,4<br />
	bcf	 GPIO,2<br />
	goto	 loop<br />
Ton	bsf	 GPIO,2<br />
	bcf	 Gpio,4<br />
	goto	 loop<br />
	end<br />
<br />
Toff subroutine sets GPIO4, and clears GPIO2, making the car turn right, whereas Ton does the opposite, and makes the car turn left.  At the end of this decision making, the routine jumps back to loop, and does and A/D conversion and continues the process.<br />
<br />
I am not going to attempt to give an exhaustive explanation of the microcontroller.  It is very complex, and is out of the scope of this how-to project.  I may eventually do an entire tutorial on using this PIC chip.  The code that I have provided once again, is a simplified code for a simple line following robot.  Mine (Which I canâ€™t find) has a few differences.  First, I set up different pins, and am using 2 sensors.  If the car is driving in reverse, it needs an entire different routine because, you are setting up a different A/D conversion, and the car steers differently in reverse.  Also, I have a routine that has a timer.  If it sees white for a predetermined time, it activates the enable pin for the H-drive, which stops the car.  It then goes through a loop counting for 3 seconds.  After that it switches the car in reverse and switches to the back sensor circuit.<br />
<br />
<img src='http://diy.griffshp.com/wp-content/robottop.jpg' alt='' /><br />
<br />
<strong><em>Code:</em></strong><br />
<br />
<a href="http://www.diylive.net/wp-content/Robot_code.txt">Click here to download code:</a><br />
<br />
<strong><em>Conclusion:</em></strong><br />
In conclusion, my robot worked as expected.  It would follow a line, pause, and then return by driving in reverse.  You can view the working robot on this video.  If any of you have any questions, or if any of this is unclear, let me know, and I will try to explain it better.<br />
<a href="http://www.diylive.net/wp-content/robot.mpg"><img src='http://diy.griffshp.com/wp-content/robotvideopic.jpg' alt='' />View video</a></p>
<p>The following schematic is for MY robot that drives forward and reverse.<br />
<br />
<img src='http://diy.griffshp.com/wp-content/mycircuit.jpg' alt='' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2005/12/13/diy-line-following-robot2/feed/</wfw:commentRss>
		<slash:comments>60</slash:comments>
<enclosure url="http://www.diylive.net/wp-content/robot.mpg" length="3197090" type="video/x-msvideo" />
		</item>
		<item>
		<title>Solder with toaster oven</title>
		<link>http://www.diylive.net/index.php/2005/11/21/solder-with-toaster-oven/</link>
		<comments>http://www.diylive.net/index.php/2005/11/21/solder-with-toaster-oven/#comments</comments>
		<pubDate>Mon, 21 Nov 2005 15:03:32 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Microcontrollers]]></category>

		<guid isPermaLink="false">http://www.diylive.net/?p=51</guid>
		<description><![CDATA[

Here is a DIY project that lets you solder those tiny surface mount pins on a microcontroller.  You can use solder paste on the board.  You place the component exactly in the right location, and then stick it in your toaster oven.  It will activate the solder in the paste, and it [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/pboard1.jpg' alt='' /><br />
<br />
Here is a DIY project that lets you solder those tiny surface mount pins on a microcontroller.  You can use solder paste on the board.  You place the component exactly in the right location, and then stick it in your toaster oven.  It will activate the solder in the paste, and it will ball up on top of each trace.   The component will settle right down, and when you take it out, it is soldered.   All you have to do is make sure every pin is soldered.  If it is not, you just put your solder tip to it, and since there is already a ball of solder down, it will solder it down.  If there is any bridging soldered joints, you can remove them with solder wick.  Anyway, this is a neat way to solder those nasty surface mount components.  Check out the </p>
<p><a href="http://www.seattlerobotics.org/encoder/200006/oven_art.htm">[Link]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2005/11/21/solder-with-toaster-oven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY pong game</title>
		<link>http://www.diylive.net/index.php/2005/11/15/diy-pong-game/</link>
		<comments>http://www.diylive.net/index.php/2005/11/15/diy-pong-game/#comments</comments>
		<pubDate>Tue, 15 Nov 2005 14:19:43 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.diylive.net/?p=45</guid>
		<description><![CDATA[

Well, here is yet another cornell project.  Why am I still using them?  Because they are cool, and complex, and I really want to make one of these.  They use an atmel mega 32 microcontroller.  They program the entire game, including the video output to control a television.  This is [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/pong.jpg' alt='' /><br />
<br />
Well, here is yet another cornell project.  Why am I still using them?  Because they are cool, and complex, and I really want to make one of these.  They use an atmel mega 32 microcontroller.  They program the entire game, including the video output to control a television.  This is the game that I would love to make.  They even made their own controllers.  You can see this next picture is a pic of their circuit board.</p>
<p><img src='http://diy.griffshp.com/wp-content/pong_circuit.jpg' alt='' /><br />
</p>
<p>It is not that complex of a circuit, but if you look at the code, you see it is really hard.  They use bitmaps to create the components that move, and they have a bouncing ball program, and just build it from there.  You have to keep track of the ball, by giving it coordinates, and if your coordinates match that of one of your paddles, you know to bounce it back at a certain angle.  I would love to make this, because it was the beginning of all of our gaming.  Anyway, go see the link here for a thorough walkthrough of how it is done.<br />
<a href="http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2004/dc248/dc248amz8/photos.html">[link]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2005/11/15/diy-pong-game/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Build your own Microcontroller programmer</title>
		<link>http://www.diylive.net/index.php/2005/11/12/build-your-own-microcontroller-programmer/</link>
		<comments>http://www.diylive.net/index.php/2005/11/12/build-your-own-microcontroller-programmer/#comments</comments>
		<pubDate>Sat, 12 Nov 2005 20:47:58 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Microcontrollers]]></category>

		<guid isPermaLink="false">http://www.diylive.net/?p=42</guid>
		<description><![CDATA[
Well, this is a pretty neat DIY project.  Not super useful these days when you need USB.  I have a laptop, and that is all I have.  Otherwise, here is a project so you can build your own microcontroller programmer.  It is neat just because it can be done, and maybe [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/pic_programmer.jpg' alt='' /><br />
Well, this is a pretty neat DIY project.  Not super useful these days when you need USB.  I have a laptop, and that is all I have.  Otherwise, here is a project so you can build your own microcontroller programmer.  It is neat just because it can be done, and maybe if you make your own, you will understand how a PIC chip works.  Anyway, check it out.</p>
<p><a href="http://www.bobblick.com/techref/projects/picprog/picprog.html">[Link]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2005/11/12/build-your-own-microcontroller-programmer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to make your own Duck Hunt video game</title>
		<link>http://www.diylive.net/index.php/2005/11/10/how-to-make-your-own-duck-hunt-video-game/</link>
		<comments>http://www.diylive.net/index.php/2005/11/10/how-to-make-your-own-duck-hunt-video-game/#comments</comments>
		<pubDate>Thu, 10 Nov 2005 06:05:51 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Microcontrollers]]></category>

		<guid isPermaLink="false">http://www.diylive.net/?p=39</guid>
		<description><![CDATA[  This is one of the coolest things that I have seen in a while.  This is way beyond my abilities, of course, I have never taken a class in video output.  These guys for an electrical engineering assignment at cornell university, reproduced their own version of the old NES duck hunt. [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/duckhunt.jpg' alt='' />  This is one of the coolest things that I have seen in a while.  This is way beyond my abilities, of course, I have never taken a class in video output.  These guys for an electrical engineering assignment at cornell university, reproduced their own version of the old NES duck hunt.  They used two micro controllers, and wrote all of the program that they needed to play the game, and out put it to a video.  I plan on getting my own microcontroller writer for christmas, and maybe, I can figure out some of this stuff.  My first project would be something easy like pong.  But this gives a very thorough walk through on how you could do this yourself.  They even have the code to download if you can&#8217;t program.</p>
<p><a href="http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2005/stb25/ece476duckhunt/index.html">[Link]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2005/11/10/how-to-make-your-own-duck-hunt-video-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robot follows black tape</title>
		<link>http://www.diylive.net/index.php/2005/11/04/robot-follows-black-tape/</link>
		<comments>http://www.diylive.net/index.php/2005/11/04/robot-follows-black-tape/#comments</comments>
		<pubDate>Sat, 05 Nov 2005 03:23:36 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Robots]]></category>

		<guid isPermaLink="false">http://diy.griffshp.com/?p=33</guid>
		<description><![CDATA[

Here is a website that makes a robot that will follow a line of electrical tape layed down on the floor.  This is similar to one I made in undergrad.  If I can find my notebook, I might put up how I did it.  I do have a video of mine somewhere, [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/SweetInsides.jpg' alt='' /><br />
<br />
Here is a website that makes a robot that will follow a line of electrical tape layed down on the floor.  This is similar to one I made in undergrad.  If I can find my notebook, I might put up how I did it.  I do have a video of mine somewhere, also, but no pics.  This guy&#8217;s robot is a little more complex than mine, though mine did have some cool features.  It would follow a line, and when it found the end, it would stop for exactly two seconds, and retrace its steps.  Mine was different than everyone elses in the class.  They all made their robot turn around, and use the same sensor.  Mine had a sensor on the back, and backed up along the line.  I will look for the video, it is really cool.  Anyway,  check out this guy&#8217;s site.  It looks like a fun thing to make.</p>
<p><a href="http://www.robotroom.com/Sweet.html">[Link]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2005/11/04/robot-follows-black-tape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build a Gps</title>
		<link>http://www.diylive.net/index.php/2005/11/01/build-a-gps/</link>
		<comments>http://www.diylive.net/index.php/2005/11/01/build-a-gps/#comments</comments>
		<pubDate>Tue, 01 Nov 2005 18:48:46 +0000</pubDate>
		<dc:creator>Greg Lipscomb</dc:creator>
				<category><![CDATA[Circuits]]></category>
		<category><![CDATA[DIY Projects]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://diy.griffshp.com/?p=27</guid>
		<description><![CDATA[
Here is a how-to project for making your own GPS.  This guy takes a LCD from a cell phone, and a GPS unit, and makes everything he needs for his own personal GPS.  It seems hard, but what a challenge.
[Link]
]]></description>
			<content:encoded><![CDATA[<p><img src='http://diy.griffshp.com/wp-content/board_small.jpg' alt='' /><br />
Here is a how-to project for making your own GPS.  This guy takes a LCD from a cell phone, and a GPS unit, and makes everything he needs for his own personal GPS.  It seems hard, but what a challenge.</p>
<p><a href="http://www.mhd.miun.se/~stok/ghetto-gps/">[Link]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diylive.net/index.php/2005/11/01/build-a-gps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
