loading

This is my school project for the 5th year of high school (I'm Italian, we have 5 years of high school).

It consists in an artificial hand controlled by a glove with flex sensors. The artificial hand reproduces the movements of the hand with the control glove, wirelessly. The hand and the glove works both with Arduino.

I just wanted to share my work for everyone interested :)

This guide is still in development, sorry if some parts are not clear, I'll put some 3D images in future.

I'm sharing something about my project on my facebook page: https://www.facebook.com/Gabry295

Step 1: Materials needed

I bought almost everything from https://www.sparkfun.com/, they have fair prices (I don't mean to advertise!)

Total cost: ABOUT 160$

Materials for the control glove:
• an elastic glove;

LilyPad Arduino board (there are different versions, which usually only have 4 analog inputs, so pay attention and buy the one in the image): it works exactly like the classic Arduino UNO, so you can use even an Arduino Nano, but pay attention to the voltage needed;

XBee module: for the radio communication;
Shield to connect the Xbee module;
• 5 Flex sensors;
• 5 resistors: 47 KΩ;
battery pack with 3x1.5 V batteries (Lilypad can be powered from 2.7 to 5.5 V, so 4.5 V it's ok);
LilyPad FTDI adapter: to connect the LilyPad board to the PC and load programs with the Arduino IDE (quite optional, because you can use also the Arduino UNO board removing the ATmega chip, but it's tricky to make this kind of connection every time).

-

Materials for the robotic hand:

• a steel structure for the palm of the hand and wood for the fingers;
Arduino UNO board;
XBee module;
• 5 servomotors 5V powered (I used TowerPro SG90);
• a servomotor shield for Arduino UNO: to connect the servomotors I used the Robot_Shield from FuturaElettronica, which has also a switching regulator to power the entire circuit, but you can use any shield made for controlling servomotors. Link: https://store.open-electronics.org/index.php?_rou... ;
Shield to connect the XBee module (I made an horrible one, but it's economic and I needed to make one small because of the size of the Robot_Shield);
fishing wires;
• (optional) fihing sinkers, to secure the fishing wire, can be done also simply making a knot;
9 V Battery.
-

Tools needed:

angle grinder (mainly to cut wood and steel);
axial grinder;
welding machine (with electrodes);
drill;
soldering station and solder;
• electrician's scissors;
pliers;
heat shrink tubing.

<p>http://www.amazon.in/Arduino-Lilypad-Main-board-AT... hi , i am using this lilypad . this is same as shown in image but its processor chip is different. so i buy it?</p>
<p>{http://www.flipkart.com/epro-labs-motor-drive-shield-dual-l293d/p/itmeggsdcxgmbdda?pid=ETYEGGSDN5GNTBRY&amp;affid=businessbu&amp;affExtParam1=buyt024&amp;affExtParam2=buyt024-574da5eadc39c23a438b4acb} I buy this one. How i needs to connect it with the xbee and motors for better control.</p>
<p>{http://www.amazon.in/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=servo+motor+shield} which one will be better?send me link.</p>
<p>which one adapter u use ? Send me its link if it is on amazon.in , if it is not on amzon.in then there and many adapters , suggest me that which one i needs to use and also tell me about any motor controller on amazon.in which will able to control servo motors and if it is there then send me its link</p>
<p>[http://www.amazon.in/XBee-2mW-Wire-Antenna-ZigBee/dp/B007R9U1QA/ref=sr_1_fkmr0_1?ie=UTF8&amp;qid=1464628703&amp;sr=8-1-fkmr0&amp;keywords=4214A+xbee] Will this xbee work correctly? Tell me please....or give me a suggestion on my whatsapp no.9034157650 or gmail shubhamdhiman00.sd@gmail.com</p>
<p>Hello, that XBee it's S2, so you'll need to configure it with the PC before you can use it. I suggest a XBee S1 that is pre configured and you don't need to program it. Anyway the one you showed me can work as the one I used :)</p>
If my calibration values are 680 open and 430 closed what values should i use to get the servos to function? Ill send pics of the code manipulation we used. This is for the glove.
<p>I see you have modified the code, but you shouldn't need to insert the values you read, I wrote the code &quot;v2&quot; specially to do it automatically buy doing a fast initial calibration by closing the hand. So try to use the code as it is :)</p>
Like i said we had movement of a single servo with the values entered above but now with the values shown above we have no movement on any servos.
Like i said we had movement of a single servo with the values entered above but now with the values shown above we have no movement on any servos.
<p>Question. We have created a very similar project using the codes you have listed. Test functions are good with the glove and the arduino uno board, but the motor shield that you are using is not driving the motors, actually it will not recognize the code you provided. It looks as if the code you wrote does not include the code for the shield ie: servo1_pwm - servo5_pwm . We are pretty stuck right now on this project. If we use a standard arduino shield we can get individual servos to run but that shield is not stable to push 5 servos, but with the shield you recommended to use there is absolutely no movement of the servos.</p>
<p>Hello, did you provide the proper power to the circuit?</p><p>The Robot Shield doesn't need special function unless for the Servo function included in the library of the Arduino IDE. Usually the servos don't move when they don't have enough power, for example when you only use the USB plug. Try with only one servo, it should work even only with the usb.</p>
Yes the first day we tested a single flex sensor with a single servo connected to the arduino and it communicated and operated properly through wireless signal. We then built the remaining project, added the shield with the 8 servo connectors and finished the glove. We get the open/closed readouts on the serial monitor but no movement on any servos off that shield. We use approx 12 volts for the servos shield and 4 volts for the glove. We also used all the same resistance values for the voltage divider on the glove. Here is a picture of the glove with the rx/TX disconnected for programming.
<p>Well, so the important thing that remain is the current: you need a power source with minimum 1A of output, I used an adapter of a router (12V 1A)</p><p>I also use a 9V rechargeable battery, you need good quality, economics batteries can't provide enough current. But if you are using 8 servos I think it's difficult a single 9V battery can drive them all (maybe 2x9V batteries in parallel can provide enough current).</p>
<p>hi.I am very close to completing this project. The readings on the hand are showing some issues. The PIinky finger readings show only either 0 or 180 irrespective of the position of the corresponding flex sensor. Also middle and annular values change simultaneously even though i m only bending my middle finger. however the test readings on the glove are perfectly fine. Where did i go wrong and how can i correct this?? Thanks in advance</p>
<p>Hi,</p><p>you mean you tried the &quot;test code&quot; i put on the last page and it shows the correct values on the Serial Monitor?</p><p>If you mean so, it's really strange that with the GloveTx and HandRx codes you have errors... I suggest to check the connection and welds you made on the flex sensors.</p>
<p>yes, the test code for the glove works fine and gives good values but i dont get the same values when i run the test code for the robotic hand</p><p>actually the first two values are accurate sometimes but the remaining values are never correct</p>
<p>actually i modified the glove code to print the angle values so what i see in the serial monitor are mapped angle values.</p>
<p>I suggest to control the joints you made on the glove, if necessary make new connection.</p><p>Anyway the values you get from the glove don't have to be precise, but you need a quite &quot;linear&quot; passage of the values from 0 to 180 when you bend the finger</p>
<p>which flex sensor are you using? 2.2 inch one ya 4.5 inch one? <br>Thanks! </p>
<p>Hi, 2,2 inch is enough, it's the one I used :)</p>
Great job, thanks for sharing. I remember way back when I was a kid (8 years old) , I made a &quot;robot&quot; made of wood :). I was inspired by Mazinger Z, :). One of the chapters, kids had a robot competition... I made mine :). I was using hand saw-saw; I cut myself and I still have scarf in my hand. Be careful, don't cut yourself. :)
<p>hello</p><p>I am new to arduino and i tried building this project but it didnt work :(. probably because i have xbee s2 and i have not configured it correctly. If i directly connect the tx and rx pins of the lilypad arduino to the tx and rx pins of the arduino board using connecting wires, should it work?? I am asking this because i wat to know where i went wrong.</p>
<p>Hi :) if you have the XBee S2, you probably need to configure them via PC (you need the adapter). I'm sorry but I don't know how to configure them, because I know the S1 don't need it, you should search on google for it :)</p>
<p>Ciao Gabriele, mi sapresti dire come hai fatto dei fori cos&igrave; sottili e precisi nelle dita per far passare i fili?</p>
<p>Col trapano, usi una punta sottile: per far passare i fili ne devi fare due paralleli, e la posizione dei fori deve essere fatta in modo tale che il foro per la vite del vincolo sia in mezzo, nello spazio tra i due canali per i fili (se non sono stato chiare dimmi pure, provo a spiegarlo meglio).</p>
<p>Bro it is a wonderful project. But I am wondering that can you make a whole body rather than the hands only. </p>
<p>Thank you! :)</p><p>What you say it's possbile, for sure! I don't know what kind of motors I could use for wrist and elbow</p>
<p>HI EVERY BODY I JUST NEED THE CONFIGURATION OF XBEES2 </p>
<p>Hi, if you have the XBee S1 you don't need to configure the module :)</p><p>If you have other model I can't help you, but Google is the way ;)</p>
<p>Hello Gabry and everyone else.</p><p>I completed this project using a 3D printed hand from an open source robot called inmoov from<a href="http://www.instructables.com/id/Wireless-Controlled-Robotic-Hand/" rel="nofollow">inmoov.fr</a>. I then followed this instructable as well as another that was similar that used the inmoov hand. That instructable can be found at:</p><p><a href="http://www.instructables.com/id/DIY-Robotic-Hand-Controlled-by-a-Glove-and-Arduino/" rel="nofollow">http://www.instructables.com/id/DIY-Robotic-Hand-Controlled-by-a-Glove-and-Arduino/</a></p><p>I had some trouble using Gabry's code so I combined how he sent data between the two XBees with the code from the other instructable. You can follow my build and also see videos at:</p><p><a href="http://www.google.com/url?q=http%3A%2F%2Fbocabearingsworkshop.blogspot.com%2Fsearch%2Flabel%2F3D%2520Printed%2520Robotic%2520Hand&sa=D&sntz=1&usg=AFQjCNEjoGp7oconXGogKnPxpbA635eTWQ" rel="nofollow">http://www.google.com/url?q=http%3A%2F%2Fbocabearingsworkshop.blogspot.com%2Fsearch%2Flabel%2F3D%2520Printed%2520Robotic%2520Hand&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEjoGp7oconXGogKnPxpbA635eTWQ</a></p><p>Gerardo</p>
<p>Hi <a href="http://www.instructables.com/member/bocabearing" rel="nofollow">bocabearing</a> , i cannot find the full programming code for both the 3D printed hand and the glove on the site u provided above.<br>Can you please help how you do the wireless communication?</p>
Hi jesher777,<br><br>The link that I provided directs you a page filled with different parts that I went through for the project. <br><br>Part 5 includes the first code that I used. http://bocabearingsworkshop.blogspot.com/2015/05/3d-printed-robotic-hand-part-5_15.html<br><br>Part 7 includes a code that I used that didn't require the use of a servo shield for the Arduino. Instead, I just used a breadboard to provide an external power source to the servos.<br>http://bocabearingsworkshop.blogspot.com/2015/11/3d-printed-robotic-hand-part-7-last.html<br><br>Part 8 includes the robotic hand's schematic that is to be used for the code from part 7.<br>http://bocabearingsworkshop.blogspot.com/2016/01/3d-printed-robotic-hand-part-8-wiring.html
<p>Hey Gabry,</p><p>Why didn&acute;t you use the LilyPad board on the reciever hand instead on the UNO? </p><p>ty.</p>
Hi AndresM41, I used the Arduino UNO because there are shields made for it that are convenient to do different things, in my case I used two shields that allow to connect the servomotors and the XBee module to the Arduino UNO. Also Arduino UNO has a higher current output and I think the LilyPad couldn't manage to control 5 servomotors.<br>Maybe it's possible, but there is still the problem of connecting the servomotors to it, it's not so handy.
<p>can i use 5 servo without any shield</p>
<p>Yes, but any servo shield help you connecting the 5 servos to the Arduino board, I suggest to use one because it's more convenient.</p>
<p>Replay me as soon as possible</p>
I am not sure where to find the item on step 4 picture 5 and I am not entirely sure on how to assemble it with the sheild and arduino. If I could get a better explanation that would be great
<p>That is the Robot Shield I bought from futurashop: <a href="https://www.futurashop.it/shield-per-arduspiderin-ardubipe-e-ardufilippo-8190-robotshield">https://www.futurashop.it/shield-per-arduspiderin-...</a></p><p>If you can't find that you can buy any other servo motor shield for Arduino.</p><p>The shields for Arduino simply fits on the two row of pins that Arduino UNO has on its bard. You have to know a little about the circuit of the shield before use them and start to programming :)</p>
<p>Hey Gabry, thanks for your info, but i was wondering what did you use to code both of your xbee? And did you use a dongle?</p><p>Thanks, hope to hear you soon.</p>
<p>You don't need to program the XBee modules if you have the Series 1. Anyway it's possible to program them by an XBee adapter and downloading its tool (X-CTU): http://www.digi.com/support/productdetail?pid=3352&amp;osvid=57&amp;type=utilities</p>
<p>Hi Gabry,</p><p>I like your design. I was wondering whether it could be adapted to replicate full limb movement using additional bend sensors (such as lower arm rotation and elbow bend, shoulder movement? )</p>
<p>Yes it's possible :) but you have to consider the number of analog input pins of the Arduino Lilypad, I think you would need different boards for a project like that.</p>
What did you use for connecting the different joints of the hand together?
<p>the fingers are made of wood, I jointed them with a simple screw and nut. Then I used some fishing wire to connect the top of the finger to the servomotor</p>
does it must be a Xbee module because its really cheap<br>
<p>I don't know about alternatives of the XBee module, if you find something different but that work the same it's perfect, otherwise you'll need to modify the circuit and the program</p>
<p>bro can we use any other servo shield</p>
<p>Other servo shields are ok, the important part is to both control servo and use the XBee module. The servo shield I used has only an advantage, a better use of the battery.</p>

About This Instructable

100,743views

1,015favorites

License:

Bio: Hi, I'm Gabry295, and I like doing electronic things, even if at the moment I have only one Instructable :) I like robots and everything ... More »
More by Gabry295:How to make a remote controlled Robotic Hand with Arduino 
Add instructable to: