domingo, 10 de abril de 2016

#Tarea Prácticas #Arduino #3ESO #Tecnoprograbótica #Sparkfun #Video.


Se acerca la hora de la verdad, de hacer cosas más serias, en las que el mundo digital y el mundo físico se toquen. ¿Controlar leds reales desde un ordenador a través de un programa? Pues sí, de eso se trata.
Por fin tenemos los materiales de robótica en nuestro centro, y los chicos podrán realizar su aprendizaje con Arduino. En este nuestro primer año con la Robótica "a gran escala" (para todos los alumnos), hemos optado, de momento, por un aprendizaje progresivo; si quieres, hasta un poco conservador, ya que hemos comprado unos kits de prácticas comerciales.
Previamente, veremos en nuestro texto, y lo convertiremos en mapas mentales o conceptuales, o infografías (los chicos eligen), toda la parte de introducción a la robótica, respecto a tipos de robots (según su morfología, tipos de articulaciones, movimiento...), un poco de historia de las generaciones de los mismos, su estructura (actuadores-sensores y sus tipos, herramientas, fuentes de alimentación), sistemas de control  de lazo abierto o cerrado.
Respecto a las prácticas, los alumnos aprenderán al ritmo que ellos elijan. Tenemos para todos los gustos. Por tríos. Unos, de manera muy guiada, realizando poco a poco y con toda la documentación necesaria las prácticas del Starter Kit SparkFun 3.2 (tranquilos, que no cunda el pánico, que hay un manual en castellano). Tienen a su disposición hasta el código Arduino de las prácticas a ejecutar, con el que les propondré "jugar" para ampliarlo y mejorarlo. Realizarán prácticas con leds convencionales, led RGB, botones, fotoresistores, sensores de temperatura, servos, sensores flexibles, timbres piezoeléctricos, relés, motores DC, convertidores serie-paralelo y display LCD.

Tarea:

