<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://letsmakerobots.com" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
 <title>Content in &amp;ldquo;serial&amp;rdquo;</title>
 <link>http://letsmakerobots.com/taxonomy/term/121</link>
 <description>The taxonomy view with a depth of 0.</description>
 <language>en-DA</language>
<item>
 <title>Pololu Micro Dual Serial Motor Controller</title>
 <link>http://letsmakerobots.com/node/359</link>
 <description>&lt;p&gt;This tiny module can control two motors, 1 A peak each, and you can daisy-chain multiple units to control up to 62 motors with a single serial line. The new version provides up to 2 A to a single motor, or 1 A each to two motors. The motor supply can be as low as 2 V, making the unit a perfect match for small DC motors. Using one serial output from your microcontroller, you can independently set each motor to go forward or backward at any of 127 speeds, coast, and brake.&lt;/p&gt;&lt;p&gt;The controller takes up almost no space on a breadboard or PCB:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr size=&quot;2&quot; width=&quot;100%&quot; /&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Sample control code for Arduino: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;pre&gt;#include &amp;lt;softwareserial.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#define LEFT_MOTOR  2&lt;br /&gt;#define RIGHT_MOTOR 3&lt;br /&gt;&lt;br /&gt;#define FORWARD 1&lt;br /&gt;#define REVERSE 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;byte motor_controller_pin = 3;&lt;br /&gt;byte motor_controller_reset_pin = 4;&lt;br /&gt;&lt;br /&gt;// for rx on all unidirectional software serial objects&lt;br /&gt;byte unused_pin = 10;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;unsigned char mc_command[4];&lt;br /&gt;&lt;br /&gt;SoftwareSerial motor_controller = SoftwareSerial(unused_pin, motor_controller_pin);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//==========================================================================================&lt;br /&gt;&lt;br /&gt;void setup()&lt;br /&gt;{&lt;br /&gt;   pinMode(motor_controller_pin, OUTPUT);&lt;br /&gt;   pinMode(motor_controller_reset_pin, OUTPUT);&lt;br /&gt;   pinMode(unused_pin, INPUT);&lt;br /&gt;&lt;br /&gt;   motor_controller.begin(9600);&lt;br /&gt;&lt;br /&gt;   mc_init();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//==========================================================================================&lt;br /&gt;&lt;br /&gt;void loop()&lt;br /&gt;{&lt;br /&gt;   // accelerate forward&lt;br /&gt;   for(int i = 0; i &amp;lt;= 130; i += 10)&lt;br /&gt;   {  &lt;br /&gt;      mc_send_command(LEFT_MOTOR, FORWARD, i);&lt;br /&gt;      mc_send_command(RIGHT_MOTOR, FORWARD, i);&lt;br /&gt;&lt;br /&gt;      delay(250);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   delay(3000);&lt;br /&gt;&lt;br /&gt;   // decelerate&lt;br /&gt;   for(int i = 130; i &amp;gt;= 0; i -= 10)&lt;br /&gt;   {&lt;br /&gt;      mc_send_command(LEFT_MOTOR, FORWARD, i);&lt;br /&gt;      mc_send_command(RIGHT_MOTOR, FORWARD, i);&lt;br /&gt;&lt;br /&gt;      delay(250);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   delay(3000);&lt;br /&gt;&lt;br /&gt;   // accelerate backward&lt;br /&gt;   for(int i = 0; i &amp;lt;= 130; i += 10)&lt;br /&gt;   {&lt;br /&gt;      mc_send_command(LEFT_MOTOR, REVERSE, i);&lt;br /&gt;      mc_send_command(RIGHT_MOTOR, REVERSE, i);&lt;br /&gt;&lt;br /&gt;      delay(250);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   delay(3000);&lt;br /&gt;&lt;br /&gt;   // decelerate&lt;br /&gt;   for(int i = 130; i &amp;gt;= 0; i -= 10)&lt;br /&gt;   {&lt;br /&gt;      mc_send_command(LEFT_MOTOR, REVERSE, i);&lt;br /&gt;      mc_send_command(RIGHT_MOTOR, REVERSE, i);&lt;br /&gt;&lt;br /&gt;      delay(250);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   delay(3000);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//==========================================================================================&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void mc_init()&lt;br /&gt;{&lt;br /&gt;   // start up motor controller&lt;br /&gt;   digitalWrite(motor_controller_reset_pin, HIGH);&lt;br /&gt;&lt;br /&gt;   // let motor controller wake up&lt;br /&gt;   delay(100);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void mc_send_command(byte motor, byte direction, byte speed)&lt;br /&gt;{&lt;br /&gt;   direction = constrain(direction, 0,   1);&lt;br /&gt;   speed     = constrain(speed,   0, 127);&lt;br /&gt;&lt;br /&gt;   mc_command[0] = 0x80; // start byte&lt;br /&gt;   mc_command[1] = 0x00; // Device type byte&lt;br /&gt;   mc_command[2] = (2 * motor) + (direction == FORWARD ? FORWARD : REVERSE); // Motor number and direction byte&lt;br /&gt;   mc_command[3] = speed; // Motor speed (0 to 127)&lt;br /&gt;&lt;br /&gt;   // send data&lt;br /&gt;   for(int i = 0; i &amp;lt; 4; i++)&lt;br /&gt;   { motor_controller.print(mc_command[i], BYTE); }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p&gt; &lt;/p&gt;</description>
 <comments>http://letsmakerobots.com/node/359#comments</comments>
 <category domain="http://letsmakerobots.com/taxonomy/term/149">motor controller</category>
 <category domain="http://letsmakerobots.com/taxonomy/term/279">pololu</category>
 <category domain="http://letsmakerobots.com/taxonomy/term/121">serial</category>
 <category domain="http://letsmakerobots.com/taxonomy/term/109">Brains, microcontrollers and logic</category>
 <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://letsmakerobots.com/crss/node/359</wfw:commentRss>
 <pubDate>Wed, 09 Apr 2008 18:35:00 +0200</pubDate>
 <dc:creator>TheCowGod</dc:creator>
 <guid isPermaLink="false">359 at http://letsmakerobots.com</guid>
</item>
<item>
 <title>Easy Radio</title>
 <link>http://letsmakerobots.com/node/77</link>
 <description>&lt;p&gt;You buy a little thing, give it a wire with a serial string. And somewhere else you have a similar setup. And there you go; What you write to one, comes out of the other. Any transmission of anything over air done extremely easy!&lt;/p&gt;</description>
 <comments>http://letsmakerobots.com/node/77#comments</comments>
 <category domain="http://letsmakerobots.com/taxonomy/term/122">air</category>
 <category domain="http://letsmakerobots.com/taxonomy/term/83">Easy Radio</category>
 <category domain="http://letsmakerobots.com/taxonomy/term/82">Radio control</category>
 <category domain="http://letsmakerobots.com/taxonomy/term/121">serial</category>
 <category domain="http://letsmakerobots.com/taxonomy/term/112">Other</category>
 <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://letsmakerobots.com/crss/node/77</wfw:commentRss>
 <pubDate>Thu, 14 Feb 2008 16:58:03 +0100</pubDate>
 <dc:creator>fritsl</dc:creator>
 <guid isPermaLink="false">77 at http://letsmakerobots.com</guid>
</item>
</channel>
</rss>
