lunes, 1 de abril de 2019

NORBA STATION 1: captación de energía solar fotovoltaica

Un grupo de alumnos de 4º de ESO están desarrollando un sistema para captar energía solar, almacenarla y posteriormente usarla, el cual debe disponer de un mecanismo que permita orientarse automáticamente para maximizar la obtención de energía. Para la realización del mismo se utilizarán una placa solar policristalina, cuatro fotorresistencias, dos servomotores y una placa arduino de control, así como otros componentes básicos tales como resistencias, cableado, protoboard, pegamento, y materiales reciclados en general. Además, con vistas a probar el rendimiento del sistema, se utilizarán también voltímetros, amperímetros y baterías, entre otros elementos.

Placa solar fotovoltaica
Fotorresistencia
Servomotor
Previa a la creación del sistema, el cual aún no está finalizado, se ha realizado un estudio preliminar de los distintos componentes a utilizar. Para ello se ha empleado, como en otros proyectos, el simulador proporcionado por Tinkercad. Posteriormente se ha dividido el proyecto en tres partes bien diferenciadas:
  1. Sub-sistema motor para el movimiento de la placa solar, el cual consta de dos servomotores que permiten dotar al mismo de dos grados de libertad (giro de 360 grados sobre una superficie horizontal, y giro de unos 170 grados en el plano vertical), y de distintas estructuras conectadas a los mismos capaces de sujetar la placa y moverla de forma eficiente.
    Un primer esbozo de la estructura de este subsistema se ha realizado mediante el software de diseño CAD de Tinkercad.
    Diseño CAD del sistema motor.
    Basándose en ese diseño, posteriormente se ha realizado un primer prototipo del mismo usando materiales reciclados, el cual aún está en fase de revisión y mejora.
    Alumnos 4º ESO con su primer prototipo del sub-sistema motor.
    Sub-sistema motor del captador de energía solar en detalle.
    Para probar este sub-sistema se ha utilizado una placa Arduino y una serie de interruptores para la realización del movimiento de forma manual, mediante un diseño y un software de control muy parecido al utilizado para la construcción del primer NORBA JOINT o "Brazo Robot" del proyecto NorbaSky.
    Circuito creado para probar manualmente el movimiento de los dos servomotores.
    Completando el circuito de control manual mediante interruptores y Arduino.

    Sistema motor, aún sin placa solar, moviéndose mediante interruptores y Arduino.
    (Actualización febrero 2019). Los alumnos han creado un segundo prototipo para el sub-sistema motor, mucho más refinado, usando también materiales reciclados. Esta nueva mejora soluciona algunos problemas del primer prototipo tales como la "rotación invertida de la base" cuando la placa rotaba, añadiendo una base de granito reciclado procedente de escombros de una obra. También se ha añadido un "segundo eje de sujección" para la placa, la cual se desprendía frecuentemente del motor debido a su peso. No obstante, esta solución es provisional y puede ser mejorada.
    Segundo prototipo del sistema motor con mejoras importantes.
    Alumnos de 4º de ESO mostrando las mejoras del segundo prototipo.
    Segundo prototipo del sistema motor montado, pero no conectado a la circuitería de control.
    Probando funcionamiento del nuevo subsistema motor conectado a la circuitería de control.
    Además de las nuevas mejoras del prototipo físico de este nuevo sistema, se han realizado también importantes mejoras en el software de control, inicialmente casi idéntico al del primer NorbaJoint, destinadas a la optimización energética. Hasta el momento, el sistema estaba constantemente actualizando la posición de los motores, aunque los cambios de orientación fueran mínimos o incluso nulos. Esto suponía una vibración constante de los servos y un consumo eléctrico constante. Ahora se han introducido unas modificaciones tales que hacen que solamente se activen los servomotores cuando se detecta un cambio significativo de los ángulos de inclinación de los mismos, ahora mismo debidos únicamente a la pulsación de los botones de control y más adelante debidos a la información recibida del sistema de localización de luz.
    #include <Servo.h> 
    
    //Patillas control servos
    #define PinSERVO1 6
    #define PinSERVO2 5
    
    //Interruptores de control 
    #define BotonSube1 13
    #define BotonBaja1 7
    #define BotonSube2 12
    #define BotonBaja2 8
    
    //Angulos máximos y minimos de cada servo
    #define MAX1 180
    #define MIN1 0
    #define MAX2 125
    #define MIN2 55
    
    Servo Servo1, Servo2; //2 objetos servo, uno por motor
    int angulo1=(MIN1+MAX1)/2, angulo2=(MIN2+MAX2)/2, mover=0;
    
    void setup() {
      Servo1.attach(PinSERVO1);  // Asocia patilla PinSERVO1 a motor Servo1
      Servo2.attach(PinSERVO2);  // Asocia patilla PinSERVO2 a motor Servo2
      pinMode(BotonSube1,INPUT);
      pinMode(BotonBaja1,INPUT);
      pinMode(BotonSube2,INPUT);
      pinMode(BotonBaja2,INPUT);
      Servo1.write(angulo1); //Le dice a Servo1 (base) que gire a angulo1
      Servo2.write(angulo2); //Le dice a Servo2 (placa) que se incline a angulo2
      delay(500);
      }
    
    void loop() {
      if (digitalRead(BotonSube1)&&(angulo1<MAX1)){angulo1++; mover=1;}
      if (digitalRead(BotonSube2)&&(angulo2<MAX2)){angulo2++; mover=1;}
      if (digitalRead(BotonBaja1)&&(angulo1>MIN1)){angulo1--; mover=1;}
      if (digitalRead(BotonBaja2)&&(angulo2>MIN2)){angulo2--; mover=1;} 
      if (mover==1){ //Solo se manda mover al servo cuando se modifican angulos
          Servo1.write(angulo1);
          Servo2.write(angulo2); 
          delay(20);
          mover=0;
          }
      }
    
