Projekti
Ideamme oli rakentaa robottikäsi, jota ohjataan käyttäjän käden liikkeillä. Alunperin robottikäden sormien oli tarkoitus seurata käyttäjän sormien taipumista 1:1. Lopulta päädyimme kuitenkin yksinkertaisempaan nyrkissä - auki -ratkaisuun. Käytössämme oli ainoastaan kolme taivutusanturia, joten seurasimme vain käyttäjän peukalon, etu- ja keskisormen asentoja.
Komponentit
- Arduino uno
- 5 kpl servoja (Turnigy TGY-R5180MG)
- 3 kpl taivutusantureita *
- 3 kpl 10k Ω vastuksia *
- 4700 µF kondensaattori
- joustoputkea
- siimaa tai narua
- käsine
* Ideaalitapauksessa taivutusanturi + vastus -pareja olisi viisi kappaletta. (Yksi joka sormelle.)
Kytkentä

Taivutusanturit on kytketty Arduinon analogipinneihin 0-2 oheisen kuvan mukaisella vastusjaolla.
Servojen signaalijohtimet on kytketty Arduinon digitaalipinneihin 8-12.
Lisäksi käyttöjännitteen ja maan välille on kytketty iso kondensaattori, jottei viiden servon yhtäaikainen käyttö aiheuta liikoja jänniteheilahteluja. Näin kättä voi käyttää pelkästään usb-liitännällä ilman erillistä virtalähdettä.
Koodi
// Servo-kirjasto ja servo-objektien luominen.#include <Servo.h>Servo servo1;Servo servo2;Servo servo3;Servo servo4;Servo servo5;// Muuttujat painonapille ja taivutus antureille.// Anturit analog in -pinneihin 0-2, nappi digital-pinni 2.int nappi = 2;int etu = 0;int keski = 1;int peukalo = 2;void setup(){ Serial.begin(9600); // Alustetaan sarjaliikenne. // Asetetaan pinnien suunnat pinMode(nappi, INPUT_PULLUP); // Painonapille ylösvetovastus. pinMode(etu, INPUT); pinMode(keski, INPUT); pinMode(peukalo, INPUT); // Liitetään servo-objektit pinneihin 8-12. servo1.attach(8); servo2.attach(9); servo3.attach(10); servo4.attach(11); servo5.attach(12); // Tulostetaan viesti setup-loopin päättymisestä. Serial.println("Loop done!");}void loop(){ // Jos taivutusanturilta saatava arvo on yli asetetun rajan, vedetään servolla sormi koukkuun. // Sopiva raja-arvo ja servojen ääriarvot haettu yksitellen testaamalla. // Koska taivutusantureita on käytössä vain kolme, ohjaa etusormen anturi myös // nimetöntä ja pikkurilliä. // Peukalo if (analogRead(0) < 800) { servo2.write(145); } else { servo2.write(55); } // Etusormi if (analogRead(1) < 800) { servo3.write(145); servo4.write(145); // Nimetön servo5.write(145); // Pikkurilli } else { servo3.write(55); servo4.write(65); // Nimeton servo5.write(55); // Pikkurilli } // Keskisormi // Servon ääriarvot päinvastoin muihin verrattuna sillä // servo on myös fyysisesti eri päin käsirakennelmassa. if (analogRead(2) < 800) { servo1.write(35); } else { servo1.write(130); } // Tulostetaan anturien arvot ja yksi erotinrivi. Serial.println(analogRead(0)); Serial.println(analogRead(1)); Serial.println(analogRead(2)); Serial.println(); // 100 millisekunnin tauko ennen seuraavaa looppia. delay(100);
}
Käden ja ohjauksen toteutus
Käden rakentaminen
Käsi rakennettiin instructables.com sivustolta löytyneitä ohjeita soveltaen. Linkki ohjeisiin: http://www.instructables.com/id/Simple-Animatronics-robotic-hand/

Sormet ovat tehty joustoputkesta johon on leikattu lovet nivelten kohdille, jotta putki pääsee taipumaan. Nivelten jäykkyys riippuu jäljelle jätetyn materiaalin määrästä.
Sormien taivutus toimii hieman samaan tapaan kuin ihmissormissa. Sormenpäähän kiinnitetystä "jänteestä", robottikäden tapauksessa narusta, vedettäessä sormi taipuu, koska taivutetun sormen läpi narun tarvitsee kulkea lyhyempi matka. Kun narun jännitys vapautetaan, pyrkii joustoputki palaamaan takaisin suoraksi.
Robottikäden alustana käytettiin Kapa-levyä. Sormet liimattiin kuumaliimalla levyn toiseen päähän avointa kämmentä muistuttavaan asetelmaan. Toiseen päähän levyä aseteltiin servot siten, että niiden vetämät jänteet kulkivat sormilta servoille mahdollisimman suoraan ja toisiinsa sotkeutumatta.
Ohjauskäsine
Ohjauskäsineenä käytettiin viiltosuojakäsinettä jonka sormiin kiinnitettiin ompelemalla taivutusanturit. Anturit täytyy ommella kiinni niin, että ne pystyvät vapaasti liukumaan ompeleiden alla.
Kehitys
- Käden rakentamiseen löytyy paljon tyylikkäitä 3d-tulostettuja malleja. Esimerkiksi tämä: http://www.thingiverse.com/thing:17773
- Ohjaushanskasta tulisi tyylikkäämpi, jos hanskoihin ompelisi kangasputket, joihin sensorit voisi pujottaa.
'
Kuvassa lähes valmis työ. Lopullisessa työssä anturit ovat kiinni ompeleilla evätkä teipillä.