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.
  • 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);

}