5.6. Hand robot InMoov
Hand robot InMoov
Projeto de uma mão robótica biônica que utiliza Arduino Uno R3, Servo motores e Sensor de força resistivo para dirigir e controlar cada dedo separadamente. Ele foi desenvolvido em 2012 pelo escultor e designer francês Gael Langevin. Saiba mais em: O modelo para impressão 3D é disponibilizado em: https://www.thingiverse.com/thing:17773/files. A "Hand robot InMoov" é um subprojeto do "Robot InMoov", primeiro robô em tamanho real impresso em 3D de código aberto. Ele pode ser replicável em qualquer impressora 3D com uma área de 12 x 12 x 12 cm. Foi criado como uma plataforma de desenvolvimento para Universidades, Laboratórios e Hobistas. Saiba mais sobre "Hand robot InMoov" em: http://inmoov.fr/
// Projeto: Hand robot InMoov - movimenta um dedo da mão
#include "Servo.h"
const int Pino_Servo1 = 5;
const int Pino_Resistivo1 = A0;
int Leitura_Resistivo1;
int Posicao_Servo1;
Servo Meu_Servo1;
void setup () {
Serial.begin (57600);
Meu_Servo1.write (30); // Mão fechada.
Posicao_Servo1 = 30;
Meu_Servo1.attach (Pino_Servo1);
}
void loop () {
Leitura_Resistivo1 = analogRead (Pino_Resistivo1);
Serial.print ("Analog reading = ");
Serial.print (Leitura_Resistivo1); // Leitura bruta
// --------- limites estabelecidos da leitura -------- //
if (Leitura_Resistivo1 < 25) {
Serial.println (" - Sem pressao");
} else if (Leitura_Resistivo1 < 30) {
Serial.println (" - Toque leve");
} else if (Leitura_Resistivo1 < 50) {
Serial.println (" - Aperto leve");
} else if (Leitura_Resistivo1 < 110) {
Serial.println (" - Aperto médio");
} else if (Leitura_Resistivo1 < 200) {
Serial.println (" - Aperto forte");
}
delay (1000);
AbreMao (Posicao_Servo1, 1);
delay (3000);
FechaMao (Posicao_Servo1, 1);
delay (3000);
}
void AbreMao (int posicao, int servo) {
for (; posicao < 130; posicao ++) {
Meu_Servo1.write (posicao);
if (analogRead (Pino_Resistivo1) > 30) {
break;
}
}
}
void FechaMao () {
Meu_Servo1.write (30);
posicao = 30;
}
|