Project Energy Plus

Estrella del Peral (directora)
y Carlos Ávalos(TIC) del Colegio San José Lucero

Nombre del proyecto

Project Energy Plus

Resumen del trabajo

Estudio de la trayectoria de una pelota de ping pong. Para ello hemos creado un dispositivo de lanzamientos de pelotas. Dicho dispositivo es una catapulta trebuchet modificada que se activa a control remoto con el móvil (vía bluetooth) y  comunica con una placa Arduino. Todo con la finalidad de determinar la ecuación que describa su movimiento. Además puede ser activado con un comando de voz con el móvil y con el teclado.



La foto de los alumnos no la hemos colocado por ser menores de edad. En el vídeo de abajo salen los chicos, dicho vídeo está alojado en el canal oficial del colegio en Youtube.



¿Quiénes somos?

Somos un grupo de alumnos y de profesores de un colegio concertado y mixto del Barrio de Lucero- Distrito La Latina, en Madrid. Somos un colegio pequeño, “L1”, lo cual nos acerca al alumnado y a sus familias. Nuestro Colegio se llama Colegio San José Lucero.

¿Por qué participamos?

Queremos mejorar el colegio, el reto nos incentivó a re-acondicionar nuestros ordenadores, reinstalar sistemas operativos, comprar pantallas, ordenadores nuevos, routers, aprender de redes, de software libre (GNU/Linux), inscribirnos a cursos de Bitbloq, Appinventor, Diseño e Impresión 3D, MAX 9.0.

¿Cómo estamos trabajando?

Estamos trabajando en forma cooperativa, desde 1 a 4 de la ESO. Hemos reciclado equipos viejos. Estamos probando un aula piloto en 4 de ESO con un ordenador para cada grupo de trabajo. Los alumnos y profesores han pintado las clases, instalado la red eléctrica, la red wifi. Nuestra sala de informática la hemos mejorado, estamos usando Raspberry Pi como ordenadores de bajo consumo. Nos equivocamos todos los días, pero buscamos solucionar el problema. Ha sido agotador, pero muy enriquecedor. El reto es, con pocos recursos económicos llegar a alcanzar la meta. Creemos que participar ha sido un triunfo, no somos conformistas y seguiremos adelante. Nuestro colegio ha cambiado para bien.

Problema

Cómo generar un movimiento parabólico para ser estudiado en las clases de matemáticas con los alumnos. Empleando el diseño 3D, la robótica y un smartphone.

Objetivo principal

Construir un sistema de lanzamiento confiable para generar un tiro parabólico constante para determinar la ecuación de la función cuadrática que describe el movimiento.

Metodología

1) Construcción de una catapulta tipo trebuchet modificada

Materiales
  • Listones de madera (10*10*225)mm 
  • Tornillos de rosca continua 4 mm
  • tuercas 4 mm
  • Arandelas planas de 4mm
  • Arandelas de presión 4 mm
Aparatos
  • Placa Arduino
  • Un servomotor continuo
  • Impresora 3D
  • PC con sistema Linux
  • Raspberry Pi con sistema Raspbian
  • Móvil con sistema Android
Software
  • Bitbloq Connect (para programar el móvil)
  • OpenScad (diseño de las piezas 3D)
  • BitBloq (para programar la placa Arduino)
  • Zetup (para laminar los archivos 3D "STL" en "gcode" para ser usados por la impresora 3D.
  • Sistema Ubuntu 17.10 (para el PC)

Objetivos
  • Construir una catapulta para generar lanzamientos constantes
  • Programar la placa Arduino para mover un servo durante el disparo
  • Disparar el sistema de forma manual y a través de un smartphone

La catapulta

Extraído de Tecnosalva
Dimensiones de las partes de la catapulta

A = Longitud total del brazo lanzador
B =A*4/5
C=1/5 A
D=3/4 B

La masa W (Contrapeso), debe de ser 100 veces mayor que el peso WP, del proyectil a lanzar.
Además el ángulo del brazo lanzador “amartillado” debe de ser de 45°.

Cálculos en LibreOfficeCal
Nosotros hemos optado por construir  la de A=50 cm



2) Determinación de la masa de las canicas utilizadas dentro del contrapeso

Materiales
  • 139 canicas
  • balanza de cocina con apreciación +- 1 g
Se tomaron 8 muestras, siete con 10 canicas y una con todas las canicas, según el siguiente cuadro. La idea era masar muchas juntas para obtener una media de sus masas con mayor exactitud, ya que nuestra balanza tiene una apreciación muy grande.

Por lo que la masa promedio de la canica es de 5,24 g

