viernes, 21 de diciembre de 2018

Mejoramos la interfaz del ejercicio de comunicación Processing Arduino

En esta entrada pongo una mejora de la interfaz de Processing en el ejercicio de comunicación con Arduino. El código en Processing es mas complicado pero creo que se entiende bien.
En este vídeo vemos los resultados.




El código en Arduino sería el mismo


Código en Processing


import processing.serial.*; //importamos la libreria para trabajar con el puerto serie
int n=0;             //almacenaremos el resto de dividir el tiempo entre 4000 para tomar intervalos de 1000 ms
int ultima_parada=0;        // almacenaremos el valor de millis() cada vez que reiniciemos el tiempo (botón ON)
int actual=0;              // almacenamos el valor del tiempo desde cero cada vez que se reinicie (botón ON)
boolean encendido=false;   // encendido=true pone en marcha los ledes. false, los apaga.

Serial mipuerto; 

void setup() {
  size(600, 300);
  background(0);
  mipuerto = new Serial(this, "COM3", 9600);  //inicializamos el puerto
}

void draw() {
  actual=millis()-ultima_parada;  //actual llevará el tiempo desde que se reinicia el encendido de los leds
  botones(); //dibujamos los botones
  n=(actual % 4000); //vamos haciendo fracciones de 1000 ms
  if (encendido) {   // si encendido es true ponemos en marcha los ledes
    if (n<1000) {
      fill(0, 0, 0);              //dibujamos un rectángulo negro que tape los ledes cuando simulemos apagado
      rect(0, 0, width, height-100);
      mipuerto.write('a'); //escribimos una 'a' en el puerto para apagar todos los Ledes
    } else if (n<2000) {
      fill(255, 255, 0);          //dibujamos un circulo amarillo que simule en led amarillo
      ellipse(width/2+150, height/2-80, 100, 100);
      mipuerto.write('1');//escribimos un '1' en el puerto encender el Led amarillo
    } else if (n<3000) {
      fill(0, 255, 0);            //dibujamos un circulo verde que simule en led verde
      ellipse(width/2, height/2-80, 100, 100);
      mipuerto.write('2');//escribimos una '2' en el puerto para encender el Led verde
    } else if (n<4000) {
      fill(255, 0, 0);            //dibujamos un circulo rojo que simule en led rojo
      ellipse(width/2-150, height/2-80, 100, 100);
      mipuerto.write('3');//escribimos una '3' en el puerto para encender el Led rojo
    }
  } else {
    fill(0, 0, 0);
    rect(0, 0, width, height-100);
    mipuerto.write('a');  //escribimos una 'a' en el puerto para apagar todos los Ledes
  }
  }

  void botones() {  //dibujamos los botones de ON y OFF
    textSize(24);
    fill (255, 100, 100);
    rect( 150, 200, 120, 50, 20);
    fill (255, 255, 255);
    text("OFF", 190, 235);
    fill (100, 155, 100);
    rect( 320, 200, 120, 50, 20);
    fill (255, 255, 255);
    text("ON", 360, 235);
  }

  void mousePressed() { //controla el clic del ratón sobre los botones ON y OFF
    if (mouseX > 150 && mouseX < 270 && mouseY > 200 && mouseY < 250) {
      encendido=false;
      fill (255, 300, 300); //cambiamos algo el color del botón para ver que se ha pulsado
      rect( 150, 200, 120, 50, 20);
      fill (255, 255, 255);
      text("OFF", 190, 235);
   
    }
    if (mouseX > 320 && mouseX < 440 && mouseY > 200 && mouseY <250) {
      encendido=true;
      ultima_parada=millis(); //almacenamos el valor del tiempo en el momento de reiniciar para restarlo del actual y poder volver a contar desde el principio
      fill (200, 155, 200);   //cambiamos algo el color del botón para ver que se ha pulsado
      rect( 320, 200, 120, 50, 20);
      fill (255, 255, 255);
      text("ON", 360, 235);
    }
  }

