Drudoo made this really cool LEGO robot and you can check out the full step by step process over at his blog.
After getting a DC motor to work on both CUI32 and the Arduino my next task was it make it work on the Raspberry Pi. I wanted to make it work with a small LEGO robot so it wasn’t just a motor running, but an actual moving robot.
I had to make a few modifications from my previous post about DC motors. Instead of using just 1 motor i wanted to use two. This is not a big deal and looking at the datasheet it is just a matter of plugging in the extra motor at the right place.
To get access to the GPIO pins on the Raspberry Pi i used WiringPi. This is a great C++ library for GPIO on the Pi and the documentation is fantastic.
The robot is a basic example from the Mindstorms RCX 2.0 instructions booklet.
The Pi needs 6 pins; 3 for each motor (2 directions and 1 enable). I’m using an Adafruit prototyping shield for easier access to the pins (and better labeling) but you can just plug them in directly to the Pi. Im using pin 17, 18, 22, 23, 24 and 27. These pins correspond to WiringPi’s pin 0, 1, 3, 4, 5 and 2 respectively.
The code can be found on github.com. You just need to have WiringPi and openFrameworks installed on the Pi for it to work.
The motors are controlled with the UP, DOWN, LEFT and RIGHT key on the Pi’s keyboard (I’m using a wireless logitech K400r).
Featured Adafruit Product!
Adafruit Prototyping Pi Plate Kit for Raspberry Pi: Now that you’ve finally got your hands on a Raspberry Pi® , you’re probably itching to make some fun embedded computer projects with it. What you need is an add on prototyping Pi Plate from Adafruit, which can snap onto the Pi PCB (and is removable later if you wish) and gives you all sorts of prototyping goodness to make building on top of the Pi super easy. Read more.
Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!