Just under a year ago I put my name down for a Raspberry Pi, and was given a waiting list number of over 260,000. While I was waiting for my Pi to come, I looked around on the internet as to various things one could do with a Pi.
Early on I noticed a blog article by someone talking about programming their arm to pick up a mince pie and give it to them, when they were having a cup of coffee. This was over Christmas 2011.
I sort of vaguely mentioned this to Pauline, that it might be good fun to try and do when I got the Pi. Well the Pi came in the early autumn, followed by Christmas we have just had. There under the tree was a Robot Arm and usb interface.
Quite a few hours later the arm was built – (33 pages of instructions), and was happily moving around with the manual control unit. This had to be uninstalled and the usb interface wired in.
This is now quite a number of months since I saw the original blog item, and I could not find it again, but no worries as there seems to be at least 20 sites quoting the same bit of code on how to get it working. That should give a clue.
It was late one evening between Christmas and New Year and I felt that I would like to get it working, and then work out how to change it afterwards. So I went onto one of the 20 plus sites, downloaded the code and tried to get it working. It would not work. Maybe time for bed
The next day tried again, and still would not work. Ok so I thought maybe something on my Pi was conflicting with it. I had apache running at the time, so time for a new version. I downloaded the latest wheezy version http://www.raspberrypi.org/downloads, and wrote it to my sd card.
While this was being done I thought I had better test my wiring just to make sure the Arm was working via the usb, so installed the software that came with it on a windows laptop and tested it. Yes it was working.
So have set up the new card, installed tightvncserver on it so I can access it remotely (also this reduced the number of things going into the usb ports just in case they were causing the problem. We were ready for action. This time I was going to do it from first principles.
lsusb command results
Firstly needed to check that the pi was picking up the arm via the usb hub. The easiest was of doing this is to use the command “sudo lsusb” in a terminal. (If the -v flag is used at the end then it is quite amazing the info it produces).
The first time was with the arm turned off. The second time was when it was turned on
So I could see that the arm had been detected as device 4 with an id of 1267. This is important as the id is needed by the program to talk to the arm.
Next needed to install the usb library for python this is the version that I used. I saved it then, extracted it then ran into problems as the installation instructions say "python setup.py install". The Pi has two versions of python 2.7 and 3.2 Unfortunately the default one seems to be python 2.7, but this needs to be on the other version so when doing a python command need to add a 3 to the command. Probably there is a way of changing the default but I don't know it.
The simple python code is as shown. This sends a single command at a time controlling the arm.
The byte commands are documented here http://notbrainsurgery.livejournal.com/38622.html
It can either be run via the python GUI or as a terminal command line remembering to do it as a sudo command
The byte data in the commanddata variable can be changed to move the arm. This way each movement and the corresponding byte data can be checked and tested.
The next stage is to develop the program but that is for another day.
Dyslexic doodles on photography, food (growing, cooking & of course eating), faith and other fascinating things. This is a personal blog expressing my views.