Comunicación Arduino con Processing


Utilizaremos el puerto serie para comunicar Processing con Arduino.  Para ver cómo funciona conectaremos 3 ledes a Arduino y mediante un programa en Processing haremos que se enciendan los ledes de forma secuencial uno tras otro con un segundo de diferencia y luego se apaguen todos a la vez.

Programa de Arduino: En este programas leemos el buffer del puerto según se vaya llenando y dependiendo de si es una 'a', un '1', un '2' o un '3' encendemos el led correspondiente.



int valor='a'; //variable para cargar el buffer del Serial
void setup() {
 pinMode(2,OUTPUT); //declaramos salidas a los tres pines
 pinMode(3,OUTPUT); //donde están conectados los ledes
 pinMode(4,OUTPUT);
 Serial.begin(9600);
}

void loop() {

if (Serial.available()>0){ //Si el puerto tienen algo en el buffer
  
  valor=Serial.read(); //leemos el puerto serie y lo cargamos en valor.

  if (valor=='1'){
            digitalWrite(2,HIGH); //dependiendo de lo que se lea se
           }                                    //enciende un led u otro
  if (valor=='2'){
            digitalWrite(3,HIGH);
           }
  if (valor=='3'){
            digitalWrite(4,HIGH);
           }
  if (valor=='a'){                 // cuando lee 'a' se apagan todos.
           digitalWrite(2,LOW);
           digitalWrite(3,LOW);
           digitalWrite(4,LOW);
         }
}
}

Programa de Processing: Con este programa enviaremos la información al puerto serie para que sea leida por Arduino. Aqui controlaremos los tiempos.

import processing.serial.*; //importamos la librería para trabajar con el puerto serie

int m=0;       //en esta variable almacenaremos el tiempo transcurrido desde el inicio
int n=0;        //en esta variable almacenaremos la secuencia de tiempo en la que cambian los ledes
Serial puerto;   //declaramos una variable de la clase Serial

void setup() {
  puerto = new Serial(this, "COM3", 9600);  //configuramos el puerto de conexión.
}

void draw() {
  
  m=millis();
  n=(m % 4000);   //Vamos dividiendo el tiempo en fracciones de 1 segundo. Como son 4 segundos
                             // nos quedamos con el resto de dividir el tiempo por 4000 ms.
  if (n<1000) {
       puerto.write('a');       //Lanzamos una 'a' para apagar todos los Ledes
       } else if (n<2000) {
                   puerto.write('1');//Lanzamos una 1 para encender el Led amarillo
                   } else if (n<3000) {
                                puerto.write('2');//Lanzamos una 1 para encender el Led verde
                                }else if (n<4000) {
                                              puerto.write('2');//Lanzamos una 1 para encender el Led rojo
                                              }
}

lunes, 10 de diciembre de 2018

Estafas y fraudes en la Red


En esta entrada propongo una posible actividad para alumnos de 4º ESO sobre "Estafas y fraudes en la RED" . Se trata de una actividad para el curso con el mismo nombre del INTEF.




miércoles, 21 de noviembre de 2018

Seguridad en los dispositivos

En esta entrada os pongo mi trabajo para el curso "Tipos de malware, riesgos y protección específica" de INTEF.

Se trata de elaborar una baraja de cartas de los diferentes tipos de malware.
Os muestro 6 cartas realizadas con INKSCAPE. El resto podrían formar parte de una actividad dirigida a alumnos de 3º o 4º ESO. en la que se trabaja tanto la seguridad en los dispositivos como la creatividad utilizando software de dibujo vectorial como Inkscape.







viernes, 9 de noviembre de 2018

Scratch y Kirchhoff

Aprovechando el curso un curso sobre "Scratch, programación por bloques" de ScolarTic os muestro un programa para el cálculo de Intensidades y Voltajes por el método de Kirchhoff en un circuito de corriente continua. El circuito consta de tres resistencias y tres pilas y nos da el valor de las intensidades y voltajes en cada resistencia.



