My awesome friend Stefani Bardin, who was the new Director of Education at 3rd Ward, invited me to teach a new class there and this is what we came up with:
Here are some steps we’ll be taking in class from the code side to get up and running…
If you haven’t already done so, download and install the appropriate Mac/Windows/Linux version of Arduino on your computer from here. I’ll have Mac and Windows versions on a thumb drive as well, and we’ll start with making sure everyone has this installed. You may need to download or point to drivers (especially on Windows, depending on the operating system) so follow the appropriate getting started guide below.
Then we’ll move on to the Blink example in class to make sure everyone has a working board before we move on to the robot. If you’d like to try it on your own, feel free to check out the getting started guide for Windows or Mac.
If there are any issues with getting blink examples to run on all your boards, we’ll be looking through these trouble shooting tips while I work with individuals.
Then we’ll teach the robots to strike a pose, wiggle, and do some awesome math to create other, more predictable motions!
Strike_a_pose: try this code on both of your motors by changing the pin number from 5 to 3. Change the angles and upload them several times, and take note of 1) the angle of the shoulder when it’s down on the wood, 2) the angle of the shoulder when it’s at the other extreme before it crashes into your breadboard, 3) the angle of the elbow when it’s perfectly straight, 4) the angles of the elbow at each of it’s extremes.
Make sure to take note of which direction your motor spins as you increase the angle, and what the angles are when the robot is straight and against the board.
Now, make it wiggle. Here’s how to wiggle the shoulder motor:
Can you figure out how to make both motors wiggle at once? If you’re stuck, try this:
Now, see if you can adapt the code in this Instructable for your servo motor controlled arm.
Now, thanks to David Cummings (a student in the 3rd Ward class), you can make the Processing Sketch actually drive the robot arm! Load this code onto the Arduino, then this code into Processing. You will probably need to adjust the angles depending on how your robot arm was built.
Oh, and here’s the Robotic arm BOM.
Arduino (pay particular attention to the Forum area and the Reference tab)
NYU ITP Physical Computing
NYU ITP Mechanisms (also see Resources tab there)
Book – Making Things Move
Book – Getting Started with Arduino
Open Hardware Summit