Piezas diseñadas en 3D para la catapulta
Nos hemos basado en Obijuan.

Para el diseño de estas piezas hemos utilizado el programa 3D OpenScad sobre un PC con el Sistema Operativo Linux

Sujetadores del contrapeso en la catapulta
Código
/*
Sujetadores de contrapeso para la catapulta
Prof. Carlos M. Ávalos
Proyecto Retotech Fundación Endesa.
Ejecución: Carla Abad, David Villarejo, Assem Suliman*/

//-------- Parámetros de la pieza
r1 = 5; //-- Radio cilindro 1
r2 = 8; //-- Radio cilindro 2
gro = 4; //-- Grosor de la pieza
d =50; //-- Distancia entre los centros de los cilindros de la pieza

difference(){
hull() {
/*Crear el objeto convexo mínimo que contiene los dos cilindros*/
  //-- Cilindro 1 de la pieza
  translate([-d/2, 0, 0])
    cylinder(r = r1, h = gro, center = true, $fn = 50);
   
  //-- Cilindro 2
  translate([d/2, 0, 0])
    cylinder(r = r2, h = gro, center = true, $fn = 50);
}


//taladros
//-------- Parámetros de los taladros
r_tal=2.2;
h_tal= 2*gro;

union(){
//taladro 1
    translate([-d/2, 0, 0])
        cylinder(r = r_tal, h = h_tal, center = true, $fn = 50);

//taladro 2
    translate([d/2, 0, 0])
        cylinder(r = r_tal, h = h_tal, center = true, $fn = 50);
}
}
Sistema para sujetar la bola en la catapulta con ángulo variable
Código  

/*
Pieza para sujetar la pelota de ping pong en la catapulta
permite variar el angulo.
Prof. Carlos M. Ávalos
Proyecto Retotech Fundación Endesa.
Ejecución: Carla Abad, David Villarejo, Assem Suliman*/

difference(){//(base pelota y anclaje) - (pelota y taladro)
union(){//base y anclaje
    //base de la pelota
        lad_cubo= 40;
            translate([-20,-20,0])
                cube([lad_cubo,lad_cubo,lad_cubo/4]);
    //anclaje base de la pelota a el brazo
        translate([-2,-40,0])
            cube([4,20,10]);
    }

union(){//union pelota y taladro en el anclaje 
   
    //pelota
    dia_pel=37;
        translate([0,0,20])
            sphere(d=dia_pel, $fn=100);
    //taladro 1 en el anclaje
    translate([-3,-35,5])
        rotate([0,90,0])
            cylinder(h = 6, r=2.2, $fn=20);
}
}

// Pieza que sujeta la base al brazo de la palanca
difference(){//(base pelota y anclaje) - (pelota y taladro)

//sujeción al brazo
translate([-6,-130,0])
cube([12,80,10]);

union(){
//anclaje base de la pelota a el brazo
        translate([-3,-68,-1])
            cube([6,20,12]);

//taladro 2
        translate([-8,-55,5])
            rotate([0,90,0])
                cylinder(h = 16, r=2.2, $fn=20); 
//taladro 3
translate([0,-80,-3])
cylinder(h = 16, r=2.2, $fn=20); 

//taladro 4
translate([0,-120,-3])
cylinder(h = 16, r=2.2, $fn=20);

//taladro 5 (punto para atar)
translate([-8,-100,5])
rotate([0,90,0])
cylinder(h = 16, r=2.2, $fn=20);  
}
}
 
Sistema de disparo de la catapulta
Código

/*
Sistema de disparo de la catapulta
Prof. Carlos M. Ávalos
Proyecto Retotech Fundación Endesa.
Ejecución: Carla Abad, David Villarejo, Assem Suliman*/

difference() {

union() {
//base del pasador
    translate([0,0,8])
        color("pink")
            cube([10,10,15],center=true);
  
//sujetador
    translate([0,0,0])
        cube([30,10,3], center=true);
}

union() {
//estructuras a retirar

//taladro 1
    color("red")
        translate([11,0,-6])
            cylinder(d=4.5,h=12,$fn=150);

//taladro 2
    color("blue")
        translate([-10,0,-6])
            cylinder(d=4.5,h=12,$fn=150);

//pasador
color("yellow")
    translate([0,0,12])
        rotate([0,90,0])
            cylinder (d=2.5, h=35, $fn=150, center=true);

//hendidura de la base del pasador
    translate([0,0,13])
        color("green")
            cube([5,10,8],center=true);
}
}


El servomotor