Puedes acceder al código completo pulsando aquí

jueves, 8 de noviembre de 2018

Semáforo de riesgos (Redes y móviles)


En esta infografía trato de hacer un estudio de riesgos asociados a la utilización de dispositivos móviles y redes.

Ciberseguridad de Rafael Gil

domingo, 28 de octubre de 2018

Cómo pasar de SketchUp a Tinkercad

Tinkercad es una herramienta útil y sencilla a la hora de diseñar objetos simples para imprimir posteriormente. Sin embargo hay veces que es complicado diseñar alguna figura si ésta es más compleja. SketchUp es una herramienta más completa y versátil para estos casos. Veamos cómo podemos pasar un documento de SketcUp a Tinkercad fácilmente.

  1. Diseñamos en SketchUp nuestra figura
  2. La guardamos como collada (.dae)
  3. Con el conversor Online de www.greentoken.de subimos el .dae y lo convertimos en .stl o .obj
  4. Lo abrimos con Tinkercad



jueves, 25 de octubre de 2018

Impresión 3D: Flor de Lis

Como reto sobre impresión 3D del curso INTEF "Cultura Maker en el aula" he diseñado una Flor de Lis con TinkerCad. Desupés con el programa Ultimaker Cura he creado el archivo de impresión para una BQ Hephestos2. Por último he imprimido la Flor de Lis.
Os pongo un vídeo que resume estas etapas

miércoles, 24 de octubre de 2018

Reto final "Cultura maker en el aula"

Aquí os dejo un proyecto en el que utilizamos Tinkercad para en el diseño y la construcción manual como actividad principal.


domingo, 21 de octubre de 2018

Robot OTTO: un proyecto interesante

En esta entrada analizaré el proyecto: Otto DIY build your own robot. y propondré un proyecto de aula basándome en él.

Se trata de un proyecto que se puede adaptar fácilmente al aula de Tecnología tanto en la ESO como en Bachillerato. Quizá la etapa más adecuada es 4º ESO y 1º Bachillerato.

Para el análisis y la propuesta utilizo las plantillas facilitada en el curso de INTEF "Cultura Maker en el Aula"



miércoles, 17 de octubre de 2018

Proyectos interesantes

Os presento algunos proyectos que me parecen interesantes y a la vez útiles en el aula de Tecnología.

  • Otto DIY build your own robot
  • SuperGiz
  • Panel Solar Sun Tracker



Otto DIY build your own robot


Áreas con las que tiene relación.

  • Ciencias, Matemáticas, Ingeniería, Tecnología

Tecnología que utiliza.

  • Programación con Arduino, Impresión 3D

Material necesario.
  • Arduino Nano;
  • Arduino Nano Shield I/O Extension Board Expansion XD-212
  • Cable mini usb 
  • Sensor de ultrasonido HC-SR04 
  • Mini servo SG90 9g x4
  • Buzzer 5V 
  • 6 cables de conexión de 10cm
  • Soporte para 4 pilas AA
  • $ pilas AA de 1,5V
  • Destornillador magnetizado
  • Micro Switch 8x8mm
Tipo de licencia del proyecto.


Reconocimiento-CompartirIgual 
CC BY-SA


URL del recurso.
  • https://www.thingiverse.com/thing:1568652


SuperGiz

Áreas con las que tiene relación.

  • Salud, Prótesis, Ingeniería, Tecnología

Tecnología que utiliza.

  • Impresión 3D

Material necesario.
  • Impresora 3D
Tipo de licencia del proyecto.

   
Reconocimiento-NoComercial-CompartirIgual
CC BY-NC-SA


URL del recurso.

  • https://www.thingiverse.com/thing:2390382


Áreas con las que tiene relación.

  • Ciencias, Ingeniería, Tecnología, Medio Ambiente

Tecnología que utiliza.

  • Programación con Arduino

