Evaluación 1 AO g1

De Casiopea



TítuloEvaluación 1 AO g1
AsignaturaInteracción y Performatividad
Del CursoInteracción y Performatividad 2019
CarrerasDiseño
1
Alumno(s)Omar Nuñez, Rodrigo Toro, Marcelo Mondaca, Christian Gazmuri, Gabriel Olivares Torrijo

Evaluación

Cree un programa en Arduino que cumpla los siguientes requerimientos

  1. Encienda 5 leds con un patrón a definir por el alumno.
  2. Encienda 3 leds con efecto "degradé" o "fade"
  3. Encienda 1 led RGB con el que debe pasar por los 3 colores principales.


Proceso

Dificultades

  • En un principio la primera dificultad fue conectar 4 LEDs, siendo la solución colocar cada

lED a un PIN con su resistencia. Conectándolos a tierra creando en la Protoboard una fila única de conexión.

  • Problemas con "Fade" en el cual la luz seguía encendida, y cada vez, seguía sumando y sumando mas brillo. La solución fue darle el valor "1" a la variable "Fade", el cual seguía ese aumento pero esta vez, siendo menos perceptible.

El valor "510" se dio ya que el valor máximo de brillo es "255", entonces para que el LED se encienda y se apague necesitaba esa cantidad de "brillo"

   for (i = 0 ; i < 510 ; i++) {
   setColor (i, 255, 255);
   analogWrite (azul, brillo);
   analogWrite  (rojo, brillo);
   analogWrite  (verde, brillo);
   brillo = brillo + fade;
   if (brillo <= 0 || brillo >= 255) {
     fade = -fade;
   }
   delay (2);
   }


  • Después se hace una secuencia con los 4 LEDs, probando en ellos el "Fade" y estar conforme con el resultado.
  • En paralelo se prueba la conexión RGB en un protoboard aparte, teniendo como primer problema que no encendía. La solución fue conectar el cable a tierra al 5v del arduino.
  • En el RGB las luces aparecían aleatoriamente y se investiga en internet como lograr encender el color deseado.
void setColor(int redValue, int greenValue, int blueValue) { 
 analogWrite(3, redValue);
 analogWrite(5, greenValue);
 analogWrite(6, blueValue);
 }

Ademas se hace el "void Color" que sirve para encender combinaciones de colores

 void color (int rojo, int verde, int azul) { 
 analogWrite(3, rojo);
 analogWrite(5, verde);
 analogWrite(6, azul);
 }


Orden de circuito

Vista registroAOg1.jpg

Video

Código


int azul = 11;
int rojo = 10;
int verde = 9;
int amarillo = 4;
int R = 3;
int G = 5;
int B = 6;
int i;
int brillo = 0;
int fade = 1;