¿Qué es un servomotor?
Un servomotor o “servo” es un motor electrónico de baja inercia al que se le puede controlar tanto la velocidad de giro como la posición dentro de su rango de operación.
El cuerpo de los servo motores está formado por un motor eléctrico, una caja reductora con engranajes y un circuito electrónico de control. Los servos motores son comúnmente utilizados en modelismo para controlar los sistemas de dirección, por ejemplo el timón de un barco o los alerones de un avión.
Los servos usan la modulación por ancho de pulsos (PWM) para controlar la posición del motor eléctrico."1

La desventaja es que consumen más energía que un servo motor analógico, por lo que se recomienda suministrarles  energía por un circuito alterno para no dañar la placa micro-controladora. Son muy usados en robótica. Mirar servomotores en la webgrafia.


 

Problemas de comunicación del software bitbloq con la placa BT-328

Descripción del error: "Failed to connect to the port"

Se resolvió utilizando Linux Ubuntu 18.04 LTS , Google Chrome  y la extensión bitbloq. Para que funcione correctamente debes tener permisos administrativos en el ordenador.


Sistema liberación del brazo de la catapulta para lanzar la bola (sistema manual), versión 1.

Materiales y aparatos
  • Un servomotor (rotación de 0-180 grados)
  • Dos diodos leds luz (verde y azul)
  • Un zumbador
  • Un botón pulsador
  • Una placa BT-328  "Arduino de BQ"
  • Cable USB a mini USB (datos y alimentación)
  • Batería de 5VCC (alimentación)
  • Un alambre para ser usado como pasador,  doblado en forma de alcayata circular, con la ayuda de un alicate
  • Smartphone con sistema Android 
  • Cuenta en Google 
  • Ordenador con acceso a internet

Software utilizado


Hemos programado en lenguaje Arduino, pero usando la interfase Bitbloq de BQ, para facilitar a la hora de escribirlo. Lo hemos realizado en el modo ON LINE. Para ello se hizo necesario tener una cuenta en Google.

Nuestros primeros intentos.


Código Arduino para programar la placa ZUM BT-328


/***   Included libraries  ***/
#include <Servo.h>


/***   Global variables and function definition  ***/
const int boton = 3;
const int led_disparo = 7;
const int zumbador = 10;
Servo servo;
const int led_sistema_listo = 6;




/***   Setup  ***/void setup(){
pinMode(boton, INPUT);
pinMode(led_disparo, OUTPUT);
pinMode(zumbador, OUTPUT);
servo.attach(13);
pinMode(led_sistema_listo, OUTPUT);

digitalWrite(led_sistema_listo,HIGH);
tone(zumbador,261,500);
delay(500);
servo.write(0);
digitalWrite(led_sistema_listo,LOW);
}


/***   Loop  ***/void loop(){if(digitalRead(boton) == 1){digitalWrite(led_sistema_listo,HIGH);
tone(zumbador,261,333);
delay(333);
tone(zumbador,293,333);
delay(333);
tone(zumbador,329,333);
delay(333);
digitalWrite(led_disparo,HIGH);
servo.write(180);
delay(3000);
digitalWrite(led_sistema_listo,LOW);
digitalWrite(led_disparo,LOW);
}
else {servo.write(0);
digitalWrite(led_sistema_listo,HIGH);
delay(500);
digitalWrite(led_sistema_listo,LOW);
delay(1000);
}
}

Código Bitbloq


Sistema liberación del brazo de la catapulta para lanzar la bola (sistema manual y a control remoto usando el smartphone), versión 3.

Logo Bitbloq Connect de BQ
Hemos mejorado la programación del sistema, ahora se puede activar en forma manual y remota.
Manual  pulsando un botón y remoto desde el móvil con un comando. Podemos escribir un comando o grabar el comando con voz, esto es posible si utilizamos un software llamado Bitbloq Connect.
Esta aplicación "App" está disponible para móviles con sistema Android.
"... ahora con la aplicación de Bitbloq Connect podrás utilizar los sensores y actuadores de tu smartphone como si estuvieran conectados a tu placa BQZum o Arduino." En nuestro caso solo queríamos enviar comandos, pero las otras opciones resultan muy interesantes para futuros proyectos.

Esto permitirá accionar el sistema de manera redundante.

Interface principal de Bitbloq Connect

Para poder usar Bitbloq Connect, es necesario encender el bluetooth del smartphone y tener agregado el componente dispositivo Bluetooth como muestra la siguiente ilustración, en el código Arduino.

Esquema de conexión del hardware y el componente bluetooth para poder conectarlo a un smartphone




Cambio del PIN y nombre de la placa  ZUM Bt-328, en el bluetooth