Código de control del Sistema de Motor .







  • (Actualización abril 2019) Sub-sistema de localización de luz, el cual consta de dos pares de fotorresistencias colocadas perpendicularmente una de la otra, formando todas ellas un ángulo de 45º con la placa solar. Estos componentes informarán acerca de la luz recibida. Con esta configuración, las cuatro fotorresistencias deberían recibir la misma cantidad de luz cuando la placa solar fotovoltaica se posicionase perpendicularmente a la fuente de luz (situación óptima).
    Para probar este sistema, se han creadon varios circuitos a partir de las citadas fotoresistencias además de varios leds como indicadores del punto de origen de la luz. Hemos tenido muchos problemas para conseguir que este sistema funcionase correctamente, ya que las LDR no se comportaban igual ante la misma luz, se producían numerosos ruidos esporádicos en las lecturas, los ángulos de incidencia de la luz sobre las mismas no afectaban a su comportamiento tanto como hubiéramos deseado, retardos en las lecturas, histiéresis,... Para más detalle, hemos creado una entrada en el blog en la que hemos explicado todos los problemas encontrados y cómo los hemos ido solucionando.
    Sistema de información de inclinación óptima de las cuatro fotorresistencias.
    #define VArr A2 //Lila
    #define HIzq A0 //Blanco
    #define VAba A1 //Gris
    #define HDer A3 //Azul
    
    #define HLedIzq 13 //Blanco
    #define HLedDer 10 //Azul
    #define VLedArr 11 //Lila
    #define VLedAba 12 //Gris
    
    #define BotonCalibrado 7
    
    
    #define NivelesCalibrado 2
    
    #define PesoNuevoMinMax 90
    #define PesoViejoMinMax 10
    
    
    long int MinLuz[4]={1024,1024,1024,1024};  //Valor inicial a corregir en calibrado
    long int MaxLuz[4]={0,0,0,0};              //Valor inicial a corregir en calibrado
    
    
    int foto_res[4]={HIzq,VAba,VArr,HDer};
    
    void setup() {
      long int luz;
      char cadena[20];
      
      Serial.begin(9600);
      for (int x=0;x<4;x++){ 
        pinMode(foto_res[x], INPUT); 
        };
      pinMode(BotonCalibrado,INPUT);
     
      
      //Proceso de calibrado, buscando luz máxima y mínima  
      while (digitalRead(BotonCalibrado)==LOW) { //Calibrado hasta pulsar botón
        Serial.println("");
        Serial.print(dtostrf((float)millis()/1000, 6, 1, cadena));
        for (int x=0;x<4;x++) {  
            luz=analogRead(foto_res[x]); 
            MinLuz[x]=(luz<MinLuz[x]?(luz*PesoNuevoMinMax+MinLuz[x]*PesoViejoMinMax)/100:MinLuz[x]); 
            MaxLuz[x]=(luz>MaxLuz[x]?(luz*PesoNuevoMinMax+MaxLuz[x]*PesoViejoMinMax)/100:MaxLuz[x]);
            Serial.print("----(LDR"+String(x)+":"+String(luz)+"("+String(map(luz,(int)MinLuz[x],(int)MaxLuz[x],0,NivelesCalibrado))+")  m:"+String(MinLuz[x])+" M:"+String(MaxLuz[x])+")");
            delay(10);
            }
        }
    }
    
    
    void loop() {
      int v[4];
      
      for (int x=0;x<4;x++) { v[x]=0; }
      for (int cont=0;cont<20;cont++){
          for (int x=0;x<4;x++) { 
              v[x]=v[x]+analogRead(foto_res[x]);
              }
          delay(20);
          }    
      for (int x=0;x<4;x++) { 
          v[x]=map(v[x]/20,MinLuz[x],MaxLuz[x],0,NivelesCalibrado); 
          }
      Serial.print( " Izq:"+String(v[0])+
                      " Der:"+String(v[3])+
                      " Arr:"+String(v[2])+
                      " Aba:"+String(v[1]));
      
      digitalWrite(HLedIzq, (v[0]>v[3]));  
      if (v[0]>v[3]) {Serial.print(" Torcer a izquierda.");} //VIzq>VDer
      
      digitalWrite(HLedDer, (v[3]>v[0]));  
      if (v[3]>v[0]) {Serial.print(" Torcer a derecha.");}  //VDer>Vizq
      
      digitalWrite(VLedArr, (v[1]>v[2]));  
      if (v[1]>v[2]) {Serial.print(" Torcer a abajo.");}    //HAba>HArr
      
      digitalWrite(VLedAba, (v[2]>v[1]));  
      if (v[2]>v[1]) {Serial.print(" Torcer a arriba.");}   //HArr>HAba
      Serial.println("");
    
      delay(100); 
    }
    
    
    Código de control del Sistema de Información de Orientación Optima.
  • Sistema completo incluyendo el "sub-sistema de localización de luz", el "sub-sistema motor" y el software de procesamiento que transforma la información procedente del primero en actuaciones sobre el segundo. En nuestro diseño definitivo hemos utilizado unos servos de 9V alimentados por pilas de 9V, pero cuyo rendimiento caía en cuanto el voltaje bajaba minimamente. Para evitar el arruinarnos en pilas, finalmente nos decantamos por usar como alimentación un transformador de 12V de un router viejo. Por lo pronto, no hemos quemado los motores que están demostrando funcionar bastante bien. Pero por si acaso, incluimos una pequeña resistencia en el circuito para evitar problemas. 

  • Esquema hardware del sistema de completo de la placa solar autoorientable de forma autónoma.
    Construcción del sistema completo de captación de energía solar incluyendo los subsistemas de localización de fuente de luz y motor (vista 1).
    Construcción del sistema completo de captación de energía solar incluyendo los subsistemas de localización de fuente de luz y motor (vista 2).
     
    Sistema de captación de luz auto-orientable en funcionamiento, probándose con una linterna.
     
    #include <Servo.h>
    #define VArr A2 //Lila      ver
    #define HIzq A0 //Amarillo  ama
    #define VAba A1 //Gris      nar
    #define HDer A3 //Azul      azu
    
    #define NivelesCalibrado 2
    
    #define PesoNuevoMinMax 90 //Porcentaje aplicado a nuevo máximo o mínimo
    #define PesoViejoMinMax 10 //Porcentaje aplicado a viejo máximo o mínimo
    #define BotonCalibrado 7
    
    //Patillas control servos 
    #define PinSERVO1 6     //Servo Izquierda-derecha
    #define PinSERVO2 5     //Servo Arriba-Abajo
     
     
    //Angulos máximos y minimos de cada servo 
    #define MAX1 180
    #define MIN1 0
    #define MAX2 170
    #define MIN2 10
    
    
    Servo Servo1, Servo2; //2 objetos servo, uno por motor
    int angulo1=(MIN1+MAX1)/2, angulo2=(MIN2+MAX2)/2, mover=0;
    
    
    long int MinLuz[4]={1024,1024,1024,1024};  //Valor inicial a corregir en calibrado
    long int MaxLuz[4]={0,0,0,0};              //Valor inicial a corregir en calibrado
    
    int foto_res[4]={HIzq,VAba,VArr,HDer};
    void setup() {
      long int luz;  
      char cadena[20];
      
      Serial.begin(9600); 
     
      for (int x=0;x<4;x++){ 
        pinMode(foto_res[x], INPUT); 
        };
      pinMode(BotonCalibrado,INPUT);
     
      Servo1.attach(PinSERVO1);  // Asocia patilla PinSERVO1 a motor Servo1 Izq-Der
      Servo2.attach(PinSERVO2);  // Asocia patilla PinSERVO2 a motor Servo2 Arr-Aba
      Servo1.write(angulo1);     //Le dice a Servo1 (base) que gire a angulo1
      delay(500);
      Servo2.write(angulo2);     //Le dice a Servo2 (placa) que se incline a angulo2
      delay(500);  
     
      //Proceso de calibrado, buscando luz máxima y mínima   
      while (digitalRead(BotonCalibrado)==LOW) { //Calibrar hasta pulsar botón
        Serial.println("");
        Serial.print(dtostrf((float)millis()/1000, 6, 1, cadena)); 
        for (int x=0;x<4;x++) {  
            luz=analogRead(foto_res[x]); 
            MinLuz[x]=(luz<MinLuz[x]?(luz*PesoNuevoMinMax+MinLuz[x]*PesoViejoMinMax)/100:MinLuz[x]); 
            MaxLuz[x]=(luz>MaxLuz[x]?(luz*PesoNuevoMinMax+MaxLuz[x]*PesoViejoMinMax)/100:MaxLuz[x]);
            Serial.print("----(LDR"+String(x)+":"+String(luz)+"("+String(map(luz,(int)MinLuz[x],(int)MaxLuz[x],0,NivelesCalibrado))+")  m:"+String(MinLuz[x])+" M:"+String(MaxLuz[x])+")");        }
            } 
      }
    
    
    void loop() {
      int v[4];  
      for (int x=0;x<4;x++) { v[x]=0; }
      for (int cont=0;cont<20;cont++){
          for (int x=0;x<4;x++) { 
              v[x]=v[x]+analogRead(foto_res[x]);
              }
          }  
      for (int x=0;x<4;x++) { 
          v[x]=map(v[x]/20,MinLuz[x],MaxLuz[x],0,NivelesCalibrado); 
          }      
      Serial.print( " Izq:"+String(v[0])+
                    " Der:"+String(v[3])+
                    " Arr:"+String(v[2])+
                    " Aba:"+String(v[1]));                  
     
      // Moviendo a la izquierda (a la derecha si la placa está por el otro lado (angulo2>90)
      if (v[0]>v[3]  && (abs(v[3]-v[0])<=5) && angulo1<MAX1) { 
           //La parte de "abs" evita que por error de calibrado o hardware se mueva bruscamente el sistema
           Serial.print(" Torcer a izquierda. de "+String(angulo1)+" hasta "); 
           angulo1=angulo1+((angulo2<90)?1:-1); //90º es horizontal. Por debajo de 90, girar al oeste es a la izq. Pero por encima de 90, girar al oeste es la der
           Serial.print(String(angulo1)+". "); 
           mover=1;
           } //VIzq>VDer 
     
       // Moviendo a la derecha (a la izquierda si la placa está por el otro lado (angulo2>90) 
      if (v[3]>v[0] && (abs(v[3]-v[0])<=5) && angulo1>MIN1) { 
           //La parte de "abs" evita que por error de calibrado o hardware se mueva bruscamente el sistema 
           Serial.print(" Torcer a derecha de "+String(angulo1)+" hasta "); 
           angulo1=angulo1-((angulo2<90)?1:-1); //90º es horizontal. Por debajo de 90, girar al este es a la der. Pero por encima de 90, girar al este es la izq
           mover=1;
           Serial.print(String(angulo1)+". "); 
           }  //VDer>Vizq 
     
      // Moviendo hacia arriba 
      if (v[1]>v[2]  && (abs(v[1]-v[2])<=5) && angulo2<MAX2) {  
           //La parte de "abs" evita que por error de calibrado o hardware se mueva bruscamente el sistema
           Serial.print(" Torcer a abajo. de "+String(angulo2)+" hasta "); 
           mover=1;
           angulo2+=1;
           Serial.print(String(angulo2)+". ");
           }    //HAba>HArr 
     
      // Moviendo hacia abajo
      if (v[2]>v[1]  && (abs(v[1]-v[2])<=5) && angulo2>MIN2) {  
           //La parte de "abs" evita que por error de calibrado o hardware se mueva bruscamente el sistema
           Serial.print(" Torcer a arroba. de "+String(angulo2)+" hasta "); 
           mover=1;
           angulo2-=1;
           Serial.print(String(angulo2)+". "); 
           }   //HArr>HAba
     
      if (mover==1){ //Solo se manda mover al servo cuando se modifican angulos
          Servo1.write(angulo1);
          Servo2.write(angulo2); 
          mover=0;
          } 
     
      Serial.println(""); 
    }
    Código de control del sistema de captación de luz auto-orientable: azul (motor), naranja (orientación), amarillo (salida información por serie).

    miércoles, 27 de marzo de 2019

    Norba Joints: montaje de un brazo robot - 4º ESO

    Hemos comenzado con los alumnos de 4º ESO a montar el brazo  robot que permitirá  diversos movimientos y giros, con los que nuestros alumnos se irán familiarizando, para posteriormente incorporarlos a proyectos posteriores.

    Hemos realizado dos grupos en la clase para el montaje de los dos brazos, siguiendo las indicaciones https://smalhammer.cc/docs/4dof/ y como era de esperar, un grupo, ahora, a finales de abril, lo tiene terminado y mantiene el entusiasmo y el otro, pues está por conseguir nuestro primer objetivo: autonomía y comprensión en un montaje.
    Para completar este trabajo, nos ha parecido interesante,  que previamente, aprendieran algunos y otros, recordaran la programación con Scratch.
    Hemos estado en la Infolab y han trabajado de forma creativa y muy autónoma con sus pequeños proyectos, que nos permitirán continuar con esta labor.

    miércoles, 20 de marzo de 2019

    NORBA-STATIONS: sensor de temperatura y humedad DHT11 y pantalla LCD (Bachillerato)


    En el proyecto NorbaSky debemos trabajar con diferentes tipos de sensores, con los cuales mediremos temperatura, humedad, movimiento, luz… Para aprender a utilizar este tipo de sensores hace un tiempo empezamos a trabajar con la placa programable Arduino.
    Algunos de los alumnos ya conocían Arduino y habían hecho alguna práctica en cursos pasados pero otros no habían oído hablar de ella. Por esta razón, empezamos programando un simple led parpadeando, así conseguimos que algunos refrescasen la memoria y otros se iniciasen en la programación de esta conocida placa.
    Debido a la rápida curva de aprendizaje que tiene Arduino, muy pronto todos estábamos listos para programar algo más complejo que un simple led parpadeante.
    Primer programa: Led parpadeante
    Botón que enciende y apaga un led
    Diferentes leds encendiéndose y apagándose
    Después de unos días de trabajo, llegamos a programar un sensor de temperatura y humedad DHT11 y una pantalla LCD en la cual se escriben los datos que lee el sensor, es decir, la temperatura y la humedad del lugar en el que se encuentra el sensor.
    El sensor DHT11 es simple de programar, pues solo tiene 3 salidas (una a tierra (GND), otra a 5 V y otra a un pin digital de la placa Arduino).
    Su circuito es el siguiente:
    Circuito con sensor DHT11
    Y el programa para su funcionamiento básico:

    #include <DHT.h>

    int SENSOR = 2;
    float temp,humedad; 


    DHT dht (SENSOR, DHT11);
     

    void setup(){
        Serial.begin(9600);
        dht.begin(); 

        } 


    void loop(){
        humedad = dht.readHumidity();
        temp = dht.readTemperature();
        Serial.println("Temperatura ");
        Serial.println(temp);
        Serial.println("C");
        Serial.println("Humedad: ");
        Serial.println(humedad);
        Serial.println("%");
        delay(15000); 

        }

    Código de gestión del sensor de temperatura

    Alumnos trabajando en el circuito
    Usar una pantalla LCD 16×2 con Arduino es algo complicado por la cantidad de lineas de conexión que se requieren. Además se necesita un potenciómetro para ajustar el contraste. Primero colocamos la conexión de la alimentación, hay que fijarnos en la polaridad para evitar dañar la pantalla. En este caso utilizaremos los pines VSS(-), VDD(+), A(+) y K(-).
    Después conectamos un potenciómetro de 10K que permite el ajuste del contraste. Los extremos del potenciómetro van al positivo y negativo de la alimentación, mientras que el pin central va al pin VO del módulo LCD.
    Lo siguiente fue conectar los pines de datos D4, D5, D6, D7. Utilizaremos solamente estos 4 pines.
    Finalmente hicimos la conexión de los pines de control RS y E, que irán conectados a otros 2 pintes digitales de Arduino.
    Circuito:
    Esquema del circuito de control del LCD 16x2 con Arduino
    El programa para que esto funciones es el siguiente:

    /* Usamos la librería LiquidCrystal.h, para el manejo de las pantallas 
     * LCD. El circuito tiene los siguientes pines: * RS ->pin 12
     * Enable (E) --> pin 11
     * D4 ->pin 5
     * D5 ->pin 4
     * D6 -> pin 3
     * D7 -> pin 2
     * R/W-> GND
     * Resistencia10K
     * Corriente: +5V y GND
     * VO a un pin PWM (pin 3)
     */



    // incluimos la librería


    #include <LiquidCrystal.h>


    // asociamos los pines de la pantalla LCD con el número 

    // del pin arduino al que está conectado
     
    int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
    LiquidCrystal lcd(rs, en, d4, d5, d6, d7);


    void setup() {
        //configurar el número de columnas y filas de la pantalla LCD
        lcd.begin(16, 2);
        // Imprimir un mensaje en la pantalla

        lcd.print("¡Hola, Norba!");
        delay(1000);
        }


    void loop() {
        // desplazarse 13 posiciones (longitud de la cadena)

        // hacia la izquierda para “meter el texto” hacia 
        // la izquierda y que desaparezca
        for (int i = 0; i < 13; i++) {
            // desplaza 1 posicion hacia la izquierda        

            lcd.scrollDisplayLeft();
            delay(150);
            }
        }
    Código de gestión del display LCD

    Finalmente, conseguimos nuestro objetivo, y pudimos ver en la pantalla la medición hecha por el sensor DHT11
    Circuito de mide temperatura y humerad con sensor DTH11 y muestra resultados a través del  LCD 16x2

    martes, 19 de marzo de 2019

    I Congreso de Innovación y Tecnología Educativa: taller NorbaSky

    Durante los días 15 y 16 de marzo de 2019, se ha celebrado el I Congreso de Innovación y Tecnología Educativa en Extremadura en el Palacio de Congresos de Badajoz. Ha reunido casi 1.000 docentes, 500 alumnos y 100 familias en torno a la innovación aplicada a la educación, en la que participan el 60 por ciento de los centros escolares extremeños.
    Apertura de puertas del I Congreso de Innovación y Tecnología Educativa en Extremadura
    Seis miembros de nuestro centro, pertenecientes a los departamentos de Tecnología, Física&Química y Orientación, asistimos allí el sábado 16 por la mañana a presentar algunos de nuestros desarrollos tecnológicos basados en el uso de Arduino, creados dentro del proyecto NorbaSky.
    Cartel informativo sobre nuestro taller de programación con Arduino.
    Profesorado del Norba Caesarina que trabaja en el proyecto NorbaSky.
    En nuestro taller, mostramos al público información relativa a estas placas de desarrollo de hardware, así como distintos ejemplos de circuitos montados en soporte real o descritos en papel, incluyendo diseños de hardware y software de control asociados a los mismos.
    Pequeño piano construido con Arduino.
    Control de leds mediante sensor y mando de infrarrojos.
    Asimismo intercambiamos información, experiencias y conocimiento con los profesores de otros institutos que montaron talleres cerca de nosotros. Nos resultaron bastante interesantes sus desarrollos, en muchos casos muy parecidos a los nuestros, pero enfocados desde otro punto de vista, desarrollados con distintos materiales, o planteados de forma un poco diferente a la nuestra.
    Circuitería de control de un sistema de riego automatizado presentado en uno de los talleres.
    Pequeño huerto regado de forma inteligente cuando el nivel de humedad de la tierra baja.
    Algunas profesoras del Norba Caesarina observando un sonómetro construido con Arduino.
    Otras actividades a las que pudimos asistir, aunque casi de pasada, debido a nuestra dedicación casi exclusiva al taller NorbaSky fueron las siguientes:
    • Driving innovation in Finland (impulsando la innovación en Finlandia), dirigida por Paula Tyrväinen (Master en Educación, Licenciada en Sociología) que trabaja como Asesora Principal de Innovación en la Unidad de Innovación y Experimentación en la Agencia Nacional de Educación de Finlandia.
    • Ni tabletas ni plataformas...¿qué están haciendo las escuelas más innovadoras de todo el mundo para aprender más y mejor con tecnología?. Dirigida por Alfredo Hernando Calvo, creador del proyecto Escuela-21, un laboratorio de innovación educativa que viaja por todo el mundo con el objetivo de identificar, comunicar y replicar las mejores prácticas internacionales en las escuelas más innovadoras. Su viaje de los últimos cinco años le ha llevado a experimentar con equipos de profesores de todos los continentes, generando redes de trabajo, proyectos, publicaciones y dinámicas de acompañamiento a escuelas, al tiempo que comparte, dialoga, construye y aprende en red y en la red.
    • Actitud on: una mirada al futuro, dirigida por Jorge Luengo, ingeniero, neuropsicólogo, profesor de matemáticas, conferenciante e ilusionista profesional. Esta actividad fue especialmente llamativa y entretenida, no solo por lo que nos contó Jorge, sino por su fantástica actuación de magia (ilusionismo o como queramos llamarlo), que nos quedó a todos con la boca abierta, desde los más pequeños hasta los que ya tenemos unos cuantos años. Todavía le estoy dando vueltas a cómo metería la carta dentro del bote de aceitunas que se iba a merendar nuestro compañero de matemáticas del curso pasado, Diego, o como pudo pasar Seba, nuestro compañero de música del presente curso, descalzo, por una alfombra llena de cristales rotos, sin hacerse ni un solo rasguño. Bueno, o como conseguiría que un escorpión vivo cojiese una carta...
    Jorge Luengo, mago, sujetando un escorpión mientras este coje una carta de una baraja.
    Seba, nuestro compañero de música, caminando sobre trozos de cristal afilados.
    También se entregaron en este congreso los premios Joaquin Sama y Tomás García Verdejo, a experiencias de trabajo en distintos centros.
    Finalmente se estuvo transmitiendo durante toda la jornada los eventos más significativos del Congreso haciendo uso de las infraestructuras creadas para el proyecto radioEdu.
    Cabe destacar también los espacios dedicados a la diversión de los más pequeños, que en muchos casos nos acompañaron al evento y estuvieron todo el día con nosotros.
    Público más joven divirtiendose con algunas actuaciones pensadas para ellos.
    Al finalizar el congreso, algunos de nosotros marcharon para Cáceres, mientras otros nos quedamos en Badajoz a degustar los platos típicos de la zona y pasar un rato más entre compañeros, comentando las distintas experiencias de la jornada. Después, una pasada rápida por el Faro, sitio de obligada asistencia para unos y desesperación para otros. Pero bueno, había que aprovechar el día. Y finalmente la vuelta a casa para acabar el fin de semana.
    El balance global del Congreso fue bastante positivo. Actos de este tipo son importantes para dar a conocer al resto las distintas formas de trabajar de cada centro, compartir experiencias, aprender de los demás, realizar pequeños logros que en conjunto forman algo mucho más grande,... Sin embargo, como todo, hay muchas cosas que mejorar. El proceso de inscripción fue un tanto caótico, haciendo que tuvieramos que apuntarnos a actividades tanto el viernes como el sábado de forma obligatoria, aún sabiendo que no podríamos asistir ambos días. Esto seguramente cerró puertas a otras personas que sí que querrían haber asistido ambos días. De hecho, compañeros de nuestro centro se quedaron fuera por la gran demanda de determinadas actividades que luego no estaban en absoluto llenas.
    Es comprensible que ocurran estas cosas, ya que se trata del primer congreso de este tipo. Estamos seguros que en el próximo, este tipo de problemas organizativos habrán sido totalmente resueltos, pudiéndose abrir las puertas a muchas más personas con las que compartir experiencias.

    lunes, 18 de marzo de 2019

    NORBA LANDER: robots terrestres con ruedas - 2º ESO

    Los alumnos de 2º ESO han comenzado su proyecto con el que van a contribuir a conseguir los objetivos que nos planteamos en "NorbaSky".
    Estos alumnos, que se han iniciado este curso en el área de Tecnología, tienen un gran interés y motivación hacia los proyectos de la materia, están entusiasmados con esta parte práctica de la tecnología y esperamos que el resultado con este proyecto sea positivo en todos los sentidos.
    Os mostramos el documento guía que servirá a nuestros pequeños tecnólogos para poner en práctica los conocimientos adquiridos hasta ahora, sobre todo en relación al bloque de dibujo y TICs. Además, esperamos con este proyecto que los alumnos apliquen los conocimientos de electricidad básica que se impartirán en esta tercera evaluación.


    Para poder realizar el robot completo necesitarán la participación de los alumnos de cursos superiores, que acercarán los conocimientos de programación a los alumnos de 2º, ofreciéndoles así la posibilidad de ampliar su perspectiva y generando en ellos el deseo de profundizar en su aprendizaje en los cursos posteriores.

    NORBA JOINTS: introducción a los servomotores (4º de ESO)

    Dentro de nuestro proyecto es imprescindible desarrollar diferentes sistemas y mecanismos para poder darle movimiento a elementos tales como brazos robots, puertas móviles, timones, alerones… Todos estos movimientos pueden estar basados en el uso de servo-motores controlados por placas Arduino. Algunos de nuestros alumnos más entusiastas ya se adelantaron estudiando este tipo de dispositivos, realizando con ellos pequeños proyectos (El primer Norba-Joint, el Norba-Station para captación de luz solar,...). 

    Sin embargo, ha llegado el momento de que el resto hagan lo propio en las clases de Tecnología de 4º de ESO. Para ello hemos comenzado a realizar una serie de prácticas sencillas, didácticas y divertidas con las que nuestros alumnos comenzarán a introducirse en el mundo de la mecánica electrónica y la robótica.

    Todas las prácticas incluyen el montaje de un circuito y su programación en el IDE de Arduino. De esta manera los alumnos, además de programar, repasan los conceptos estudiados en electrónica y utilizan los diferentes sensores o elementos que ya hemos analizado en las sesiones teóricas.
    Las diferentes prácticas han sido confeccionadas incrementando el nivel de dificultad. 

    En esta entrada os mostraremos la práctica de trabajo con servomotores.
    A continuación podemos ver el documento resumen que ha servido de guía a los alumnos para iniciarse en la conexión y programación de los servomotores.


    Os mostramos algunas imágenes de los montajes realizados con los motores y las placas protoboard en nuestra aula-taller:





    martes, 26 de febrero de 2019

    Aeródromo de la Cervera: instalaciones, acrobacias y proyectos

    Nuestro alumno de 4º, Mario Díaz Andrada, va a desarrollar un proyecto consistente en fabricar un avión de radiocontrol eléctrico usando en gran medida materiales reciclados, con el fin de abaratar costes y contribuir con el desarrollo sostenible. Este chico, de tan solo 16 años, ha vivido siempre rodeado de aviones. Sus abuelos, aficionados al aeromodelismo y fabricantes de ultraligeros y avionetas artesanales le han ido inculcando la pasión por este tipo de aparatos. Ya con 12 años era capaz de pilotar pequeños aviones. Y desde temprana edad ha dedicado gran parte de sus ahorros a comprar aviones RC de segunda mano, la mayor parte de ellos averiados, para darles vida nuevamente.
     
    Mario pilotando un Titán Tornado a los 12 años de edad.
    Este tipo de "juguetes" son bastante caros, y no es fácil adquirir un buen ejemplar a un precio modesto. Es por ello por lo que este curso se ha decidido a acabar de construir por sí mismo un avión RC con materiales reciclados obtenidos en escombros de obras, piezas de desguace, y algún que otro material comprado en Aliexpress o adquirido de segunda mano (motores, controlador y estación de control,...), un proyecto que tenía en mente desde hace mucho tiempo y que lleva intentándolo con más o menos éxito durante unos cuantos años. No es una tarea fácil, ya que son muchos los problemas a los que se enfrenta (peso, calibrado, potencia del motor, alimentación,...).
    Hoy, varios profesores del Norba, hemos tenido la oportunidad de acercarnos hasta el aeródromo de la Cervera, para observar cómo Mario y otros miembros  del club de aeromodelismo de Cáceres (RCCACERES) disfrutaban de su afición favorita.
    Mario nos enseñó una de sus últimas adquisiciones, un Cessna Cardinal, el cual estaba bastante deteriorado inicialmente. Después de pasar por sus manos, quedó un avión impecable. Vimos como realizaba la puesta a punto antes del despegue, preparando el combustible, calentando motores y comprobando que todo funcionaba correctamente. A continuación, lo dirigió con el mando hacia la pista y lo hizo volar. Fueron momentos muy emotivos. El avión estuvo dando vueltas durante un tiempo, realizando pequeñas acrobacias, acercándose y alejándose continuamente de nosotros, hasta que finalmente volvió a tomar tierra.
    Presentando al blog de NorbaSky su aeromodelo Cessna Cardinal

    Comprobando todos los sistemas y calentando motores antes del despegue.
    Ultimando detalles previos al despegue del Cessna Cardinal.
    Despegue del Cessna Cardinal pilotado por Mario 
    Aterrizaje del Cesna Cardinal pilotado por Mario. 
    También nos ha enseñado uno de los últimos aviones fabricados por su abuelo, un fantástico Storm Century XL realizado artesanalmente, el cual iba a ser entregado de forma inminente a su propietario. Nos ha sorprendido con qué soltura nos explicaba todo el proceso de creación del mismo, nos enseñaba su motor, las características del aparato, detalles del cuadro de control y un sinfín de datos técnicos que ya quisiéramos la mayoría de nosotros dominar como él. Después de mostrarnos este aparato tuvimos la suerte de ver como su abuelo y el dueño montaban en él para hacerlo volar y probarlo.
    Mario Díaz Andrada, junto a alguno de sus profesores y otras personas cercanas (foto 1).
    Mario Díaz Andrada, junto a alguno de sus profesores y otras personas cercanas (foto 2).
    Vuelo de prueba del Storm Century XL.
    En el taller donde su abuelo construye los aviones, Mario estaba montando su Piper J3 Cub con materiales reciclados. Pese al avanzado estado del proyecto, aún quedan por afinar un montón de detalles para conseguir que su aparato funcione a pleno rendimiento y sin ningún tipo de problemas. Hemos de tener en cuenta que los modelos comerciales suelen producirse en serie a partir de plantillas ya probadas, pero el avión de Mario es 100% artesanal, y pese a que ha utilizado como base ciertas plantillas obtenidas de Internet, ha tenido que modificarlas y adaptarlas, pues no estaban pensadas para ser usadas con los materiales empleados en este proyecto.
    Detalle de la estructura del ala del Piper J3 Cub.
    Mario acoplando el ala del Piper J3 Cub.
    Revisando el correcto acoplamiento de ambas alas.
    Habitáculo para batería y circuitería de control del aparato.
    Timones de dirección y profundidad con detalle del servo de control de dirección.
    Parte baja del Piper J3 Cub, con detalle de las estructuras de refuerzo de las alas.
    Detalle del tren de aterrizaje.
    Estamos preparando una entrada del blog donde os contaremos todos los detalles de este fantástico proyecto. Ya queda menos para acabarlo y verlo volar.
    Finalmente acabamos la jornada viendo volar distintos aparatos de los cientos de aficionados al aeromodelismo que allí nos encontramos. Había de todo: cazas de combate, aviones a reacción, avionetas con hélice, planeadores,... cada uno con sus peculiaridades. Es sorprendente lo que se puede hacer con un avión de este tipo, y las velocidades de vértigo que pueden alcanzar. Mario nos contó que este tipo de vuelos en este aeródromo están limitados a los 200km/h, pero como nadie pone el radar, algunos superan holgadamente los 300km/h. Ahí van unas instantáneas del momento.
    Algunos aeromodelos listos para despegar.
    Juguetes a reacción despegando y aterrizando.
    Mario posando junto a algunos aeromodelos.
    Acabando la visita al aeródromo.
    Nos llamó la atención de forma especial las acrobacias realizadas por Álvaro Rodríguez Encinar, un amigo de Mario, con su sorprendente Slick 580. De haber sabido todo lo que iba a enseñarnos con su avión, hubiéramos grabado el vuelo desde el principio, pero nos dimos cuenta tarde, por lo que solo os podemos mostrar un pequeño fragmento de su actuación. Juzgad por vosotros mismos:
    Álvaro revisando el estado de su Slick 580  (imagen 1).
    Álvaro revisando el estado de su Slick 580  (imagen 2).
    Slick 580 realizando espectaculares acrobacias aéreas.
    Álvaro Rodríguez Encinar posando con su Slick 580.
    Esperamos que pronto el avión de Mario pueda realizar acrobacias similares a las realizadas por Álvaro. De hecho, nuestro aparato será mucho mas ligero y liviano, lo que en teoría le permitirá realizar piruetas mucho más complejas. No obstante, aquí entra en juego de la pericia del piloto. Sabemos que Mario puede conseguirlo.