Arduino 101 meetup prep – day 9 – motor driving part 2

22May2009 – old stuff that may still be useful

Arduino_motor_shield 002

Tonight’s fun centred on building the motor driver shield that Limor from Adafruit Industries kindly donated to support my Arduino 201 – Get Motorin’ meetup this Saturday.

Arduino_motor_driver 008

As with other kits I’ve purchase from Adafruit, the goods came in a bubble-wrapped mailer via USPS in about 1.5 weeks (from NYC to Waterloo).  All in anti-static bags.  No surprise duty or taxes at the border, probably because this is < $40 order, which is to say not a super-expensive shipment.

Arduino_motor_driver 009

This is a very manageable kit.  Easy to solder (took me 45 minutes).  Outstanding (as always) detailed assembly instructions online.  A great feature of Adafruit is that they offer everything from the schematic to supporting software libraries.  That really helps when you want to modify a kit or just learn more about the thing you’ve got.

Arduino_motor_driver 012

This is a sweet board.  I look forward to the day when we can get PCB’s made locally and much cheaper in small quantities.  Until then, kits like this one save a ton of time over my usual fly-wiring on a generic board.  After a little soldering we get:

Arduino_motor_shield 006

and hooking it up to it’s Arduino mothership and a servo seemed the most expedient test route tonight:

Arduino_motor_shield 012

I just loaded Limor’s demo code and watched the servo tick-tock back and forth.  This shield is based on Texas Instrument’s L293D chip which can manage 600mA.  This shield offers lots of flexibility to run servos, steppers, and straight DC brushed motors.  In the case of the servo, I’m just using 5V from the USB line, which is cool for servos and not so much with other motors with higher current draw (in which case you’ll want to hook up your big battery to the terminals provided on the shield).

So a big thanks to Limor and Adafruit Industries for the kit.  Come out to the meetup on Saturday and give this rig a try for your application.

BTW, please let me know if anyone is ordering from Adafruit.  I need another part and will split shipping. (Update 2009-05-28: I picked up a WIZnet 811 module at Creatron on our hacklab field trip–all good now)  It turns out that the old WIZnet Ethernet module I had kicking around from a Circuit Cellar design context is not compatible with Adafruit’s Ethernet shield.  In my haste to get the motor drivers rolling I impulse bought without fully reading the product description.  My fail. This shield:

Arduino_motor_driver 013

works with the WIZnet 811MJ module and not with this 810MJ module languishing on my bench:

Arduino_motor_driver 015

Scratch that request.  Adafruit is backordered on that item.  Hmmm, perhaps I can pick up an 811MJ when I go to:

Arduino_motor_shield 001

Maker Faire in San Mateo next week!  Whoo hoo!  Tickets arrived today.  Rejoice!

Make: mischief of one kind or another.
DW

Arduino code:


#include <servotimer1.h>

ServoTimer1 servo1;
ServoTimer1 servo2;

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Servo test!");
  servo1.attach(10);
  servo2.attach(9);
}


void loop() {
  Serial.print("tick");
  servo1.write(180);
  servo2.write(0);
  delay(1000);

  Serial.print("tock");
  servo1.write(0);
  servo2.write(180);
  delay(1000);
}
 
This entry was posted in arduino and tagged , , . Bookmark the permalink.