<?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>BrickEngineer: LEGO Design &#187; &#187; interface</title>
	<atom:link href="http://www.brickengineer.com/pages/tag/interface/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brickengineer.com/pages</link>
	<description>LEGO Engineering for LEGO NXT and Robot Enthusiasts</description>
	<lastBuildDate>Tue, 10 Mar 2015 04:45:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>Interface a Potentiometer to the NXT</title>
		<link>http://www.brickengineer.com/pages/2009/10/05/interface-a-potentiometer-to-the-nxt/</link>
		<comments>http://www.brickengineer.com/pages/2009/10/05/interface-a-potentiometer-to-the-nxt/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 15:12:40 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[LEGO Engineering]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[extreme]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[LEGO mindstorms]]></category>
		<category><![CDATA[NXT]]></category>
		<category><![CDATA[potentiometer]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[Robotics]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/?p=92</guid>
		<description><![CDATA[NOTE: WE ARE NOT RESPONSIBLE FOR ANY DAMAGE YOU MAY DO TO YOUR NXT BRICK. THIS EXERCISE PRESUMES SOME WORKING KNOWLEDGE OF ELECTRONICS. In this exercise, I will walk you through interfacing a potentiometer (variable resistor) to the NXT brick. You will need: &#8211; A stripped NXT cable &#8211; A potentiometer with a maximum resistance [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong>NOTE: WE ARE NOT RESPONSIBLE FOR ANY DAMAGE YOU MAY DO TO YOUR NXT BRICK.<br />
THIS EXERCISE PRESUMES SOME WORKING KNOWLEDGE OF ELECTRONICS.</strong></p>
<p>In this exercise, I will walk you through interfacing a potentiometer (variable resistor) to the NXT brick.<br />
You will need:<br />
&#8211; A stripped NXT cable<br />
&#8211; A potentiometer with a maximum resistance no more than <img src='http://www.brickengineer.com/pages/latexrender/pictures/070c47ad71d57ef2eacf1d64186ccd3a.gif' title='$10 k\Omega$' alt='$10 k\Omega$' align=absmiddle><br />
&#8211; A small piece of wire<br />
&#8211; An NXT Brick</p>
<p>This exercise is derived and expanded from a chapter in Extreme NXT by Gasperi, Hurbain and Hurbain.</p>
<p><strong>THEORY</strong></p>
<p>The NXT monitors the potential difference between the black and white wires with an Analog-to-Digital (A/D) converter.  The A/D converter converts this potential difference to a RAW value between 0 and 1023 (10 bits accuracy).  This RAW value is given by the ratio</p>
<p>(1)     <img src='http://www.brickengineer.com/pages/latexrender/pictures/1cad6789deeb4cd24eda028aaf82c9d4.gif' title='$RAW = \frac{RAW_{max}}{V_{max}} V_{R} = \frac{1023}{5} V_{R}$' alt='$RAW = \frac{RAW_{max}}{V_{max}} V_{R} = \frac{1023}{5} V_{R}$' align=absmiddle></p>
<p>where <img src='http://www.brickengineer.com/pages/latexrender/pictures/b43b792b8a0ad9e20bbed3ffe589f270.gif' title='$RAW_{max}$' alt='$RAW_{max}$' align=absmiddle> is the maximum RAW value of 1023, <img src='http://www.brickengineer.com/pages/latexrender/pictures/dd101dae0851cc03c2c9afa9ee7d58eb.gif' title='$V_{max} = 5V$' alt='$V_{max} = 5V$' align=absmiddle> is the voltage used by the NXT A/D Converter, and <img src='http://www.brickengineer.com/pages/latexrender/pictures/bec7483bf7de7666e8169bfb2677affc.gif' title='$V_{R}$' alt='$V_{R}$' align=absmiddle> is the voltage drop between the black and white wires.</p>
<p>The circuit diagram looks like this:</p>
<p><img src="http://www.brickengineer.com/pages/wp-content/uploads/2009/10/ad-nxt-schematic.jpg" alt="NXT A/D Converter Schematic" title="NXT A/D Converter Schematic" width="300" height="300" class="aligncenter size-full wp-image-108" /></p>
<p>I have a little <img src='http://www.brickengineer.com/pages/latexrender/pictures/5e0f22e358604402c3a03443068c077c.gif' title='$1k\Omega$' alt='$1k\Omega$' align=absmiddle> potentiometer that can turn over a range of about <img src='http://www.brickengineer.com/pages/latexrender/pictures/75509215276170cb42d350f8ef4d0a82.gif' title='$0^{\circ}$' alt='$0^{\circ}$' align=absmiddle> to <img src='http://www.brickengineer.com/pages/latexrender/pictures/0bd080041b349b48631cfa8cadce5cd8.gif' title='$270^{\circ}$' alt='$270^{\circ}$' align=absmiddle>.  Below is a diagram.  The resistance between the leftmost and rightmost pins is the maximum resistance of <img src='http://www.brickengineer.com/pages/latexrender/pictures/5e0f22e358604402c3a03443068c077c.gif' title='$1k\Omega$' alt='$1k\Omega$' align=absmiddle>.  We will focus on the resistance between the leftmost and center pins, which varies based on the angle through which the potentiometer has been rotated.  To keep things safe, we wire the center pin and rightmost pin together.  This doesn&#8217;t affect the potential difference between the leftmost and center pins.</p>
<p><img src="http://www.brickengineer.com/pages/wp-content/uploads/2009/10/potentiometer.jpg" alt="Potentiometer Wiring" title="Potentiometer Wiring" width="145" height="200" class="aligncenter size-full wp-image-111" /></p>
<p>I will assume that it is a linear potentiometer (a pretty good assumption), which means that the resistance at any given angle <img src='http://www.brickengineer.com/pages/latexrender/pictures/53d147e7f3fe6e47ee05b88b166bd3f6.gif' title='$A$' alt='$A$' align=absmiddle> is given by</p>
<p>(2)     <img src='http://www.brickengineer.com/pages/latexrender/pictures/9b17fb6a4e23964da4aa54b217d99d7e.gif' title='$R = \frac{A}{A_{max}} R_{max} = \frac{A}{270} \times 1 k\Omega}$' alt='$R = \frac{A}{A_{max}} R_{max} = \frac{A}{270} \times 1 k\Omega}$' align=absmiddle></p>
<p>where <img src='http://www.brickengineer.com/pages/latexrender/pictures/db89de390ca9a572d5f3db56a7d989e5.gif' title='$A_{max}$' alt='$A_{max}$' align=absmiddle> is the maximum angle of the potentiometer and <img src='http://www.brickengineer.com/pages/latexrender/pictures/ea449f9e9a48e2959872aac8fa65e1ca.gif' title='$R_{max}$' alt='$R_{max}$' align=absmiddle> is the <img src='http://www.brickengineer.com/pages/latexrender/pictures/5e0f22e358604402c3a03443068c077c.gif' title='$1k\Omega$' alt='$1k\Omega$' align=absmiddle> maximum resistance.</p>
<p>Equation (2) says that if the angle <img src='http://www.brickengineer.com/pages/latexrender/pictures/d1b9d96e40897ca243ff281f5aee7ce0.gif' title='$A = 0^{\circ}$' alt='$A = 0^{\circ}$' align=absmiddle> then the resistance of the potentiometer  <img src='http://www.brickengineer.com/pages/latexrender/pictures/8a8aab1169d4020852d8d06a8a3e1e24.gif' title='$R_{max} = 0 \Omega$' alt='$R_{max} = 0 \Omega$' align=absmiddle>, and if the angle  <img src='http://www.brickengineer.com/pages/latexrender/pictures/deb17e4443c1eb6e6c679a8913933bd7.gif' title='$A = 270^{\circ}$' alt='$A = 270^{\circ}$' align=absmiddle> then the resistance of the potentiometer is maximum <img src='http://www.brickengineer.com/pages/latexrender/pictures/dd63154537d0661b80239a820feece0e.gif' title='$R_{max} = 1 k\Omega$' alt='$R_{max} = 1 k\Omega$' align=absmiddle>.</p>
<p>Looking at the circuit diagram for the A/D converter, the potential drop across our potentiometer (represented by resistor <img src='http://www.brickengineer.com/pages/latexrender/pictures/1e438235ef9ec72fc51ac5025516017c.gif' title='$R$' alt='$R$' align=absmiddle>) is given by the typical voltage divider relation</p>
<p>(3)     <img src='http://www.brickengineer.com/pages/latexrender/pictures/2bac90d7a171d06bd46e916b0780ff0b.gif' title='$V_R = \frac{R}{R+R_{int}} V_{max} = \frac{R}{R+10k\Omega} \times 5V$' alt='$V_R = \frac{R}{R+R_{int}} V_{max} = \frac{R}{R+10k\Omega} \times 5V$' align=absmiddle></p>
<p>We can now substitute (2) into (3) so that the voltage between the black and white wires is determined by the angle of the potentiometer rather than its resistance.  Then we can substitute the result into (1) to get an equation for the RAW value</p>
<p>(4)     <img src='http://www.brickengineer.com/pages/latexrender/pictures/761c502e47967e1b8673cdaa66330032.gif' title='$RAW = RAW_{max} \frac{A R_{max}}{A R_{max} + A_{max} R_{int}}$' alt='$RAW = RAW_{max} \frac{A R_{max}}{A R_{max} + A_{max} R_{int}}$' align=absmiddle></p>
<p>with my particular values, this is</p>
<p><img src='http://www.brickengineer.com/pages/latexrender/pictures/7780912834bf8933662f2c391d669f62.gif' title='$RAW  = 1023 \frac{A \times 1 k\Omega}{(A \times 1 k\Omega) + (270 \times 10 k\Omega)}$' alt='$RAW  = 1023 \frac{A \times 1 k\Omega}{(A \times 1 k\Omega) + (270 \times 10 k\Omega)}$' align=absmiddle></p>
<p>This formula will let us predict the NXT RAW value based on the angle of the potentiometer.</p>
<p>For my potentiometer, I find that a maximum angle of <img src='http://www.brickengineer.com/pages/latexrender/pictures/0bd080041b349b48631cfa8cadce5cd8.gif' title='$270^{\circ}$' alt='$270^{\circ}$' align=absmiddle> gives me a maximum value of 93.  This is less than 7 bits of information, and each RAW value corresponds to <img src='http://www.brickengineer.com/pages/latexrender/pictures/e22be5d833d32b48854ad4fdf237aff7.gif' title='$2.9^{\circ}$' alt='$2.9^{\circ}$' align=absmiddle>.  If you want a nice angle detector, you will probably need a <img src='http://www.brickengineer.com/pages/latexrender/pictures/070c47ad71d57ef2eacf1d64186ccd3a.gif' title='$10 k\Omega$' alt='$10 k\Omega$' align=absmiddle> potentiometer!</p>
<p><strong>TRY IT</strong></p>
<p>1. Before beginning, you need to cut and strip one of the NXT cables so that you can interface with the wires directly.  I have placed a layer of solder on mine, so they can be inserted into a breadboard for easy connecting.</p>
<p>2. Next connect the center and right pins of the potentiometer together with a wire</p>
<p>3. Plug the other end of the NXT cable into the NXT brick.</p>
<p>I wrote a simple NXT-G program to read the sensor and display the RAW value.  Notice that the Touch Sensor actually reads the resistance between the wires.  So we are just replacing the Touch Sensor with a potentiometer.  We will use the raw number output of the Touch Sensor Block, which is represented by the 1010 0101 symbol.  We then need to convert it to text so it can be displayed on the NXT LCD panel.</p>
<p><img src="http://www.brickengineer.com/pages/wp-content/uploads/2009/10/potentio-01.jpg" alt="potentio-01.rbt Screenshot" title="potentio-01.rbt Screenshot" width="470" height="389" class="aligncenter size-full wp-image-114" /></p>
<p>You may download it here,<br />
<a href="http://www.brickengineer.com/pages/downloads/code/Potentio-01.rbt">Potentio-01.rbt</a><br />
or write your own.</p>
<p>When I try my potentiometer, I find that the RAW value goes from 0 to 95, pretty close to my predicted range of 0 to 93.  So it works! Not bad considering I guessed that the potentiometer sweeps through and angle of <img src='http://www.brickengineer.com/pages/latexrender/pictures/0bd080041b349b48631cfa8cadce5cd8.gif' title='$270^{\circ}$' alt='$270^{\circ}$' align=absmiddle>.</p>
<p><strong><br />
Determining the Angle of the Potentiometer</strong></p>
<p>Now, let&#8217;s convert this RAW value to an angle.<br />
In Extreme NXT, the authors worry about the fact that the resulting relationship is nonlinear with respect to the RAW value.  As far as I can see, this isn&#8217;t a problem.  We simply solve (4) above for the angle <img src='http://www.brickengineer.com/pages/latexrender/pictures/53d147e7f3fe6e47ee05b88b166bd3f6.gif' title='$A$' alt='$A$' align=absmiddle> in terms of RAW.  We can output the angle if we wish, but here I&#8217;ll take it a step further and demonstrate the resulting equation by controlling a motor so that it maintains an angle equal to the angle through which I have rotated the potentiometer.</p>
<p>I will leave out the algebra. Try it yourself.  Solve (4) for angle A:</p>
<p>(5)     <img src='http://www.brickengineer.com/pages/latexrender/pictures/67c4dab90b1bc204c427800a89470354.gif' title='$A = \frac{RAW A_{max} R_{int}}{R_{max} (RAW_{max} &amp;#8211; RAW)}$' alt='$A = \frac{RAW A_{max} R_{int}}{R_{max} (RAW_{max} &amp;#8211; RAW)}$' align=absmiddle></p>
<p>for my potentiometer, this is simply</p>
<p><img src='http://www.brickengineer.com/pages/latexrender/pictures/2dc5e0f8c1957bd00d73303eedad972f.gif' title='$A = \frac{2700 RAW}{(1023 &amp;#8211; RAW)}$' alt='$A = \frac{2700 RAW}{(1023 &amp;#8211; RAW)}$' align=absmiddle></p>
<p>which is easy to code in NXT-G.<br />
You can download my code here:<br />
<a href="http://www.brickengineer.com/pages/downloads/code/Potentio-03.rbt">Potentio-03.rbt</a></p>
<p>The motor control is a bit crude, but it works well enough for the demonstration.<br />
Check out the YouTube video to see it in action!</p>
<p><object width="350" height="283"><param name="movie" value="http://www.youtube.com/v/HpFQX-aM6-c&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HpFQX-aM6-c&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="350" height="283"></embed></object></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2009/10/05/interface-a-potentiometer-to-the-nxt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LEGO NXT Motor Wiring</title>
		<link>http://www.brickengineer.com/pages/2008/09/05/lego-nxt-motor-wiring/</link>
		<comments>http://www.brickengineer.com/pages/2008/09/05/lego-nxt-motor-wiring/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 05:15:58 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[LEGO Engineering]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[LEGO Electronics]]></category>
		<category><![CDATA[LEGO mindstorms]]></category>
		<category><![CDATA[motor]]></category>
		<category><![CDATA[NXT]]></category>
		<category><![CDATA[wire]]></category>
		<category><![CDATA[wiring]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/2008/09/05/lego-nxt-motor-wiring/</guid>
		<description><![CDATA[After posting Hacking the LEGO Mindstorms NXT Standard Motor, I received several requests for more information regarding the wiring of the motor. The NXT cable has six wires. Below I list a table with the wires and their colors: Color Name White Motor 1 Black Motor 2 Red GND Green 4.3 Volts Yellow Tach01 Blue [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>After posting <a href="http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-standard-motor/" title="Hacking the LEGO Motor">Hacking the LEGO Mindstorms NXT Standard Motor</a>, I received several requests for more information regarding the wiring of the motor.</p>
<p>The NXT cable has six wires.   Below I list a table with the wires and their colors:</p>
<table>
<tr>
<td><strong>Color    </strong></td>
<td><strong>Name</strong></td>
</tr>
<tr>
<td>White</td>
<td>Motor 1</td>
</tr>
<tr>
<td>Black</td>
<td>Motor 2</td>
</tr>
<tr>
<td>Red</td>
<td>GND</td>
</tr>
<tr>
<td>Green</td>
<td>4.3 Volts</td>
</tr>
<tr>
<td>Yellow</td>
<td>Tach01</td>
</tr>
<tr>
<td>Blue</td>
<td>Tach02</td>
</tr>
</table>
<p>The WHITE and BLACK wires (Motor 1 and Motor 2) deliver power to the motor.<br />
If standard batteries are used, the potential difference will be 9 volts, otherwise the NiMH rechargeable batteries provide 7.2 volts.  If the white wire is positive and black is negative, the motor will turn one way.  If you reverse the polarity, the motor will turn the other way.</p>
<p>The RED wire is connected to the ground (GND).  Note that in the sensors, RED and BLACK are connected to one another.  This is not the case in the motors.</p>
<p>The GREEN wire is connected to the +4.3 NXT power supply.</p>
<p>The YELLOW and BLUE wires are connected to the <a href="http://en.wikipedia.org/wiki/Rotary_encoder">quadrature encoder</a>, also called an <a href="http://en.wikipedia.org/wiki/Rotary_encoder">incremental rotary encoder</a>.</p>
<p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Basic-Rotary.jpg/180px-Basic-Rotary.jpg" alt="Basic Rotary Encoder" align="middle" height="179" width="180" /></p>
<p><a href="http://en.wikipedia.org/wiki/Quadrature_encoder"><img src="http://upload.wikimedia.org/wikipedia/en/thumb/6/68/Quadrature_Diagram.svg/300px-Quadrature_Diagram.svg.png" alt="Square waves from quadrature encoder" align="middle" /></a></p>
<p>As shown in the figure from Wikipedia above, (<a href="http://en.wikipedia.org/wiki/Quadrature_encoder">http://en.wikipedia.org/wiki/Quadrature_encoder</a>) the wires return square wave pulses that are 90 degrees out of phase.  If the rising pulse on TACH00 leads the rising pulse of TACH01 by 90 degrees, then the motor is going forward.  If it instead lags by 90 degrees, the motor is rotating backwards.  One complete square wave cycle corresponds to 2 degrees of rotation.  In the diagram above, if TACH00 refers to A and TACH01 refers to B, we can see that the motor is going backwards as TACH00 is lagging TACH 01.</p>
<p>By measuring the frequency of the square wave oscillation, one can compute the rotational velocity.  Since one cycle corresponds to 2 degrees of rotation, one cycle per second (1 Hz) corresponds to 2 degrees/sec.  If you record a frequency of X Hz, then the rotation rate is 2X cycles/sec.</p>
<p>Note also that by tracking both square waves, you can identify quarter cycles, which gives you a resolution of 1/4 of 2 degrees, which is 0.5 degrees.</p>
<p>The motor speed is controlled by <a href="http://en.wikipedia.org/wiki/Pulse-width_modulation">pulse-width modulation</a> (pwm), which works by driving the motor with a variable duty cycle square wave.  This effectively turns the motor on and off, fast.  The longer it is on, the more torque it will generate and the faster it will go.</p>
<p>These details and more can be found in the excellent book: Extreme: NXT with a sneak peak <a href="http://books.google.com/books?id=ze1vS5f4apUC&amp;pg=PA32&amp;lpg=PA32&amp;dq=lego+mindstorms+quadrature+encoder&amp;source=web&amp;ots=AdmPVFnk6s&amp;sig=RY_mOg7YTePFTb_YMg-slF0VP-w&amp;hl=en&amp;sa=X&amp;oi=book_result&amp;resnum=7&amp;ct=result#PPA32,M1">here</a>.</p>
<p>Additional details can be found in the excellent book <a href="http://www.amazon.com/gp/product/1590598180?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598180">Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level (Technology in Action)</a><img src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=1590598180" style="border: medium none ; margin: 0px" border="0" height="1" width="1" /> by Michael Gasperi, Philippe E. Hurbain, and Isabelle L. Hurbain.</p>
<p><a href="http://www.amazon.com/gp/product/1590598180?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598180"><img src="http://www.brickengineer.com/pages/pics/books/extreme-nxt.jpg" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=1590598180" style="border: medium none ; margin: 0px" border="0" height="1" width="1" /></p>
<p>Philo uploaded a comment, and reminded me that &#8220;Note that there are some internal photos of the NXT motor here: <a href="http://philohome.com/nxtmotor/nxtmotor.htm" onclick="javascript:pageTracker._trackPageview('/outgoing/philohome.com/nxtmotor/nxtmotor.htm');" rel="nofollow">http://philohome.com/nxtmotor/nxtmotor.htm</a> and schematics here: <a href="http://www.brickshelf.com/cgi-bin/gallery.cgi?i=1846577" onclick="javascript:pageTracker._trackPageview('/outgoing/www.brickshelf.com/cgi-bin/gallery.cgi?i=1846577');" rel="nofollow">http://www.brickshelf.com/cgi-bin/gallery.cgi?i=1846577</a>&#8221;</p>
<p>Happy Hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2008/09/05/lego-nxt-motor-wiring/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Hacking the LEGO Mindstorms NXT Light Sensor</title>
		<link>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-light-sensor/</link>
		<comments>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-light-sensor/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 13:59:13 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[LEGO Engineering]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[LEGO Electronics]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[NXT]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-light-sensor/</guid>
		<description><![CDATA[We are working on interfacing the LEGO sensors and motors to a compact lightweight computer for more sophisticated control.  Aret Carlsen brings us a video demonstrating how one can hack into the NXT Light Sensor: Additional details can be found in the excellent book Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>We are working on interfacing the LEGO sensors and motors to a compact lightweight computer for more sophisticated control.  Aret Carlsen brings us a video demonstrating how one can hack into the NXT Light Sensor:</p>
<p><object width="350" height="292"><param name="movie" value="http://www.youtube.com/v/H7YjkqnqaY0&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/H7YjkqnqaY0&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="350" height="292"></embed></object></p>
<p>Additional details can be found in the excellent book <a href="http://www.amazon.com/gp/product/1590598180?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598180">Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level (Technology in Action)</a><img border="0" width="1" src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=1590598180" height="1" style="margin: 0px; border: medium none" /> by Michael Gasperi, Philippe E. Hurbain, and Isabelle L. Hurbain.</p>
<p><a href="http://www.amazon.com/gp/product/1590598180?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598180"><img border="0" src="http://www.brickengineer.com/pages/pics/books/extreme-nxt.jpg" /></a><img border="0" width="1" src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=1590598180" height="1" style="margin: 0px; border: medium none" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-light-sensor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matlab Package for LEGO Mindstorms</title>
		<link>http://www.brickengineer.com/pages/2008/03/09/matlab-package-for-lego-mindstorms/</link>
		<comments>http://www.brickengineer.com/pages/2008/03/09/matlab-package-for-lego-mindstorms/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 03:20:17 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[exploration]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[interfacing]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[MATLAB]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[motor]]></category>
		<category><![CDATA[NXT]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[sensor]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/2008/03/09/matlab-package-for-lego-mindstorms/</guid>
		<description><![CDATA[I recently received a comment on my post on controlling NXT robots with Matlab that pointed me to the RWTH &#8211; Mindstorms NXT Toolbox for MATLAB®, which is a public domain Matlab package that enables one to interface with and control LEGO mindstorms. The RWTH &#8211; Mindstorms NXT Toolbox for MATLAB® was developed as a [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I recently received a comment on my post on <a target="_blank" href="http://www.huginn.com/knuth/blog/2007/03/30/controlling-lego-nxt-robots-with-matlab/">controlling NXT robots with Matlab</a> that pointed me to the RWTH &#8211; Mindstorms NXT Toolbox for MATLAB®, which is a public domain Matlab package that enables one to interface with and control LEGO mindstorms.</p>
<p>The <a href="http://www.mindstorms.rwth-aachen.de/">RWTH &#8211; Mindstorms NXT Toolbox for MATLAB®</a> was developed as a student project in the <a href="http://www.lfb.rwth-aachen.de/">Institute of Imaging and Computer Vision</a> at <a target="_blank" href="http://www.rwth-aachen.de/go/id/hi/">RWTH Aachen University</a> in Aachen Germany. It provides a Matlab interface with the NXT brick that includes Bluetooth communication, sensor interface and motor interface. It requires a working Matlab license, of course.</p>
<p>The package is very easy to set up. It took me less than ten minutes to successfully test the example programs over Bluetooth.</p>
<p>There are some very nice motor features, such as motor synchronization and speed ramp-up and ramp-down.</p>
<p>I have yet to explore how easy it is to modify or extend the code, but it ought to be a straightforward matter.</p>
<p>The package can be downloaded from<br />
<a rel="nofollow" href="http://www.mindstorms.rwth-aachen.de/"><font color="#000066">http://www.mindstorms.rwth-aachen.de</font></a></p>
<p>Kevin Knuth<br />
Albany NY</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2008/03/09/matlab-package-for-lego-mindstorms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