Material necesario.
  • Arduino UNO y Genuino UNO
  • Servo Tower pro MG996R
  • 2 fotorresistores
  • Resistencia de 10k
  • Convertidor de 2.5V a 5V. Conexión USB
  • paneles solares Hobby Size
Tipo de licencia del proyecto.


© GPL3+
GNU General Public License version 3
URL del recurso.

  • https://goo.gl/imLeaj

martes, 16 de octubre de 2018

Repositorios

En esta entrada recojo algunos repositorios útiles en proyectos de impresión 3D, arduino, ...
La información ha sido extraída del curso  "Cultura Maker" de INTEF

Repositorios de impresión 3D:

Repositorio con proyectos de Arduino:
Repositorio de proyectos DIY (Do It Yourself):

domingo, 14 de octubre de 2018

Museo virtual de Mecanismos

Aprovechando el curso "Realidad aumentada y virtual en tu aula" he diseñado esta actividad sobre el tema de mecanismos para los alumnos de 1º ESO de Tecnología.

Objetivo pedagógico:

  • Comprender el funcionamiento de operadores mecánicos responsables de transformar y transmitir movimientos, en máquinas y sistemas.
  • Conocer los mecanismos de movimiento lineal.
  • Conocer los mecanismos de movimiento circular
  • Conocer los mecanismos de transformación de movimiento.
  • Resolver ejercicios sencillos de palancas y poleas
Introducción:
  • Iniciaremos la unidad con el siguiente vídeo de las máquinas de Leonardo Da Vinci:


  • Los alumnos escribirán en su cuaderno algunos mecanismos que identifiquen en su vida cotidiana y trataremos de clasificarlos.

Desarrollo teórico:

Con ayuda del libro iremos clasificando y explicando el funcionamiento de los mecanismos:

  • Mecanismos de transmisión lineal:
    • palancas
    • poleas
    • polipastos
  • Mecanismos de transmisión circular:
    • ruedas de fricción
    • polea-correa
    • cadena -piñón
    • engranajes
  • Mecanismos de transformación de movimiento circular a lineal
    • piñón-cremallera
    • Biela-manivela
    • manivela-torno

Terminaremos con ejercicios sobre palancas (ley de la palanca) y de mecanismos de transmisión circular.

Práctica:

Los alumnos visitarán el Museo Virtual de los Mecanismos como ayuda al repaso de lo visto en clase



Producción:

  • Se propondrá que los alumnos, por parejas, elaboren un museo virtual en el que aparezcan ejemplos de cada uno de los mecanismos vistos. Cada grupo se centrará en un tipo de mecanismos concreto. 
  • También pueden elaborar una imagen 360 de algún taller o espacio en el que se utilicen máquinas y herramientas como las que hemos visto.

Conclusión:

Los alumnos expondrán sus propuestas, las evaluarán remarcando lo positivo de cada una de ellas y propondrán mejoras para posteriores proyectos.

viernes, 12 de octubre de 2018

Proyecto con Arduino: Barrera inteligente

Para trabajar la programación con Arduino os propongo este proyecto. Se trata de la construcción de una barrera de aparcamiento utilizando una LDR  como sensor de presencia.
En un principio la propuesta es utilizando TinkerCad como simulador y mBlock como entorno de programación.
Se podría plantear para alumnos de 3º, 4º ESO o incluso de Bachillerato.
Una vez terminado podríamos completarlo construyendo una maqueta y aplicándolo a la misma.


En esta ventana podemos ver el proyecto más detallado (Para el curso Robótica: Electrónica y mecánica de ScolarTic)

domingo, 7 de octubre de 2018

Iniciación Arduino (ScolarTIC)

Presentación sobre Arduino para el curso Robótica: Electrónica y Mecánica  en la plataforma ScolarTIC


martes, 2 de octubre de 2018

La impresión en 3D



La impresión 3D está llegando a todos los campos. A mi me apasiona pensar en su utilización en el campo de la medicina.

La bioimpresión 3D. alternativa a la escasez de órganos para trasplantes

