es gl es ca gl gl gl gl es gl en gl es en pt ceb es gl en gl gl gl gl gl gl gl gl gl gl gl gl gl gl gl gl gl pt gl gl gl gl gl gl en en gl gl gl gl gl gl gl gl gl gl gl gl es gl en gl en gl gl gl gl gl gl gl gl it gl gl en gl gl gl gl en gl es es gl gl gl pt es gl gl gl pt pt en gl ar es gl en en en gl gl gl ca gl ca gl gl gl gl gl gl gl gl it gl gl gl gl gl gl gl gl gl gl en it es es gl es gl es es gl pt en gl gl ca fr fr gl gl gl pt es sv es gl sv pt en gl hu en gl gl en gl it it es uk pt gl gl gl gl gl en gl gl es gl gl vi gl gl gl gl es es gl gl gl gl gl it gl es
[By Leo Boghozian from youtube]
A idea é imprimir unha man articulada que se poda controlar tirando dun cable ou fío para cada dedo.
Estes cables irán unidos a uns servos, cuxo ángulo de xiro determinará a flexión do dedo.
O control pode ser automático ou manual:
Control automático: A man realiza movementos programados.
Control manual: Utiliza uns potenciómetros ou joysticks para facer xirar cada servo á posición que desexes.
Control con sensores: A man robótica moverase en función do sinal procedente dun sensor: Os dedos móvense segundo o sinal dun sensor de flexión ou de inclinación, a man cérrase cando se detecta un obxecto diante, etc.
Control sen fíos: controla o movemento da man a traǘes dun mando IR ou duns módulos bluetooth.
Lembra que se conectas 5 servos ao teu Arduíno cómpre que os alimentes de forma independente, pois consumen moita intensidade e poderías facer que a placa se reinicie.
En Internet hai moitos sitios nos que descargar modelos en 3D que podemos utilizar para os nosos proxectos. Aquí hai algún exemplos que podes utilizar, pero podes atopar máis por Internet.
Unha man sinxela de facer é esta feita con palliñas do profe García. Non é moi precisa, pero podería valernos, por exemplo, para que se peche automaticamente a man cando detecta un obxecto ao seu alcance.
Se o teu é traballar con madeira, na web de prometec explícannos como facer unha.
En thingiverse podemos atopar modelos para imprimir. Algúns son moi complexos e laboriosos e outros son máis sinxelos. Aquí van algunhas ideas, pero podes atopar outras.
Prosthetic: Unha man sinxela de facer e rápida de imprimir.
Snap-Together Robohand: É de fácil montaxe.
Dextra: Máis laboriosa. Incorpora os servos na súa estrutura.
Inmoov: Un flipe! Na web de Inmoov podes atopar información sobre como imprimir e montar un robot humanoide completo. Iso si, traballo de impresión e montaxe hai dabondo. Para quen se anime a meterlle horas.
Unha opción sinxela e rápida é facer un único dedo: Finger-starter-kit Modelos,  Instrucións.
Facer unha man xa leva máis traballo: Right hand: Modelos, Instrucións
Tamén son interesantes os modelos comerciais que podemos atopar en aliexpress
Ao ter 5 servos,o mellor é utilizar un controlador de servos e utilizar alimentación externa.
No caso de que queiras realizar cun control analóxico do movemento dos dedos, por exemplo, cuns potenciómetros ou sensores, establece unha correlación entre o ángulo dos servos e o valor do sinal analóxico utilizando a función map.
No caso de que queiramos movementos predefinidos, por exemplo, pedra, papel e tesoira, podemos crear uns arrays que nos indiquen a posición de cada un dos dedos (o encollido e 1 estirado). Cando recibimos o sinal dunha forma determinada ordenamos aos servos que se movan en función dese array.
Por exemplo, despois de introducir o necesario para controlar os servos co controlador de servos introducimos os seguintes parámetros:
// ángulos mínimo e máximo (no servo nº0 (polgar) é ao revés) int ang_min=5; // dedo aberto int ang_max=170; // dedo cerrado // pulsadores int pulsador1=2; // pedra int pulsador2=3; // papel int pulsador3=4; // tesoira // Formas int man[5]; // a forma que debe conseguir int estado[5]; // o estado actual int pedra[] = {0,0,0,0,0}; int papel[] = {1,1,1,1,1}; int tesoira[] = {0,1,1,0,0};
Na configuración inicial (setup) imos poñer a man, por exemplo,na posición de puño e completamos os arrays estado[] e man[] cos valores iniciais.
// estado inicial: int estado[]= {0,0,0,0,0}; // estado actual int man[] = {0,0,0,0,0}; // petición
Definimos tres funcións: estirar un dedo, encoller un dedo, e mover dedos, que fai o percorrido por todos os dedos da man ata alcanzar a forma que queremos.
Na nosa man robótica o movemento do dedo polgar é o contrario dos demais, por iso facemos a separación para o servo nº0.
void estirar(int servo){ if (servo==0){ controladorServo.setPWM(servo, 0, angulo(ang_max)); } else { controladorServo.setPWM(servo, 0, angulo(ang_min)); } } // Función para encoller un dedo void encoller(int servo){ if (servo==0){ controladorServo.setPWM(servo, 0, angulo(ang_min)); } else { controladorServo.setPWM(servo, 0, angulo(ang_max)); } } // Función que move todos os dedos desde o estado actual (estado[]) ata a orde (man[]) void moverDedos(){ for(uint8_t n= 0; n<5; n++){ if (man[n] != estado[n]){ // se a petición é diferente ao estado movemos if (man[n]==0){ // cando pide 0 encollemos e cando pide 1 estiramos encoller(n); } else{ estirar(n); } estado[n]=man[n]; // imos gravando o estado actual } } }
No loop, por exemplo, se queremos que cun pulsador a man mostre a palma enteira (papel), fariamos:
if (digitalRead(pulsador2)== HIGH){ while (digitalRead(pulsador2)== HIGH); delay(30); for(uint8_t n= 0; n<5; n++){ man[n]=palma[n]; } }
Desa maneira man xa ten os valores que queremos na nosa man. Agora só falta mover os dedos desde o estado actual ata a posición nova chamando á función moverDedos()
O programa anterior non está completo, falta incorporar o controlador de servos e todos os sensores que necesites. Só en unha guía a partir da cal poidas traballar.
Control manual: Utiliza potenciómetros lineais ou joysticks para modificar a posición dos dedos.
Man carnívora: Conecta un sensor ultrasónico preto da palma da man. Cando o sensor detecta un obxecto a man debe cerrarse rapidamente para atrapalo.
Con pulsadores: Temos tres pulsadores. Un indica pedra, outro papel e outro tesoira. Cando prememos nun deles a man realiza o movemento relacionado.
Números: Utiliza un teclado matricial ou un mando IR para indicar un número de 0 a 5. A man deberá indicar que número se pulsou movendo os dedos.
Control con luva por Bluetooth: Podes usar sensores flex ou sensores de inclinación en cada dedo dunha luva provista dunha placa nano e un módulo HC-05. A man robótica deberá reproducir o mesmo movemento.
Pedra, papel e tesoira: a luva contra a man. Utiliza comunicación por bluetooth. Ao premer un pulsador quen ten a luva deberá formar pedra, papel ou tesoira, a man formará ao chou tamén unha das tres. A placa arduino recolle os datos, compáraos, e mostra nunha pantalla LCD quen gañou. A partida durará 5 xogadas.
Vídeo con algunhas probas de funcionamento:
Control da man con luva por bluetooth.
Deixa un comentario Cancelar a resposta
Nome Correo electrónico Sitio web
Gardar o meu nome, correo electrónico e web neste navegador para a próxima vez que faga un comentario.
Descrición de Arduíno UNO
O IDE de Arduíno
Entradas e saídas dixitais
Condicional if … else
Sinais PWM e lectura serial
Array de LEDs e funcións
A posición dun servo
Servos de xiro continuo
Motor de corrente continua
Motores paso a paso
Sensor de Luz LDR
Sensor de temperatura LM35 e TMP36
Sensor de temperatura e humidade DHT11
Sensor de temperatura DS18B20
Sensor de movemento PIR
Sensor de cor TCS3200
Sensor de cor TCS34725 RGB
Sensor de auga no solo
Medindo o tempo 1
Medindo o tempo 2: RTC
Bluetooth mestre + escravo
O tanque de auga
Reloxo de area dixital
A máquina máis inútil
Clasificador M&M’s por cor
Alarma para a cortadora láser
© 2022 Arduino • Creado con GeneratePress