OWI Robot Arm Controlled by Arduino bit

You’re making very fast progress. Can we look forward to a project page with a video? :smile: :movie_camera:

Wow Bruce! You have rocked this project. I am jelly :wink:

Lots of good information in your post as well. Thanks!

I am not sure about the video, but I hope to post this next week. If I can make a couple tweaks today and tomorrow, I will be showing it off at a community show and tell put on by the college to help get individuals excited about coming to us for their education.

@JackANDJude Your comments and suggestions have been helpful.

@chris101 I appreciate you comments. The information about the available GND on the Arduino card was very helpful. I spent over an hour trying to debug my code to find out where the extra relay activations were coming from.

As soon as I added the common ground things were magically better.

1 Like

Heh - You are welcome. I saw that tip on … one of the sites about motor control. They bolded the words “common ground” and “important” so I figured it was. Your experience is the first real confirmation of this, but now I wonder if the jitter many experience when controlling servo motors with arduino is caused by this.

I managed to get two major tasks completed tonight:

  1. The Arduino bit is now controlling all four motors using the keyboard bit.
  2. A common power supply is providing all the power needs.

Also I found an old Seeed Studio relay shield that should let me control motor five and the light.

A major task is making it pretty for a photo/movie debut.

Sometimes projects look their best before tidying them up!

I agree with @chris101. I love a glimpse at a work in progress. No pressure, though! :wink: You do what you do! :smile:

After several attempts and lots of frustration, my project has finally been posted.

1 Like

Well done, and quickly too!

This has been an interesting experience.

Update: As of this morning, I have:

  1. Super-glued the motor cases on two of the motors. I was able to do full motion movement of the arm once the glue had set.
  2. I can now control motor five (robot arm base) to rotate the entire arm right or left. This happened after I added the second relay board and edited the program.
  3. Replaced or added power connectors to power is easier to establish.
  4. I can now turn the LED above the claw ON or OFF. All motor and LED control use the keyboard and Arduino bits.
  5. Picked up an object with the claw and set it down.
    A. Split the project using the transmitter/receiver bits.
    B. Mount the pieces/parts so they are secure and a little less cluttered.
    C. Write an interpreter/compiler so the robot will accept and run scripts/programs.
    Somewhere in all of this I will create and post a video.
1 Like

Excellent! Soon you will be able to send “the arm” to work, so you can stay home and play with littleBits all day. Just teach the arm to push it’s own buttons.


That is why the compiler. Tell it what to do, then push the run button and watch it happen.

A video is now in place on the project page.


Nice! The motion looks like it’s steady and decisive. I’d love to have something like that in the chemlab when I’m doing hazardous demos. Like dropping a piece of sodium into a flask filled with chlorine. Your power system is impressive! That’s quite a 'bot you’ve got.

Oh, and yes, your marble maze does look … interesting. The whole thing is very Transformery.

ps, the title of this thread should be changed to “Completed Project with Arduino Kit”!

Thank you

  1. I will try to change the title.
  2. The marble thing you mentioned is not mine.

Mi Malo. Someone had said (in one of the Arduino threads, I think) that they built a marble maze, but that it looked like a bunch of brass slag. There is a brass looking “thing” in the opening picture of your video, that I mistook for a brass slag looking maze. I should read more carefully!

Robot Arm controlled by Arduino bit - Update 04/05/2015

  1. I reorganized the code by adding two function and removing the associated code from Loop():
    a. byte selectMotor(int datain)
    This accepts the keyboard value (datain) and returns the byte value data. data specifies which motor to activate, in which direction.
    b. byte activateMotor(int dataPin, int clockPin, int latchPin, byte data)
    This take the value data an activates thr proper motor, ot the LED.
    c. This reorganization did not change how the program works.
  2. I attempted to add the wireless transmitter/receiver pair.
    a. It seemed reasonable to break the project after the keyboard.
    b. The result was inconsistent results. The LED would go inyo continuous toggle mode, Some keys seemed to be ignored and others might activate the wrong motor.
    c. It appears that I will have to add a second Arduino bit. The first will read the keyboard (or other input system, in the future), format and verify the data before sending it to the wireless transmitter.
    d. I will work on this later, but it is an important addition to the project.
  3. The project currently has three circuit boards, A power distribution system, plus the littlebits, and the wiring to tie all of this together.
    a. I purchased a tool box to hold the hardware, plus provide storage for the robot arm.
    b. I have an old VEX robot that included metal pieces that can be used to build the robot configuration.
    c. I built an essentially square base with two metal support panels.
    d. On one panel I attached a large breadboard using the tape on the bottom. Mounted to that is the small Seeed Relay Shield and the 12v to 5v circuit.
    e. On the second panel I am supporting the Parallax Digital I/O board. I added cushion feet to the bottom of the board and will use cable ties to attach the board to the support panel. This should keep the board from making disasterous contact with the metal support panel.
    f. I then drilled two holes in a Littlebits panel and used long atandoffs to attach the panel to the base. This supprts a power bit and the Arduino bit with room for expansion.
    g. Three holes were drilled into the side of the toolbox - one for the cable that connects the proejct to the robot arm, one so I can get power to the project, and one for the master power switch.
    h. Now that I have verified that this system works, I will drill four holes in the bottom of the toolbox. I will use these to firmly attach the metal base to the toolbox. This should prevent unwanted movement during transport and storage. This will be easy to remove from the tool box so further developement can continue.
    i. A foam support system will be added to protect the robot arm during transport and storage inside the toolbox.

@br1wr2el3 & @chris101, I hope you can join our next community call this Wednesday at 12pm EST. It would be great if you could bring your recent project (such as robot arm and robot music) to present to other Bitsters and get feedback. https://unhangout.media.mit.edu/event/98
:smile: :arrow_left: friends :arrow_right: :slight_smile:

I’d love to Jude, but 12 EST (2pm MST) is right in the middle of organic chemistry laboratory. If I can break away, I’ll tune in!