Project tutorial
Alexa Robot Arm

Alexa Robot Arm © Apache-2.0

Give a robot arm a variety of tasks with Alexa, including playing with cats!

  • 3,778 views
  • 1 comment
  • 17 respects

Components and supplies

Apps and online services

About this project

About

I made an Alexa-controlled robot arm. You can get cheap robotic arm kits for $30-$40 bucks these days. I chose this one from OWI. The kit build is time consuming (about 5 hours) but pretty straightforward.

The arm is fairly fast, but not that strong. I was hoping it would pick up a beer or a cellphone, but it can only handle very light objects such as pens (or ribbons for cats). However the concept is there, and it would be easy to upgrade the equipment now that I have the code ready.

Hardware

The controller is just 10 switches for the 5 motors in 2 directions, and 1 switch for the LED light, so it was easy to unplug and control them each with a relay instead. The motors use 3V of signal, but a 12V relay will work (you just need a 12V power supply for the relay coils themselves). I used a 16-channel relay but only hooked up 11 of them.

There are 8 pins on the arm, and I tested them with a multimeter to see which ones worked. The manual lists the first pin as +3V and the last pin as -3V and the middle ones as 1-6. I numbered them 1-8. The connections to control the motors and lights are: 2-1, 2-8, 3-1, 3-8, 4-1, 4-8, 5-1, 5-8, 6-1, 6-8, and I believe the LED light is 1-8. You can test them just by shorting them with a jumper, or plug each pair into a channel on the relay for control with the Arduino.

Software

I set up a Lamda skill by following the Alexa Controlled LEDs Through Arduino Yún Tutorial. Here is my Lamda function. (Replace {mydomain} with your publicly accessible or dynamic dns domain, {myport} with whatever port you run the node script below on, and token with any URL-friendly string.)

I'll admit that I never got the Yun talking to my IOT shadow correctly, so I wrote a simple node script that listens for requests on a special port and for a special token and forwards those requests to the Yun. (Replace {myport} with any port number and {mytoken} with the same token from above.) Later I would like to beef up the security with LWA, POST requests and Amazon's secure certificates.

Lastly, here is my Arduino code for listening for commands and executing them, based on the Yun Bridge example.

I made several directives -- "Open", "Close", "Forward", "Back", "Tilt Forward", "Tilt Back", "Left", "Right", "Up", "Down", and "Play with Cats". There are also stubs for "Hold This", "Let Go", "Chop", and "Throw this away" for a future date.

Results

The arm has no sensors, so "Stop" is helpful if you push it too far, and there won't be any dynamic feedback. Initially I had on and off commands for every command, like "Turn on Open" and "Turn off Open", but the delay was too bad that it was better to only run short routines and have them stop on their own.

I'd definitely like to work on the delay, it can take 5 or 6 seconds to execute a command with the proxy, and I'd like to narrow that down. Plugging the Yun into ethernet and using a static IP would help for sure.

With less of a delay, more of a reach, and stronger motors, I do picture this project being helpful for people with disabilities or only the use of one hand. For now though, cat entertainment it is (and don't worry, I don't let my cat eat ribbon unsupervised).

Code

Robot Arm Lamda Function
Robot Arm Node Proxy
Robot Arm Arduino Server

Schematics

Wiring
Connect pins 1-11 on the Yun to input 1-11 on the 12V relay. Use 11 of the 16 channel relays to control the pairs:
11 M5: 6 - 1
10 M5: 6 - 8
9 M4: 5 - 8
8 M4: 5 - 1
7 M3: 4 - 8
6 M3: 4 - 1
5 M2: 3 - 8
4 M2: 3 - 1
3 M1: 2 - 1
2 M1: 2 - 8
1 Light: 8 - 1
Wiring 3d9eu8asnu

Comments

Similar projects you might like

MeArm Robot Arm - Your Robot - V1.0

Project tutorial by Benjamin Gray

  • 19,309 views
  • 3 comments
  • 35 respects

Gesture Controlled Trainable Arduino Robot Arm via Bluetooth

Project tutorial by KureBas Robotics

  • 11,563 views
  • 41 comments
  • 98 respects

Autonomous Home Assistant Robot

Project tutorial by Juan Miguel Jimeno

  • 8,044 views
  • 6 comments
  • 68 respects

Arduino Home Controller Activated by Alexa

Project tutorial by Jose Cruz

  • 2,414 views
  • 6 comments
  • 3 respects

Alexa BBQ/Kitchen Thermometer with IoT Arduino and e-Paper

Project tutorial by Roger Theriault

  • 2,411 views
  • 0 comments
  • 9 respects
Add projectSign up / Login