miércoles, 21 de febrero de 2018

EJERCICIOS PROPUESTOS EN RELACIÓN A LA PRÁCTICA 2

 

EJERCICIOS PROPUESTOS EN RELACIÓN A LA PRÁCTICA 2

Con este ejercicio, hemos aprendido a cambiar el tiempo en el que se enciende un color con el LED RGB.


- Nombre del ejercicio:

2.1 Cambia la velocidad de la secuencia de colores
Mediante la función delay podemos ajustar el tiempo que se muestra cada color.
Te propongo que cambies este tiempo para ver el efecto que se consigue.

Una interesante aplicación de las definiciones (#define) sería definir un tiempo que se usase en los tres delay. Por ejemplo
   #define ESPERA 500
y luego
      delay(ESPERA);

De esta manera para cambiar el tiempo durante el que se muestra cada color, solo tenemos que cambiar un parámetro, en vez de tres.




- Cómo lo has hecho:

Para realizar este ejercicio, hemos añadido otra definición, pero en vez de ESPERA, hemos puesto TIEMPO, y 500, de tiempo.

Copia del programa: 

// Empezando con Arudino UNO
// Actividad 2: Generando colores con un LED RGB
//
// Enciende de forma secuencial los tres colores
// primarios de un LED RGB
//
// wwww.complubot.com

// Asociamos cada uno de los terminales del LED RGB
// con una salida digital
#define RGB_ROJO 3
#define RGB_VERDE 5
#define RGB_AZUL 6

void setup()

{
//Configuramos el pin digital de cada color del
//LED RGB como salida
pinMode(RGB_ROJO, OUTPUT);
pinMode(RGB_VERDE, OUTPUT);
pinMode(RGB_AZUL, OUTPUT);
}

void loop()

{
 //Encendemos el color rojo y apagamos los otros
 digitalWrite(RGB_ROJO, HIGH);
 digitalWrite(RGB_VERDE, LOW);
 digitalWrite(RGB_AZUL, LOW);
 //Esperamos 1 segundo
 delay(1000);
 //Encendemos el color verde y apagamos los otros
 digitalWrite(RGB_ROJO, LOW);
 digitalWrite(RGB_VERDE, HIGH);
 digitalWrite(RGB_AZUL, LOW);
 //Esperamos 1 segundo
 delay(1000);
 //Encendemos el color azul y apagamos los otros
 digitalWrite(RGB_ROJO, LOW);
 digitalWrite(RGB_VERDE, LOW);
 digitalWrite(RGB_AZUL, HIGH);
 //Esperamos 1 segundo
 delay(1000);
}

Hemos necesitado:

Cable de conexión USB tipo A-B:










Placa Arduino UNO:











Placa de prototipado de 400 contactos:









 


LED RGB de 5mm:













Resistencia de 330 Ohm (naranja, naranja, marrón y dorado):



 

 

 

 Cables de prototipado M-M:

 

 

 

 

 

 

 

 

 

 

- Vídeo en el cual quede de manifiesto cómo se ha modificado el funcionamiento de nuestro circuito:

 


- Nombre del ejercicio:

Ejercicio 2.2 Muestra todos los colores.

Este ejercicio nos propone mezclar los colores primarios para conseguir  morado, verde claro, azul claro y blanco, además de los otros (verde, azul y rojo).

Aquí tenemos unas capturas del programa: 




- Cómo lo has hecho:

Hemos puesto HIGH en los colores que queríamos mrezclar. Y para el blanco HIGH en todas.

 

- Vídeo en el cual quede de manifiesto cómo se ha modificado el funcionamiento de nuestro circuito:

 Copia del programa:

// Empezando con Arudino UNO
// Actividad 2: Generando colores con un LED RGB
//
// Enciende de forma secuencial los tres colores
// primarios de un LED RGB
//
// wwww.complubot.com

// Asociamos cada uno de los terminales del LED RGB
// con una salida digital

#define RGB_ROJO 3
#define RGB_VERDE 5
#define RGB_AZUL 6

void setup()

{
//Configuramos el pin digital de cada color del
//LED RGB como salida
pinMode(RGB_ROJO, OUTPUT);
pinMode(RGB_VERDE, OUTPUT);
pinMode(RGB_AZUL, OUTPUT);
}

void loop()

{
 //Encendemos el color rojo y apagamos los otros
 digitalWrite(RGB_ROJO, HIGH);
 digitalWrite(RGB_VERDE, LOW);
 digitalWrite(RGB_AZUL, LOW);
 //Esperamos 1 segundo
 delay(1000);
 //Encendemos el color verde y apagamos los otros
 digitalWrite(RGB_ROJO, LOW);
 digitalWrite(RGB_VERDE, HIGH);
 digitalWrite(RGB_AZUL, LOW);
 //Esperamos 1 segundo
 delay(1000);
//Encendemos el color azul y apagamos los otros
 digitalWrite(RGB_ROJO, LOW);
 digitalWrite(RGB_VERDE, LOW);
 digitalWrite(RGB_AZUL, HIGH);
 //Esperamos 1 segundo
 delay(1000);
 //Encendemos el color azul y el rojo y apagamos el otro
 digitalWrite(RGB_ROJO, HIGH);
 digitalWrite(RGB_VERDE, LOW);
 digitalWrite(RGB_AZUL, HIGH);
 //Esperamos 1 segundo
 delay(1000);
  //Encendemos el color verde y el azul y apagamos el otro
 digitalWrite(RGB_ROJO, LOW);
 digitalWrite(RGB_VERDE, HIGH);
 digitalWrite(RGB_AZUL, HIGH);
 //Esperamos 1 segundo
 delay(1000);
  //Encendemos el color verde  y el rojo y apagamos el otro
 digitalWrite(RGB_ROJO, HIGH);
 digitalWrite(RGB_VERDE, HIGH);
 digitalWrite(RGB_AZUL,  LOW);
  //Esperamos 1 segundo
 delay(1000);
 //Apagamos todos
 digitalWrite(RGB_ROJO, HIGH);
 digitalWrite(RGB_VERDE, HIGH);
 digitalWrite(RGB_AZUL,  HIGH);
 //Esperamos 1 segundo
 delay(1000);

}




 

1 comentario:

  1. Con relación a la práctica 2.1:

    Está muy bien. Lo único,aunque no hacía falta introducir el programa, sí fíjate que el programa que has puesto es el correspondiente a la práctica 2, no a la práctica 2.1. En la práctica 2.1 modificamos el tiempo de parpadeo. También definíamos "espera" como 500 ms, de modo que podemos introducir en "delay" la variable definida espera.
    - El vídeo ok
    - Un detalle: cuando introduzcas imágenes, cuida de que no estén giradas, que queda feo

    Práctica 2.2:

    Estupendo, está muy, muy bien

    ResponderEliminar