Proyecto Arduino
Mano Robot
Integrantes:
Ruiz Matias.
Vigolo Thiago.
Sayavedra Renzo.
Tabuada Lorenzo.
Profesor: Ezequiel Vaccalluzzo.
Función
La aplicación te ofrece flexibilidad en el control de la mano articulada. Puedes optar por
poses prediseñadas para movimientos específicos o utilizar los modos libres para un
control más personalizado, ya sea mediante sliders para cada dedo o a través de un
guante con sensores que replica los movimientos de tus propios dedos. La inclusión de
la conexión Bluetooth hace que este control sea inalámbrico y accesible a través de la
aplicación.
A continuación, explicaremos particularmente cada parte:
1. Control Remoto:
La función principal de la aplicación es permitirte controlar una mano
articulada de diversas maneras.
2. Conexión Bluetooth:
Para comenzar a controlar la mano, es necesario establecer una conexión
mediante Bluetooth entre la aplicación y la mano articulada.
3. Poses Prediseñadas:
La aplicación cuenta con tres botones dedicados a poses prediseñadas. Estas
poses son configuraciones específicas de la mano que pueden ser activadas
con un solo toque.
4. Modos Libres:
Además de las poses prediseñadas, hay dos modos libres disponibles.
a. Modo Libre con Sliders:
Este modo permite un control más detallado. Consiste en cinco sliders que
corresponden a cada dedo de la mano articulada. Al mover las sliders, puedes
ajustar la posición de cada dedo de forma independiente.
b. Modo Libre con Guante y Sensores:
En este modo, se utiliza un guante equipado con sensores para detectar la
inclinación de los dedos. La aplicación replica los movimientos detectados en el
guante en la mano articulada.
5. Botones de Activación/Desactivación:
Para cada uno de los modos libres, hay tres botones adicionales. Estos botones
permiten activar o desactivar los modos libres según sea necesario.
Código
#include <Servo.h>
Servo S1;
Servo S2;
Servo S3;
Servo S4;
Servo S5;
char M;
char N;
int D1=0;
int D2=0;
int D3=0;
int D4=0;
int D5=0;
char OD;
int OD1;
int OD2;
int OD3;
int OD4;
int OD5;
void setup(){
S1.attach(1);
S2.attach(2);
S3.attach(3);
S4.attach(4);
S5.attach(5);
Serial.begin(9600);
void Dedos(D1,D2,D3,D4,D5);
}
void loop(){
int i=7;
if(Serial.available()){
M=Serial.read();
Serial.println(M);
if(M=='A'){
D1=0;
D2=180;
D3=180;
D4=180;
D5=180;
void Dedos(D1,D2,D3,D4,D5);
}
if(M=='B'){
D1=180;
D2=0;
D3=180;
D4=180;
D5=0;
void Dedos(D1,D2,D3,D4,D5);
}
if(M=='C'){
D1=180;
D2=180;
D3=0;
D4=180;
D5=180;
void Dedos(D1,D2,D3,D4,D5);
}
if(M=='L'){
while(i==7){
int F1=analogRead(x);
int F2=analogRead(x);
int F3=analogRead(x);
int mF1=map(F1,170,266,180,0);
int mF2=map(F2,130,217,180,0);
int mF3=map(F3,46,86,180,0);
S1.write(mF1);
S2.write(mF2);
S3.write(mF3);
S4.write(mF2);
S5.write(mF1);
if(Serial.available()){
N=Serial.read();
Serial.println(N);
if(N=='R'){
i=1;
}
}
}
}
if(M=='l'){
while(i=7){
if(Serial.available()){
char OD=Serial.read();
if(OD=='Q'){
int OD1=Serial.parseInt();
Serial.print(OD);
Serial.println(OD1);
}
while(OD=='W'){
int OD2=Serial.parseint();
Serial.print(OD);
Serial.println(OD2);
}
while(OD=='E'){
int OD3=Serial.parseint();
Serial.print(OD);
Serial.println(OD3);
}
while(OD=='R'){
int OD4=Serial.available();
Serial.print(OD);
Serial.println(OD4);
}
while(OD=='T'){
int OD5=Serial.available();
Serial.print(OD);
Serial.println(OD5);
}
S1.write(OD1);
S2.write(OD2);
S3.write(OD3);
S4.write(OD4);
S5.write(OD5);
}
if(Serial.available()){
N=Serial.read();
if(N=='Y'){
Serial.print("Modo Libre desactivado");
i=1;
}
}
}
}
}
}
void Dedos (int D1,int D2,int D3, int D4, int D5){
S1.write(D1);
S2.write(D2);
S3.write(D3);
S4.write(D4);
S5.write(D5);
}
APP INVENTOR
GRAFICO