Agrupación: en tríos de alumnos/as
Tareas a realizar:
  • Realización de mapas conceptuales (CmapTools), mentales (Text2mindmap, Goconqr, Mind42...) o presentaciones e infografías (Prezi, emaze, visual.ly, genial.ly, Picktochart...de los apartados 1(Introducción a máquinas automáticas y robots), 2(Arquitectura de un robot), 3 (Elementos mecánicos y eléctricos), 4 (Elementos de detección del entorno) y 5(Sistemas de control)
  • Realización de las 14 prácticas de Sparkfun. (con IDE's de Arduino, Visualino, Bitbloq, Stratch for Arduino). Se tendrá en cuenta y se valorará muy positivamente aquellas prácticas que amplíen, mejoren o combinen las prácticas establecidas, y sean convenientemente explicadas. 
  • Realización de al menos 3 esquemas de conexión con Fritzing.
  • Blog con Blogger o Web con Wix.com. A modo de diario de trabajo o diario de prácticas. Incorporando texto, imágenes de las prácticas, vídeos tomados para explicar, programas, esquemas de conexión, mapas conceptuales o presentaciones. Incluyendo también los aprendizajes conseguidos, y los frustrados, la evolución del mismo. Eso incluye también la parte de análisis de lo realizado, la motivación alcanzada... Esto es, la autoevaluación según las pautas ya marcadas varias veces en este otro artículo del blog (Diarios reflexivos y metacognición
  • Opcional. Prácticas avanzadas: Determinados alumnos ya han estado realizando sus prácticas durante la Semana Santa, al haber mostrado interés previo por estos contenidos y por el uso de Arduino. Tendrán libertad para trabajar los contenidos como ellos quieran. Aprendizaje gaseoso. Combinando el proyecto con una impresora 3D que nos han prestado, usando otros kits de mi propiedad, robot coche de Parallax, Makey-Makey
Proceso de trabajo:
  • Es necesario cuidar el material, cuyo coste ha sido elevado, y debe servir para ser utilizado en cursos posteriores por otros alumnos. Cada grupo será responsable de que el material no se pierda ni estropee. Confío plenamente en ellos.
  • Se deben seguir las pautas que el profesor vaya marcando al respecto. 
  • Los alumnos deberán ser capaces de instalar el Software Arduino, o el que necesiten (Fritzing, por ejemplo), en los equipos portátiles del aula, que intencionadamente no disponen todavía de dicho software, para poder entrenar también la competencia digital.
  • Se seguirán los tutoriales para realizar las prácticas, tanto en papel, para visualizar mejor los esquemas de conexión, como digitales (en inglés o castellano).
  • Se podrán realizar grabaciones  de vídeo y fotografías con teléfono móvil, siempre respetando las normas de uso de teléfonos móviles del centro, con intención didáctica, y solamente en los tiempos establecidos. Cualquier otro uso supondrá la retirada de los mismos.
  • Se ilustrarán las prácticas y toda la toma de información, así como las reflexiones sobre el trabajo en un blog por grupo.
  • Insisto: Se tendrá en cuenta y se valorará aquellas prácticas que amplíen, mejoren o combinen las prácticas establecidas, y sean explicadas de manera convincente y creativa. 

Período de trabajo y plazo de entrega:

Los mapas mentales y conceptuales deben haber sido trabajados entre los días 11 y 22 de abril.
Del 25 al 29 de abril deben quedar instalado el software necesario, y haber hecho el primer diseño del blog y los primeros artículos de presentación en el mismo. Abrirán sus kits Sparkfun, prepararán el entorno de trabajo (reconocimiento del material) y comprobarán su conectividad con los ordenadores.
Disponen hasta el 26 de mayo para terminar todo el trabajo, cuya parte práctica debe ser realizada íntegramente en nuestro aula de informática.

Criterios de evaluación:

Blog: Primeros pasos para la creación del blog, implicación en su desarrollo y diseño, aspecto visual, redacción y ortografía, organización de contenidos, calidad de contenidos.
Mapas mentales, conceptuales e infografías: Translación al blog de la transformación de los contenidos del libro a infografías y mapas mentales o conceptuales. Claridad de conceptos y asociaciones en los mapas, organización del espacio en los mapas. Uso de colores e imágenes adecuadas.
Actitud en aula de robótica: Trabajo y comportamiento individual. Cuidado del material. Implicación en la tarea y grado de colaboración en el grupo. Uso del tiempo.
Prácticas Arduino: Diligencia y grado de avance en la tarea. Riesgos tomados para mejorar las prácticas respecto a las propuestas en el kit. Procedimientos seguidos. Manejo del ecosistema Hardware-Software entre Arduino-Placa controladora-Placa Protoboard.
Evaluación oral robótica: Manejo de Arduino y comprensión del entorno de trabajo. Expresión oral de los conocimientos adquiridos. Análisis de funcionamiento, comprensión y montaje de esquemas eléctricos y electrónicos. Identificación de componentes y de entradas y salidas analógicas y digitales en el sistema.
El Blog como diario de trabajo: Mostrar adecuadamente el proceso de trabajo seguido, incluyendo los esquemas Fritzing, fotos y vídeos, explicación de las prácticas. Reflexión y metacognición de los aprendizajes.

Mis prácticas:

Yo he estado haciendo mis pruebas con los cacharrillos:


A ver qué son capaces de hacer los chicos.
Pero algunos alumnos irán un poco más allá. Ya estas vacaciones les he propuesto a varios de ellos que se lleven los kits a casa para ir aprendiendo, y a la vuelta de vacaciones les propondremos otros retos (¿control de ascensores, casas domóticas, estudio de otros sensores, control de vehículos, scratch4Arduino, placas Makey-Makey?).
En el siguiente enlace muestro también ejemplos abiertos de proyectos realizados por profesores de la Comunidad de Madrid el curso pasado, y un buen montón de enlaces a recursos para aprender mucho más.
A continuación os muestro una práctica posible, la que preparé yo el curso pasado.

Control de leds mediante placa microcontroladora, relé y potenciómetro




Descripción:
El proyecto consiste en la implementación por parte de los alumnos/as de un circuito electrónico con diferentes componentes (leds, relés, potenciómetros, diodos, resistencias, transistores) en el que se pueda controlar diferentes secuencias y temporización del encendido y apagado de diodos led. El alumnado deberá idear los circuitos, montarlos sobre placa Protoboard y microcontrolador Arduino, y programar las funciones necesarias para controlar diversos efectos sobre los diodos con el software de desarrollo adecuado (IDE de Arduino y/o Scratch for Arduino).
Los alumnos trabajarán por parejas y deberán aprender por descubrimiento, con las pautas y guía del profesor/a, que tomará el rol de acompañante en el proceso de trabajo.
Deberán documentar el trabajo realizado en un portfolio-blog, en el que expondrán su proceso de trabajo, lo que saben, lo que desconocen y lo que desean aprender, sus investigaciones en webs y foros sobre el conocimiento de los componentes sobre los que trabajar (sensores, actuadores, placas de control), su experiencia de aprendizaje, el producto resultante (diseño del circuito con Fritzing, fotos de los elementos y del montaje, vídeo y explicación de funcionamiento, código programado con IDE de Arduino).
Autoevaluarán y coevaluarán su trabajo a través de una rúbrica de evaluación, mediante un formulario de Google Docs.
Los alumnos deben al menos, realizar la programación informática necesaria para implementar el control del encendido y apagado de una colección de ledes, usando:
  1. Control encendido/apagado alternativo de dos leds a través de un relé, por medio de circuito con transistor, diodo de extinción de corriente, resistencias limitadoras de intensidad...
  2. Control de la velocidad de encendido y apagado de al menos 3 leds usando como sensor el nivel de tensión del cursor de un potenciómetro. 
  3. Elaboración de diferentes secuencias de encendido y apagado de una fila de al menos 6 diodos. Utilizando funciones como parte del código de programación (al menos tres secuencias).
Por supuesto, el alumnado está invitado a mejorar el proyecto con respecto a la tarea que se les propone.
Los alumnos que realicen los mejores proyectos explicarán su experiencia oralmente a alumnos de cursos inmediatamente inferiores, para fomentar entre sus compañeros la afición por la programación y la sensación de que es posible realizar prácticas atractivas con la motivación adecuada.
En una unidad didáctica posterior se podrán incorporar otros elementos electrónicos como sensores de humedad, luz, presencia, temperatura, motores paso a paso o servos, pantallas LCD o matrices de ledes, etc. Y la conexión alámbrica o inalámbrica entre diferentes elementos como pueda ser un teléfono móvil, un Shield Ethernet, un Shield BlueTooth, GSM…
Vídeo demostrativo:


Esquema de funcionamiento:


Código de programación para Arduino: (comentado para una mejor comprensión)
Fichero Arduino disponible en el enlace  curso_CAMCode_fjmontero.ino
/*
Este es un programa diseñado para el taller presencial del Curso de Robótica 
Educativa -CAM_CODE- por Francisco Jesús Montero
Conectaremos diferentes dispositivos y realizaremos secuencias repetidas del código a
ejecutar a través del uso de funciones.
Ejecutaremos diferentes funciones asociadas a una secuencia de 6 ledes.
Ejecutaremos también una secuencia de encendido apagado de ledes a través de un relé.
Y controlaremos la velocidad de encendido y apagado de una secuencia de tres ledes 
a través de la tensión de un potenciómetro
*/
// Definimos variables 
int tiempo1=200; // Control de tiempos de retraso para encendidos y apagados
int tiempo2=500; // tiempo1 es tiempo breve, y tiempo2 más prolongado. 
//Se pueden variar a gusto del usuario.
int n;
int m;
// índices para administrar secuencias 
int sensorPin = 0; // Conectamos el pin central del potenciómetro -circuito de relé- al 
//pin analógico A0
int sensorValor; //Definimos como entero el valor del sensor, y le asignaremos 
//la lectura analógica del pin A0
void setup() { 
//comienza la configuracion, definimos los modos de trabajo de los pines de los 
//led como salidas

for (n=5;n<14;n++) //definimos los pines para leds 5 a 13
{
pinMode (n, OUTPUT);
pinMode (2, OUTPUT);// Pin 2 para conectar la base del transistor en el circuito de relé
digitalWrite (n, LOW); //apagamos todos los ledes alimentados directamente por Arduino 
//antes de empezar
}
}

// Definimos las diferentes funciones a ejecutar:secuencia1(), secuencia2()... rele(), 
//potenciometro()
void secuencia1() {   //encendido y apagado consecutivo y secuencial.
for (n=5;n<11;n++) {
digitalWrite (n, HIGH);
delay (tiempo1);
digitalWrite (n, LOW);
delay (tiempo1);
}
}
void secuencia2() { //encendido y apagado por parejas, con tiempos diferentes 
//de encendido y apagado
digitalWrite (5,HIGH);
digitalWrite (6,HIGH);
delay (tiempo2);
digitalWrite (7,HIGH);
digitalWrite (8,HIGH);
delay (tiempo2);
digitalWrite (9,HIGH);
digitalWrite (10,HIGH);
delay (tiempo2);
digitalWrite (5,LOW);
digitalWrite(6,LOW);
//delay (tiempo1);
digitalWrite (7,LOW);
digitalWrite(8,LOW);
//delay (tiempo1);
digitalWrite (9,LOW);
digitalWrite(10,LOW);
delay (tiempo2);
}
void secuencia3()  //encendido y apagado de led aleatorio durante tiempo aleatorio
{
  int pinaleatorio;
  
  int retraso;
 
  pinaleatorio = random(5,10); // Toma un número aleatorio entre 5 y 10, los pines.
  retraso =random(100,500); // toma número aleatorio para el retraso entre 100 y 500
  digitalWrite(pinaleatorio, HIGH);  // enciende LED aleatorio
  delay(retraso);              // pausa hasta apagar
  digitalWrite(pinaleatorio, LOW);   // apaga el mismo LED 
}
void secuencia4() { //secuencia coche fantástico. Enciende uno a uno todos los ledes
for (n=5;n<11;n++) {
digitalWrite (n, HIGH);
delay (tiempo1);
}
//Apaga todos los ledes en secuencia inversa.
for (n=10;n>4;n--) {
digitalWrite (n, LOW);
delay (tiempo1);
}
}
void secuencia5() { // encendido y apagado rápido ledes alternos.
digitalWrite (5,HIGH);
digitalWrite (6,LOW);
digitalWrite (7,HIGH);
digitalWrite (8,LOW);
digitalWrite (9,HIGH);
digitalWrite (10,LOW);
delay (tiempo2);
digitalWrite (5,LOW);
digitalWrite(6,HIGH);
digitalWrite (7,LOW);
digitalWrite(8,HIGH);
digitalWrite (9,LOW);
digitalWrite(10,HIGH);
delay (tiempo2);
}
void rele() { // Un relé conmuta para encender y apagar consecutivamente dos 
// ledes conectados a sus contactos NA y NC utilizando el contacto común 
//para limitar la corriente a través de una resistencia.
digitalWrite(2, HIGH);  // conecta el interruptor del relé
  
  delay(tiempo2);              // esperamos tiempo2
  
digitalWrite(2, LOW);   // conmuta el relé a su posición de reposo
  
  delay(tiempo2);              // esperamos tiempo2
}
void potenciometro() { 
//la tensión del cursor de un potenciómetro controla el tiempo de encendido 
//y apagado de una serie de 3 diodos
  sensorValor = analogRead(sensorPin); // La tensión entre 0V y 5V se convierte en 
//un valor entero entre 0 y 1023 ms en nuestra función
  digitalWrite(11, HIGH); 
// Encendemos los diodos de manera consecutiva
// Añadimos un retraso en milisegundos del valor dado por la tensión del potenciómetro
  delay(sensorValor);         
// Repetimos los mismos pasos para los otros dos leds, 
//retrasando el encendido 100ms más en cada uno                         
  digitalWrite(12, HIGH); 
  delay(sensorValor+100);
  digitalWrite(13, HIGH); 
  delay(sensorValor+200);
// Apagamos los leds en el mismo orden y aplicando los mismos retrasos         
  digitalWrite(11, LOW);   
  delay(sensorValor);     
  digitalWrite(12, LOW);   
  delay(sensorValor+100);         
   digitalWrite(13, LOW);   
  delay(sensorValor+200);                   
}

void loop() {
// La repetición (Loop) se realiza continuamente, sin fin.
// repetiremos todas las funciones un número determinado de veces para 
//que se pueda apreciar el funcionamiento.
for(m=1;m<6;m++) {
secuencia1(); // Encendido y apagado consecutivo
}
for(m=1;m<6;m++) {
secuencia2(); // Encendido y apagado por parejas
}
for(m=1;m<11;m++) {
secuencia3(); // encendido y apagado de Led aleatorio durante un tiempo aleatorio
}
for(m=1;m<6;m++) {
secuencia4(); // Que voy que vengo, coche fantástico
}
for(m=1;m<6;m++) {
secuencia5(); // Pares e impares
}
for(m=1;m<21;m++) {
rele(); // Circuito de conmutación entre ledes a través de un relé 
//temporizado, explicado en mi blog 
//http://tecnomapas.blogspot.com.es/2015/03/practicando-con-reles-y-arduinouno-otra.html
}
for(m=1;m<16;m++) {
potenciometro(); 
/* mediante la lectura del cursor de un un potenciómetro 
controlamos el tiempo de encendido y apagado de tres leds, desarrollado 
en http://tecnomapas.blogspot.com.es/2014/04/aprendiendo-arduino-preparando-el.html */
}
}

Objetivos:
  1. Promover la capacidad de los alumnos para regular su propio aprendizaje con autonomía, confiando en sus aptitudes y conocimientos, así como para desarrollar la creatividad, la iniciativa personal, el espíritu emprendedor y la constancia ante las dificultades.
  2. Estimular en el alumnado el desarrollo de competencias básicas, fomentando la correcta expresión oral y escrita y el uso de las matemáticas.
  3. Educar en la responsabilidad individual y en el mérito y esfuerzo personal.
  4. Planificar procesos de trabajo mediante la elaboración de un plan, reparto de tareas y distribución temporal de las mismas.
  5. Conocer qué son los sistemas de control y los operadores que los forman, valorando la importancia de la automatización en la sociedad actual.
  6. Utilizar el dibujo como medio de síntesis, expresión y comunicación de ideas.
  7. Trabajar en grupo y desarrollar habilidades para las relaciones humanas que favorezcan la discusión de ideas, la gestión de conflictos y la toma de decisiones bajo una actitud de respeto y tolerancia.
  8. Comunicar informaciones de forma escrita con la ayuda de: dibujos, tecnologías multimedia, maquetas, etc. 
  9. Fomentar en el alumnado el uso del lenguaje oral, preparándoles para hablar en público ante sus compañeros, como método para comunicarse de forma eficaz, perder el miedo a la coevaluación y ensayo de técnicas para realizar críticas constructivas.
  10. Identificar los distintos componentes electrónicos. Comprender las funciones de los componentes electrónicos (sensores, actuadores) disponibles para interactuar de manera sencilla con el mundo físico.
  11. Utilizar Internet para localizar información en diversos tipos y soportes de interés para resol¬ver tareas de búsqueda de diferentes áreas de conocimiento y experiencia.
  12. Ofrecer al alumnado la posibilidad de convertirse en creadores y difusores de conocimiento a través de diversas herramientas de la Web 2.0. Saber diseñar o blog.
Contenidos:
  • Formulación de un proyecto Tecnológico. Identificación del problema, análisis de su naturaleza.
  • Innovación y Creatividad para la búsqueda de soluciones tecnológicas.
  • Diseño y representación gráfica de los elementos de un proyecto tecnológico.
  • Documentación de un proyecto para la elaboración de un prototipo tecnológico.
  • Divulgación de la evolución de un proyecto tecnológico a través de la Web.
  • Diseño, montaje y medida de los circuitos electrónicos de un proyecto tecnológico.
  • Programación de los circuitos electrónicos de un proyecto tecnológico. 
  • Documentación de un prototipo desarrollado a través de un proyecto tecnológico. 
Tengo disponibles también las competencias clave  y criterios de evaluación trabajados en dicha unidad didáctica, aunque no las publico aquí, ya que el artículo está resultando demasiado largo.

Si alguien los desea, no tiene más que pedirlo, le paso la unidad didáctica completa. Sigo con mi filosofía "Copyleft" &.


No hay comentarios:

Publicar un comentario

Gracias por tus comentarios!

Blogging tips