392 Views 0 Comment

Bolsa de reflejos para Boxeo automatizada.

bolsa de reflejos arduino - BLOG TBEM

¿Eres atlético y te gusta el boxeo o cualquier otro tipo de disciplina que involucre puños? Este proyecto te seguro que te interesará. Automatiza una Bolsa de reflejos para boxeo y conviértela en tu entrenador personal.

Un joven Boxeador (y Maker) creó un proyecto con una bolsa de reflejos para boxeo automatizada con Arduino, el sistema reconoce los movimientos del usuario cuando golpea bola, interpreta los golpes y genera una propuesta de golpeo nueva y de forma aleatoria. Como resultado se obtiene un método de entrenamiento que involucra el movimiento, los reflejos y concentración, para adiestrarse en esta disciplina del Boxeo. De una forma bastante simple de hacer, con  este proyecto podrás ejercitarte mientras te diviertes al rimo de un entrenador interactivo completamente automatizado.

En el siguiente video se muestra y explica cómo funciona este asombroso proyecto maker.

En este proyecto se ha utilizado un Arduino UNO, un acelerómetro y 4 leds de colores para el funcionamiento correcto del sistema. El proyecto opera de la siguiente manera:

Hay 4 leds indicadores en la base de la bolsa de golpeo para boxeo. Conforme el usuario va golpeando la bolsa se encenderá un Led de forma aleatoria, así el usuario deberá esquivar la bolsa y moverse hacia diferentes lados laterales.
Dentro del sistema hay un acelerómetro conectado con el Arduino UNO, este acelerómetro captará el golpe que hizo el usuario, la información de este movimiento capturado será interpretada por la tarjeta Arduino UNO, para que a su vez, se genere una nueva posición diferente a la del usuario, la cuál será mostrada a través del encendido de uno de los 4 Leds que tiene la base.

En el siguiente vídeo se puede visualizar el funcionamiento de los leds de forma aleatoria.

Los materiales que utilizarás para realizar este proyecto tú mismo son los siguientes:

¿Cómo desarrollar el proyecto?

Aquí te dejamos algunas imágenes para que te des una idea del desarrollo y cómo lo tendrás que implementar, bastante sencillo. Te dejamos aquí el código para cargar al Arduino UNO.


const int xP = 2;
const int yP = 3;

int frontPin = 10; // Green LED connected to digital pin 11
int backPin = 13;
int leftPin = 11;
int rightPin = 12;

int shuffle = 0;
int numbers[] = { 0, 1, 2, 3 };

void setup() {
 // put your setup code here, to run once:
 Serial.begin(9600);

 beep(50);
 beep(50);
 beep(50);

 // declare pin 9 to be sound output:
 pinMode(9, OUTPUT);

 pinMode(xP, INPUT);
 pinMode(yP, INPUT);

 pinMode(frontPin, OUTPUT); // sets the digital pin as output
 pinMode(backPin, OUTPUT);
 pinMode(leftPin, OUTPUT);
 pinMode(rightPin, OUTPUT);

}

void loop() {
 // put your main code here, to run repeatedly:
 int px, py;
 int ax, ay;

 px = pulseIn(xP, HIGH);
 py = pulseIn(yP, HIGH);

 ax = ((px / 10) - 500) * 8;
 ay = ((py / 10) - 500) * 8;


 //Serial.print(ax);
 //Serial.print("\t");
 //Serial.print(ay);
 //Serial.println();

 Serial.println(shuffle);

 if (shuffle == 0) {
 //FRONT PIN HIGH
 digitalWrite(frontPin, HIGH);
 digitalWrite(backPin, LOW);
 digitalWrite(leftPin, LOW);
 digitalWrite(rightPin, LOW);

 //back swing
 if (ay >= 800) {
 //Serial.println("BACK");
 beep(200);
 shuffle = (int) random(4);
 
 }



 } else if (shuffle == 1) {
 //BACK PIN HIGH
 digitalWrite(backPin, HIGH);
 digitalWrite(frontPin, LOW);
 digitalWrite(leftPin, LOW);
 digitalWrite(rightPin, LOW);


 //front swing
 if (ay <= -600) {
 //Serial.println("FRONT");
 beep(200);
 shuffle = (int) random(4);

 }

 }
 else if (shuffle == 2) {
 //LEFT PIN HIGH
 digitalWrite(leftPin, HIGH);

 digitalWrite(frontPin, LOW);
 digitalWrite(backPin, LOW);
 digitalWrite(rightPin, LOW);

 //right swing
 if (ax <= -800) {
 // Serial.println("RIGHT");
 beep(200);
 shuffle = (int) random(4);

 }

 }
 else if (shuffle == 3) {
 //RIGHT PIN HIGH
 digitalWrite(rightPin, HIGH);
 digitalWrite(frontPin, LOW);
 digitalWrite(backPin, LOW);
 digitalWrite(leftPin, LOW);
 //left swing
 if (ax >= 800) {
 //Serial.println("LEFT");
 beep(200);
 shuffle = (int) random(4);

 }


 }


 delay(100);

}
void beep(unsigned char delayms) {
 analogWrite(9, 20); // Almost any value can be used except 0 and 255
 // experiment to get the best tone
 delay(delayms); // wait for a delayms ms
 analogWrite(9, 0); // 0 turns it off
 delay(delayms); // wait for a delayms ms
}

Implementación del circuito con Arduino:

Bolsa de reflejos para boxeo Arduino

Acoplamiento del proyecto:

Bolsa de reflejos para boxeo Arduino

Acoplamiento de la bolsa de golpeo:

Bolsa de reflejos para boxeo Arduino

Si te interesa desarrollar este proyecto Bolsa de reflejos para boxeo con Arduino, aquí te dejamos el link de todo lo necesario para que lo puedas crear y divertirte mientras juegas y haces ejercicio.

Conecta y hazlo posible!

 

¿Aún no tienes idea de cómo desarrollar un proyecto con Arduino? Tienes una invitación especial para participar en nuestro próximo WorkShop. Haz clic en la imagen de abajo.

ARDUINO INICIACION WORKSHOP

 

 

Vía. Instructables.

0 Comments

Leave a Comment


*