Grupos de trabajo

Imagen de fondo del tipo de comunidad

Metodología didáctica basada en el juego, para la realización de actividades motivadoras a modo de obstáculos o pruebas a superar por los jugadores.

Blog Blog

Entradas con TIPO FEC-ECO .

EL ATAQUE DEL ELTIRÓN Teclado musical con 4 botones Arduino

¿Abrieron la puerta número 1. Todo estaba oscuro. Escucharon una pesada respiración¿ Se asomaron y vieron un lobo gigantesco, el ELTIRÓN.
¿¡Cuidado, silencio! ¿ dijo Rhino.
¿Mientras pasaban cuidadosamente por el estrecho pasillo donde se encontraba el animal, una botella de agua cayó de la mochila de Mamut¿ Los 4 miraron la botella a medida que una gota caía por su borde y brillaba¿
¿La botella golpeo el suelo.
¿El animal se despertó¿ Mientras volvían a la habitación de las 8 puertas, gritaban¿
¿Mapache gritó: ¿La música amansa a las fieras¿¿
¿Mientras los demás aguantaban la puerta para que el ELTIRÓN no pasará, Mapache montó rápidamente  un circuito musical¿
¿Se puso a tocar 5 lobitos tiene  la loba¿
¿¿¿No podrías haber elegido otra canción?¿ ¿preguntó Serpiente.
¿¿Es la única que conozco con 3 notas y el teclado que me ha dado tiempo a montar solo tiene 3¿¿
¿ELTIRON estiró las orejas y se quedó embelesado escuchando la música y la voz de Mapache¿ En un minuto estaba dormida¿

La habitación de las 8 puertas IF en Arduino

El pasillo de las 8 puertas

Mohammad-Mamut

Salvi-Serpiente

Rubén-Rhino

María-Mapache

 

Una vez atravesado el acelerador de partículas, llegaron a una sala redonda que tenía 8 puertas. En cada una había un cartel que anunciaba su número. Se volvieron para mirar por la puerta por la que habían entrado. Era la puerta 0. En el centro, un panel de mandos destrozado, los cables chisporroteando, humo negro saliendo¿

-Alguien que sabe mucho más que nosotros nos está fastidiando. ¿Por qué? ¿ dijo Mamut.

-Ahora mismo lo único importante es salir de aquí. Ya nos preocuparemos de nuestra némesis cuando salgamos. ¿dijo Serpiente.

Rhino sacó de su mochila el pequeño portátil y su Arduino.

-Podemos arreglarlo para abrir las puertas ¿ dijo.

Mapache empezó a mirar¿

-Usa un código de 3 bits para las 8 puertas. La puerta 0 está codificada como 000 y se ha abierto al romper el circuito. Para abrir el resto de puertas, solo tenemos que generar números binarios en estos 3 cables.

Conectaron los cables al Arduino y programaron¿ El circuito estaba listo.

-¿Qué puerta abrimos? ¿ preguntó Serpiente.

-Con la que llevamos, puede salir cualquier cosa de las puertas¿ Vamos a seguir el orden¿ Abre la puerta 1. ¿dijo Mamut.

 

Se oyó el siseo del aire al entrar y entonces¿

 

 

 

UD07 PROGRAMACIÓN DE CIRCUITOS II (B)

CONDICIONES EN ARDUINO

 

CÓDIGO DE EJEMPLO 1: cualquier tipo de sensor digital

int Led = 13; // se conecta la salida al pin 13 y de ahí a la protoboard

int Shock = 3; //éste es el pin de entrada que se conecta al sénsor

int val; //valor del sensor en un momento determinado

voidsetup()

{

pinMode(Led, OUTPUT); //el pin led va a ser de salida para encender el diodo

pinMode(Shock, INPUT); //el pin shock va a ser de entrada para tomar el valor del sensor

}

voidloop()

{ val = digitalRead(Shock); //lee el valor del sensor, es decir, si se ha movido o no

if (val == HIGH) //si el valor está alto, es decir, si se ha movido con violencia el sensor

{

digitalWrite(Led, LOW); //escribe en la salida LED LOW, es decir, apaga el diodo

}

else

{

digitalWrite(Led, HIGH); si no está alto, es que está bajo, entonces enciende el diodo

}

}

ORIGEN

http://playground.arduino.cc/ArduinoNotebookTraduccion/Flowcontrol

if (si condicional)

if es un estamento que se utiliza para probar si una determinada condición se ha alcanzado, como por ejemplo averiguar si un valor analógico está por encima de un cierto número y ejecutar una serie de declaraciones (operaciones) que se escriben dentro de llaves, si es verdad. Si es falso (la condición no se cumple) el programa salta y no ejecuta las operaciones que están dentro de las llaves. El formato para if es el siguiente:

if (unaVariable ?? valor)

{

ejecutaInstrucciones;

}

 

En el ejemplo anterior se compara una variable con un valor, el cual puede ser una variable o constante. Si la comparación, o la condición entre paréntesis se cumple (es cierta), las declaraciones dentro de los corchetes se ejecutan. Si no es así, el programa salta sobre ellas y sigue.

Nota: Tenga en cuenta el uso especial del símbolo '=', poner dentro de if (x = 10), podría parecer que es valido pero sin embargo no lo es ya que esa expresión asigna el valor 10 a la variable x, por eso dentro de la estructura if se utilizaría x == 10 que en este caso lo que hace el programa es comprobar si el valor de x es 10. Ambas cosas son distintas por lo tanto dentro de las estructuras if, cuando se pregunte por un valor se debe poner el signo doble de igual ==.

if¿ else (si .. sino ..)