crean impresora 3D que reproduce órganos humanos para trasplantes

Prótesis para los más desfavorecidos gracias a la impresión 3D.

Me llama la atención que seamos capaces de replicar tejidos vivos. No parece imposible hacer impresión 3D de objetos para múltiples usos, como prótesis, por muy complicados que estos sean. Eso lo podemos entender, pero tejidos vivos ... Sin duda se abre una puerta de esperanza para todos aquellos que necesitan un trasplante y siguen en una lista de espera que no avanza.

Y algo que me parece espectacular es que algo así se pueda hacer desde un colegio.

Los alumnos del Colegio Europeo de Madrid crean una prótesis 3D para una de sus compañera

¡¡Habrá que ponerse manos a la obra ...!!


domingo, 30 de septiembre de 2018

Espacio maker en Salamanca


En Salamanca existe un espacio Maker La Caja MakerSpace Salamanca

Se trata de un grupo de personas que se reúnen todas las semanas desde hace unos 5 años para "jugar" construyendo drones, impresoras 3D, artilugios con Arduino, ... El grupo lo forman profesores, informáticos, electrónicos, ... y todo el aquel que esté motivado por estos temas.

La Caja MakerSpace colabora con asociaciones como FENPS (Fall Early Notice and Position System)

En este vídeo Miguel Ángel  Casanova, uno de sus fundadores, nos cuenta qué hacen


Entrevista a Miguel Ángel Casanova para el Magazine "Salamanca es así" de la 8 - TV Salamanca, el 4 de agosto de 2014 sobre La Caja MakerSpace Salamanca.

sábado, 29 de septiembre de 2018

La cultura Maker en mi clase

Hola a todos.
Comienzo este blog en el que pretendo compartir algunas de las reflexiones, actividades y experiencias en el aula.
Soy profesor de Tecnología y la forma habitual de trabajar en esta asignatura es mediante el método de proyectos.

En un mundo cada vez más tecnológico en el que muchas veces nos conformamos con ver, vivir, construir tras una pantalla, creo que es cada vez más necesario la existencia de la cultura MAKER. Es necesario que todo eso virtual lo pongamos al servicio de lo tangible, que vivamos fuera de la pantalla. Eso es lo que intento en mi asignatura.

Todo comienza con la propuesta de un proyecto a realizar y, desde la necesidad creada (1º etapa en la metodología de proyectos), se va avanzando, estudiando y aprendiendo aquellas cosas que se consideran necesarias (2ª etapa) para resolver el problema. Después comienza la etapa de diseño (3ª etapa), en la que, cada vez más, vamos introduciendo las herramientas informáticas, sin olvidarnos del lápiz y el papel par realizar bocetos, croquis que luego digitalizamos. Una vez planificado el trabajo de construcción (4ª etapa), los alumnos comienzan lo que más les gusta y que cada vez menos pueden hacer en la escuela: CONSTRUIR.  En esta 5ª etapa del proceso es donde realmente se realizan los aportes imaginativos y que pocas veces se parecen al diseño o idea original. Es en esta fase donde realmente aprenden a diseñar, a buscar información, y a replantearse muchas de la etapas anteriores.
Una vez CONSTRUIDO nuestro invento es fácil evaluar el resultado (6ªetapa) y aportar posibles mejoras funcionales, estéticas, ...

Con esta manera de trabajar el alumno va entendiendo que las cosas no están ahí porque sí. Que alguien las construye y que eso implica conocimiento, creatividad, tiempo, energía, reflexiones, ...  Y surge la chispa de por qué no puedo ser yo el que haga cosas que otros utilicen.

Es evidente que antes de llevar a cabo un proyecto hemos de buscar información, diseñarlo, planificar nuestro trabajo,... pero nunca lo haremos bien si no tenemos la experiencia de CONSTRUIR.

Creo, en definitiva que esto es la esencia de la cultura MAKER en un centro educativo.

Ya estamos preparados para el siguiente proyecto.