Hemos cambiado el nombre de la placa BT-328 "Arduino" y su pin para evitar problemas a la hora de participar en el festival Retotech_Endesa, ya que podrían tener el mismo nombre más de una placa.




Pasos 

  • Mover en la placa BT-328 los pines 1, 2 y 3 del módulo bluetooth en "on" 
pin 1 enciende o apaga el bluetooth
pines 2 y 3 se usan para configurar la placa arduino, para ello deberán estar en on

  • Abrir bitbloq y crear un programa conectando en la placa dos botones en los pines 0 y 1, para obligar a la placa tener en input los pines 0 y 1




 En la pestaña de programación tipo código veras el cambio, se hacen los pines 1 y 2 de entrada "input".

Código
/***   Included libraries  ***/


/***   Global variables and function definition  ***/
const int boton_1 = 1;
const int boton_2 = 0;




/***   Setup  ***/void setup(){
pinMode(boton_1, INPUT);
pinMode(boton_2, INPUT);

}


/***   Loop  ***/void loop(){}


  • Abrir el programa Arduino y configurar en las herramientas el tipo de placa
Placa BT
Procesador: ATMega328P
Puerto /dev/ttyUSB0 (variará según el puerto usb que conectes en el pc)





Colocar desplazamiento automático "autoscroll"
velocidad en19600 baud,
Retorno de carro


  • Abrimos Con los comandos AT cambiar el nombre de la placa ZUM BT-328, para ello abrimos en herramientas "Monitor serie" y escribimos los comandos AT


AT  (nos da información de la placa)
AT+NAME= comotuquieras (Se llamará comotuquieras)

  • Cambiar el pin de la clave, usamos el comando AT+HELP,  vimos que para cambiar el pin de la clave de la placa ZUM BT-328 simplemente escribimos en la consola. 
AT+PIN=loquetuquieras


  • Recordar colocar los pines en su antigua posición. Cambiar en la placa física en el módulo de bluetooth los pines 2 y 3 a off.
Grabación de algunos lanzamientos




Vídeo a diferentes velocidades
Es increíble la cantidad de detalles que podemos apreciar en la cámara a velocidad lenta.




Captura de fotogramas a partir del vídeo y edición en un sola foto con Gimp para ver la trayectoria de la bola



Fotogramas ensamblados "Layers" obtenidos a partir de un vídeo utilizando GIMP



Utilización del software Geogebra para determinar la función cuadrática

Obtención de la función cuadrática con la ayuda de Geogebra



Cartel de Exposición



Tríptico a entregar a los asistentes

Imágenes libres de derecho para que las puedas utilizar.

Freeimages.com
Foter.com
Picography.co
Magdeleine.co
Unsplash.comStokpic.com
Pixabay.com
Pexels.com
Morguefile.com
Picjumbo.com
Skitterphoto.com
Gratisography.com
Splitshire.com
Stocksnap.io



Participantes del Concurso Retotech Fundacion_Endesa

Profesores asistentes:
Estrella del Peral
Carlos Ávalos

Alumnos asistentes:
  1. Piñero Pérez, Victoria (1 ESO)
  2. Abad Carla (2 ESO)
  3. Caballero Santiago (2 ESO)
  4. Suliman Assem (2 ESO)
  5. Alba Pablo (3 ESO)
  6. Alonso Daniel (3 ESO)
  7. Camara Basari (3 ESO)
  8. Makhoukhi Omar  (3 ESO)
  9. Escanio Edwin (4 ESO)
  10. Matamoros David (4 ESO)

Alumnos suplentes:
  1. Tomás Benitez (1 ESO)
  2. Andrea Roa (1 ESO)
  3. Leudi del Orbe (1 ESO)
  4. Andres Chavez (1 ESO)
  5. Pablo Flores (3 ESO)
  6. Luz Mary González (3 ESO)
  7. Rocío Arjona ( 4 ESO)
  8. Roció Rodríguez (4 ESO)
  9. Jatna Paula (4 ESO)
  10. Luis Galván (4 ESO)
Autores del RAP "Rapulta el RAP de la catapulta"
  1. Isaac Oviedo "Ciborg"
  2. Iván La Peña "Brutus"

Para investigar a futuro y su relación con física (Por investigar)
Gráfica del Movimiento Parabólico
Tomado de: https://www.fisicalab.com/apartado/movimiento-parabolico#contenidos





webgrafía:


Comentarios

Entradas populares de este blog

Aceptación de nuestra candidatura en Retotech_Fundación_Endesa

Cambiar el nombre y clave en el bluetooth de la placa Arduino ZUM BT-328 de BQ