if¿ else viene a ser un estructura que se ejecuta en respuesta a la idea "si esto no se cumple haz esto otro". Por ejemplo, si se desea probar una entrada digital, y hacer una cosa si la entrada fue alto o hacer otra cosa si la entrada es baja, usted escribiría que de esta manera:

if (inputPin == HIGH)
{
instruccionesA;    
}
else   
{
instruccionesB;
}

 

else puede ir precedido de otra condición de manera que se pueden establecer varias estructuras condicionales de tipo unas dentro de las otras (anidamiento) de forma que sean mutuamente excluyentes pudiéndose ejecutar a la vez. Es incluso posible tener un número ilimitado de estos condicionales. Recuerde sin embargo qué sólo un conjunto de declaraciones se llevará a cabo dependiendo de la condición probada:

if (inputPin < 500)
  {
  instruccionesA;
  }
else if (inputPin >= 1000)
  {
  instruccionesB;
  {
else   
  {
  instruccionesC;
  }

 

Nota: Un estamento de tipo if prueba simplemente si la condición dentro del paréntesis es verdadera o falsa. Esta declaración puede ser cualquier declaración válida. En el anterior ejemplo, si cambiamos y ponemos (inputPin == HIGH). En este caso, el estamento if sólo chequearía si la entrada especificado esta en nivel alto (HIGH), ó +5v.

 

 

 

MÁS DE UNA CONDICIÓN

Incluso podemos establecer más de una condición:

Ejecución de código si x mayor que 0 e y menor que 3

 

 

// Condición por la cual queremos que el código se ejecute

// si una variable 'x' es mayor que cero, y además otra

// variable 'y' es menor que 3.

if (x > 0 && y < 3) {

  digitalWrite(ledPin, HIGH);

  delay(1000);

  digitalWrite(ledPin, LOW);

}

 

Tenemos un circuito con 3 botones que activan 1 LED. Los 3 botones codifican 3 números binarios que forman los números del 0 al 7 según la siguiente tabla, donde 0 significa no pulsado y 1 significa pulsado:

BOTÓN1

BOTÓN2

BOTÓN3

NÚMERO

0

0

0

0

0

0

1

1

0

1

0

2

0

1

1

3

1

0

0

4

1

0

1

5

1

1

0

6

1

1

1

7

 

 

 

 

 

 

 

 

 

 

Por ejemplo, para comprobar que no se ha pulsado ningún botón escribiríamos el siguiente  código:

int Led = 13;

int boton1=3;

int boton2=4;

int boton3=5;

 

voidsetup()

{

pinMode(Led, OUTPUT); //el pin led va a ser de salida para encender el diodo

  pinMode(boton1, INPUT);

pinMode(boton2, INPUT);

pinMode(boton3, INPUT);

  •  
  •  

{

if (boton1 == LOW && boton2==LOW && boton3==LOW)

  •  

digitalWrite(Led, HIGH);

  •  
  •  
  •  

digitalWrite(Led, LOW);

}

}

 

 

Modifica el código del ejemplo para que:

  1. Enviar el número 1.
  2. Enviar el número 2.
  3. Enviar el número 3.
  4. Enviar el número 4.
  5. Enviar el número 5.
  6. Enviar el número 6.
  7. Enviar el número 7.

Salida del Centro Medioambiental (EEE) (eso se produce en el capítulo anterior a la siguiente entrada)

Después de comer, continuaron su camino. Unos ruidos llamaron su atención... los metazombis, liderados por Kratos, los perseguían... Con el corazón saliendoles de la boca, lograron alcanzar la puerta de nuevo, pero... se habían dejado a alguien atrás. Mamuth, que estaba durmiendo tranquilamente, no era atacado por los metazombies...

-"¿Puede ser que solo detecten latidos del corazón muy fuertes? Así, cuando nos ponemos nerviosos y escapamos, nos detectan. Si nos quedamos tranquilos, quizás podamos rescatar a Mamuth..."

De vuelta al Complejo Medioambiental, encontrarán una caja de sensores electrónicos y una placa Arduino.. Entre los sensores, había uno de latidos del corazón. Con la ayuda de EUGENIO, que domina más de 3 millones de formas de comunicación, entre ellas Arduino, consiguieron programar un sensor para que midiera sus latidos... Y se pusieron a practicar.

-"Tenéis que inspirar, expirar lentamente... No pensar en lo que tenéis alrededor. Simplemente, pensad en vuestra respiración..." - decía EUGENIO con su voz aterciopelada...

Hicieron un concurso y ganó (EL QUE MENOS PULSACIONES TENGA AL MONTAR EL CIRCUITO).

Salió al campo, mientras los demás miraban desde la puerta... Un paso, otro paso... Los metazombis olían y pasaban por su lado, pero ninguno advertía su presencia... Llegó al lado de Mamuth. Ahora venía lo más peligroso. Cuando Mamuth se despertara, tenía que mantener la calma. Así que se puso a hablarle al oído...

-"Mamuth... te has quedado dormido... despierta pero no abras los ojos. Simplemente respira..."

Mamuth abrió los ojos y vio lo que tenía alrededor. () apretó su mano con firmeza y le señaló sus ojos. Con la otra mano, le hizo un gesto de tranquilidad. Mamuth lo entendió al instante. Los metazombis podían evitarse, con tranquilidad. Ponerse nervioso no ayudaba a nada y, con los metazombis, significaba una muerte horrible.

Lentamente, anduvieron hasta la puerta y entraron. ¡Estaban a salvo!

Miembros Miembros

Foto de María Luz Martínez Ochoa

María Luz Martínez Ochoa

Foto de Raúl Valiente Aguado

Raúl Valiente Aguado

Foto de Francisca Moreno Tineo

Francisca Moreno Tineo

Foto de José Luis Usero Vílchez

José Luis Usero Vílchez