void setup () {
  pinMode(azul, OUTPUT);
  pinMode(rojo, OUTPUT);
  pinMode(verde, OUTPUT);
  pinMode(amarillo, OUTPUT);
  pinMode(R, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(B, OUTPUT);

}

void setColor(int redValue, int greenValue, int blueValue) { //para hacer funcionar el rgb por valores (r,g,b)
  analogWrite(3, redValue);
  analogWrite(5, greenValue);
  analogWrite(6, blueValue);
}
void color (int rojo, int verde, int azul) { //codigo para prender los otros colores que no son rgb
  analogWrite(3, rojo);
  analogWrite(5, verde);
  analogWrite(6, azul);

}

void loop  () {

  digitalWrite(azul, HIGH); // se prende solo el azul
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 0); //color azul
  delay(1000);            //est� prendido por 1 segundo
  setColor(255, 255, 255); // sin color
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, HIGH);   //se prende solo el rojo
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(0, 255, 255);     //rojo
  delay(1000);                //se prende por 1 segundo
  setColor(255, 255, 255);    //apagar
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, HIGH);    //prendido el color verde
  digitalWrite(amarillo, LOW);
  setColor(255, 0, 255);        //color verde
  delay(1000);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, HIGH); //prendido color amarillo
  setColor(0, 0, 255);          //prendido color amarillo
  delay(1000);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, HIGH);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, HIGH);
  digitalWrite(amarillo, LOW); //prendidos verde y azul
  setColor(0, 255, 0);         //prendido rosado
  delay(500);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, HIGH);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, HIGH); //prendido rojo y amarillo
  setColor(0, 115, 255);          //prendido naranjo
  delay(500);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, HIGH);
  digitalWrite(rojo, HIGH);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW); // prendido azul y rojo
  setColor(10, 255, 120);      //magenta
  delay(500);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, HIGH);
  digitalWrite(amarillo, HIGH);//prendido verde y amarillo
  setColor(64, 0, 255);       //verde lima
  delay(500);
  setColor(255, 255, 255);
  digitalWrite(amarillo, LOW);
  delay(1);



  for (i = 0 ; i < 510 ; i++) {

    setColor (i, 255, 255);
    analogWrite (azul, brillo);
    analogWrite  (rojo, brillo);
    analogWrite  (verde, brillo);


    brillo = brillo + fade;

    if (brillo <= 0 || brillo >= 255) {
      fade = -fade;
    }

    delay (2);

  }

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 255);
  delay(1000);

  for (i = 0 ; i < 510 ; i++) {

    setColor (255, i, 255);
    analogWrite (azul, brillo);
    analogWrite  (verde, brillo);


    brillo = brillo + fade;

    if (brillo <= 0 || brillo >= 255) {
      fade = -fade;
    }

    delay (2);

  }

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 255);
  delay(1000);

  for (i = 0 ; i < 510 ; i++) {

    setColor (255, 255, i);

    analogWrite  (azul, brillo);

    brillo = brillo + fade;

    if (brillo <= 0 || brillo >= 255) {
      fade = -fade;
    }

    delay (2);

  }

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 255);
  delay(1000);

  digitalWrite(azul, HIGH); // se prende solo el azul
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 0); //color azul
  delay(500);            //est� prendido por 1 segundo
  setColor(255, 255, 255); // sin color
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, HIGH);   //se prende solo el rojo
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(0, 255, 255);     //rojo
  delay(500);                //se prende por 1 segundo
  setColor(255, 255, 255);    //apagar
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, HIGH);    //prendido el color verde
  digitalWrite(amarillo, LOW);
  setColor(255, 0, 255);        //color verde
  delay(500);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, HIGH); //prendido color amarillo
  setColor(0, 0, 255);          //prendido color amarillo
  delay(500);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, HIGH);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, HIGH);
  digitalWrite(amarillo, LOW); //prendidos verde y azul
  setColor(0, 255, 0);         //prendido rosado
  delay(250);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, HIGH);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, HIGH); //prendido rojo y amarillo
  setColor(0, 115, 255);          //prendido naranjo
  delay(250);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, HIGH);
  digitalWrite(rojo, HIGH);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW); // prendido azul y rojo
  setColor(10, 255, 120);      //magenta
  delay(250);
  setColor(255, 255, 255);
  delay(1);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, HIGH);
  digitalWrite(amarillo, HIGH);//prendido verde y amarillo
  setColor(64, 0, 255);       //verde lima
  delay(250);
  setColor(255, 255, 255);
  digitalWrite(amarillo, LOW);
  delay(1);



  for (i = 0 ; i < 255 ; i++) {

    setColor (i, 255, 255);
    analogWrite (azul, brillo);
    analogWrite  (rojo, brillo);
    analogWrite  (verde, brillo);


    brillo = brillo + fade;

    if (brillo <= 0 || brillo >= 255) {
      fade = -fade;
    }

    delay (5);

  }
  digitalWrite(azul, HIGH);
  digitalWrite(rojo, HIGH);
  digitalWrite(verde, HIGH);
  setColor(0, 255, 255);
  delay(500);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 255);
  delay(500);

  for (i = 0 ; i < 255 ; i++) {

    setColor (255, i, 255);
    analogWrite (azul, brillo);
    analogWrite  (verde, brillo);


    brillo = brillo + fade;

    if (brillo <= 0 || brillo >= 255) {
      fade = -fade;
    }

    delay (5);

  }

  digitalWrite(azul, HIGH);
  digitalWrite(rojo, HIGH);
  digitalWrite(verde, HIGH);
  setColor(255, 0, 255);
  delay(500);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 255);
  delay(500);


  digitalWrite(amarillo, HIGH);
  delay(1);

  for (i = 0 ; i < 255 ; i++) {


    analogWrite  (azul, brillo);
    analogWrite  (rojo , brillo);
    analogWrite  (verde, brillo);
    setColor(255, 255, i);


    brillo = brillo + fade;

    if (brillo <= 0 || brillo >= 255) {
      fade = -fade;
    }

    delay (10);

  }

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 255);
  delay(3000);

  digitalWrite(azul, HIGH);
  delay(100);
  digitalWrite(azul, LOW);
  delay(10);

  digitalWrite(rojo, HIGH);
  delay(100);
  digitalWrite(rojo, LOW);
  delay(10);

  digitalWrite(verde, HIGH);
  delay(100);
  digitalWrite(verde, LOW);
  delay(10);

  digitalWrite(amarillo, HIGH);
  delay(100);
  digitalWrite(amarillo, LOW);
  delay(10);

  setColor(0, 255, 255);
  delay(200);
  setColor(255, 0, 255);
  delay(200);
  setColor(255, 255, 0);
  delay(200);

  digitalWrite(azul, LOW);
  digitalWrite(rojo, LOW);
  digitalWrite(verde, LOW);
  digitalWrite(amarillo, LOW);
  setColor(255, 255, 255);
  delay(5000);

}