Convergencia luminosa a la contracción mesurada

De Casiopea
Proyecto Módulo 2 - Paulina Zúñiga, Natalia Soto
TítuloProyecto Módulo 2 - Paulina Zúñiga, Natalia Soto
Tipo de ProyectoProyecto de Taller
Palabras Clavesecuencias
Período2022-2022
AsignaturaTaller de Diseño de Interacción
Del CursoTaller de Diseño de Interacción 2022
CarrerasDiseño, Diseño Gráfico"Diseño Gráfico" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property.
Alumno(s)Paulina Zúñiga, Natalia Soto Vásquez
ProfesorHerbert Spencer, Leonardo Aravena, Daniela Salgado
URLhttps://paulina99z.github.io/documentacion-proyecto/

Desencadenamiento de movimientos a partir de intenciones que construyen la gestualidad (Observaciones Paulina)

La cotidianidad y las interacciones del diseño

Contemplamos el diseño básicamente en todo lo que nos rodea, interactuamos constantemente en un mundo lleno de señales y estimulaciones sensoriales que crean experiencias en la vida de cada persona, nos adaptamos a nuevas formas de ver el mundo y como este puede ser modificado para un bien común. Ver el mundo con una mirada de diseñador le otorga cierto valor a nuestro trabajo y al enfoque que le damos a cada proyecto que tenemos en mente le da sentido a nuestras propuestas, pero ¿En qué momento el diseño crea nuevas experiencias en los usuarios? O ¿Qué factores son fundamentales al momento de diseñar?

Para definir una experiencia primero necesitamos salir a observarlas, buscando situaciones que resuenen con lo que estamos pensando y que nos abra nuevos caminos que aporten a nuestro estudio, observamos diferentes gestos que provienen tanto de personas, animales o elementos electrónicos, pero cada una de estas situaciones están situadas en un contexto que abarca estimulaciones sonoras, visuales o táctiles.

Dentro de estos gestos se observan principalmente los que son creados con la mano y las secuencias de movimientos necesarios para realizar una acción en específico.

Primer acercamiento: Apertura corporal respecto a un objeto

Como se observa en el primer croquis lo que acontece al momento de sentarse requiere de una intención que desencadena una serie de movimientos necesarios para lograr esta gestualidad, parte desde la mano que dirige el objeto el cual es sucesivamente envuelto por una rápida estela corporal que interactúa con la materia para realizar el acto de sentarse.

Segunda interacción: La mano como principal medio para interactuar

En segunda instancia se observa la gestualidad de comer una manzana y como esta es manipulada por la persona desde como la toma, porque en esta acción ocurren diferentes factores que determinan que el gesto sea ejecutado de una manera, ya que en este caso los colores, formas, texturas, olores y estado de la fruta influyen en el como se realiza este acto.

Aquí la mano es el primer paso a la interacción con la fruta (también puede ser algún objeto, interfaz, etc.), donde evaluamos sensorialmente lo que tenemos en la mano y este objeto es acercado a nosotros para poder observarlo mejor, distinguir olores y confirmar que todo está en orden según a lo que estamos acostumbrados, finalmente ya acabado este proceso y este es aprobado se permite comerla que agrega el gusto a los factores esenciales para la evaluación de un objeto.

Este ejemplo puede ser replicado en diferentes diseños ya que como diseñadores nos ponemos en el lugar del usuario y nos precipitamos a las acciones de este, pensando en sus posibles reacciones e interacciones que pueda tener con el objeto.

Tercer acto: Relaciones con interfaces integradas en nuestros gestos

Se rescata en este último acto lo familiarizados que estamos con los objetos electrónicos y como mediante colores y botones gesticulamos diferentes tareas, esto lo logramos leyendo diferentes patrones que relacionamos con las acciones que queremos realizar, esto es comunicado mediante formas y símbolos que asociamos a interacciones previas, como pasa con el control remoto que tenemos interiorizada la ubicación de sus botones que también son reconocibles por sus formas y colores, entendemos cuales son los de encendido/apagado, volumen, menú, etc…

Nuestra mano reconoce la forma de un control remoto y sabe de que forma tomarlo para poder manipularlo, ya con tomarlo prevemos lo que va a pasar y lo que queremos que pase, tener una interacción con el televisor con fine de ocio el cual se acomode a nuestras necesidades como usuario.

Buscamos optimizar relaciones entre los usuarios y las interfaces con productos digitales que sean una manera simple e intuitiva, queremos garantizar mejores diseños y, en consecuencia, mejores experiencias para los usuarios.

Croquis

 WhatsApp Image 2022-04-09 at 21.07.39.jpeg WhatsApp Image 2022-04-09 at 21.07.39 (1).jpeg WhatsApp Image 2022-04-09 at 21.07.40.jpeg


  • Croquis 1: Cuantos gestos se necesitan para realizar una acción?, los podemos reducir a tres pasos, Aquí la mano simplifica la acción quizás estos movimientos podrían variar con alguna otra parte de cuerpo, como el codo o el pie.
  • Croquis 2: Al tomar una manzana se desencadenan una serie de gestos, se captan unos leves movimientos que nace de la intención y estos comienzan con el tacto, reconocemos el objeto con la mano, sentimos texturas, formas, vemos colores y en muchas ocasiones nos percatamos de olores, evaluamos los objetos y le damos un visto bueno.
  • Croquis 3: Estamos acostumbrados a ciertos colores, símbolos y formas, seguimos patrones y manipulamos objetos electrónicos buscando un feedback inmediato. Realizamos ciertos gestos porque ya sabemos las respuestas o al menos las que esperamos.

Condensación lumínica geométrica en el apretar (Observaciones Natalia)

La conformación de patrones de luz se forman por la velocidad de recolección condensada del cuerpo

Trama, Velocidad, Destello, Contra Luz

La primera observación refiere al momento de abrir o cerrar una persiana en una ventana. Dentro de este gesto encontré diversos momentos que pudieran cambiar el gesto y la reflexión de este a modo de contra luz en otra superficie. La primera fue el posicionamiento de la ventana versus la posición del sol y la hora en que esto acontece, sin embargo, esta característica se vio rápidamente cubierta por la falta de movimiento. Para que aparezca la luz tiene que aparecer un movimiento, ¿Y cómo es este movimiento?, más allá de ser vertical, posee una cierta velocidad que lo hace representativo de una sombra característica y un entramado distinto. Me llama la atención cómo la condensación del cuerpo persiana consume la luz (No la deja pasar) pero al mismo tiempo aquella que sí consigue colarse entre los espacios es mucho más filosa en cuanto a que es mucho más definida, posee un espacio y en su mayoría no atraviesa la gran distancia a llegar a la pared, sino que se presenta como destello entre la misma persiana. En el caso de la pared que refleja la contra sombra, la cantidad de patrones variará dependiendo de la velocidad del gesto, del movimiento de la persona y del tiempo y espacio del sol y la ventana, pero el gesto permanece igual. Lo que se mide y aquello que cambia no es la aparición; sino la velocidad en la que se produce el cambio del destello.


La incertidumbre del gesto define la velocidad y dirección de un movimiento rítmico

Velocidad, experiencia, incertidumbre, propiedad

Al sostener los palillos de madera la mano tiene una extensión y luego debe contraerse para tener la fuerza suficiente para permitir el correcto uso. Dentro de este actuar, lo primero que resalta para mi fue la forma de sostener los palillos por parte de la mano. De las distintas personas que se encontraban en la mesa realizando la misma acción y con el mismo propósito, varias de ellas sostenían los palillos de manera distinta, sim embargo, en toda la compresión propia de la mano era posible mas no la compresión necesaria. Del mismo modo que cuando se toma un lápiz, muchas personas pueden establecer posiciones de acción distintas que, si bien no limitan la acción de comer o escribir, establecen un cierto patrón de ocurrencia. “Mientras más compresión implica el sostener y disminuye la superficie de contacto, el movimiento se convierte menos sinuoso, adquiere velocidad y verticalidad”

La constante retroalimentación crea un ritmo certero, visual y sintáctico

Apertura, ritmo, trazado, sentido

Al observar dos personas tocando la guitarra una de ellas está observando el espacio en el que se encuentra y otra mantiene la mirada sobre el instrumento. Dentro del mismo momento de tocar la guitarra existen distintos Feedback que corroboran la forma en la que sucede la acción. Uno de ellos es el observar de la mano y el movimiento que esta realiza sobre las cuerdas, oprimiendo y soltando, te indica si estás en el espacio correcto y oprimiendo lo correcto, sin embargo, no hay forma de encontrar que es lo correcto sin el sentido de la audición. El gesto, que es el mover de la mano en el instrumento no necesita en todo momento de la vista como sí necesita del oído y el tacto. El tempo de la ocurrencia, el ritmo, inicio y final se ven condicionados por el sentir de los dedos y el conocimiento auditivo de la nota y el acorde. El reflejo de la producción no está en el producto en sí mismo (Música) si no en ese mover de la mano y por extensión el cuerpo completo.

Pregunta sobre el gesto (Semana de farándula)

Durante la semana de farándula mientras realizamos tareas para la actividad a nivel facultad, se nos pregunta sobre ¿Qué es el gesto? ¿Cómo es un gesto? y ¿Qué es lo que nosotros rescatamos del gesto?. La cuestión del gesto aparece dentro de nuestro trabajo para darle sentido y fundamento a aquello que acontece dentro del cuerpo tótem; ¿Es el gesto, algo que meramente acontece o posee otras cualidades?

El gesto no es tan solo ocurrencia sobre un miembro del cuerpo, según la definición moderna de la palabra involucra también expresión; hay un sentido de ser y un propósito para ser, un mensaje no verbal que excede las convenciones de la lengua pero sigue encontrándose en la cultura y experiencia de cada cuerpo.

“[L]os gestos de la mano pasan por doquier a través del lenguaje, y pasan a su través en la forma más pura cuando el hombre habla precisamente callando” (Aber die Gebärden der Hand gehen überall durch die Sprache hindurch und zwar gerade dann am reinsten, wenn der Mensch spricht, indem er schweigt). Heidegger (2002, p. 79; 2005a, p. 17)

La significación del gesto permanece abierta a la interpretación del que interactúa con el. Heidegger menciona el "hablar callando", nuevamente está presente el mensaje e intención que se busca comunicar (o no) y que queda exento del lenguaje verbal. Si queda exento del lenguaje verbal pareciera ser que también queda exento del lenguaje escrito (Aunque ambos posean cierta cuota de incertidumbre, "relleno" propio de aquel que los observa), el gesto es más primitivo a la persona en cuanto las cosas se comprendan por la noción de ser conocido y la idea del desconocido.

En las observaciones anteriores mencionábamos la incertidumbre, y en el nombre del proyecto hacemos mención a lo mesurado. Hay un momento de cálculo, en el cuál es claro el resultado y lo que se quiere conseguir y un momento de incertidumbre que provoca un cambio en el cotidiano, ya sea producto del miedo o del no saber y querer descubrir.

Al momento de tomar un pincel, el gesto de la mano hace sentido a la experiencia previa de comprender como ocupar un lápiz, mas la calidad y certeza de la línea provocará que este mismo gesto titubee al no poseer guía previa sobre donde se debería dibujar. ¿Seguimos nuestro instinto o esperamos a ver a alguien más realizando la misma tarea? Durante la pintada de las máscaras se hace claro que la intención definirá la audacia de la gestualidad más que la gestualidad aquello que se intenta conseguir. "La mano debe ser capaz de traducir aquello que aparece en el pensamiento y el pensamiento se ve dirigido por intenciones y experiencias".

Convergencia luminosa a la contracción mesurada

Las luces que aparecen en las observaciones anteriores, ante el mover de la mano responden a una ley similar a cuando se observaba el acto de tomar un objeto, poseen un punto de convergencia que responde a la fuerza del tomar, mientras más sea la contracción, más definidas serán las sombras del cuerpo en cuanto a mostrar un entramado más condensado que cuando la contracción es mínima. El estudio de la mano al sostener un pincel durante la semana de farándula, responde con el dibujo de las sombras al tener la necesidad de hacer unas con líneas homólogas, mientras que el punto de mayor fuerza implica la sobreposición de las líneas del dibujo, mostrando el cuerpo sombra como un ente mucho más compacto. Lo mesurado se encuentra en el conocimiento de un límite de movimiento que no asemeja a un espasmo sino más bien a la familiarización.

Dentro de este agarrar, encontramos también las cualidades de la certeza y la incertidumbre, hay un momento de sorpresa (desconocido) y un momento de conocimiento. Para ello pensamos hacer aparecer luces dentro del cuerpo, que responderían a la cercanía del usuario sin dar aviso anterior ni a su ubicación, ni a su existencia. Distinta será la segunda vez que el usuario de acerque al cuerpo habiéndolo ya conocido.

Un tercer momento permite al usuario controlar el motivo de la iluminación, el absoluto control de aquello que ocurre para con la luz, mas no el movimiento que es continuo. El reconocimiento de su mismo y de lo que se quiere obtener que esta vez sí responde a la intencionalidad segunda que mencionábamos en nuestro acercamiento sobre el gesto.

Por ello el cuerpo posee un momento de movimiento continuo, que abre al juego con el cuerpo. Un momento de acercarse y encontrarse con la característica luz y cómo esta reacciona con el movimiento y un momento de control general el cual debe ser atrapado y/o alcanzado por el usuario.

Maqueta Prototipo 1

Patrones divergentes que expanden el gesto de la mano

Escala 1:5

Fundamento

Para el primer modelo, la idea principal fue el cómo interactuar con el elemento más que la expresión en sí misma; todo esto en tres momentos distintos. Uno que representaba la cercanía con un juego de luces o sonido (Tercio Inferior), un control de luz (Mitad) y una luz que proyectara distintos patrones (Tercio superior). Las palabras principales que consideramos para la creación de la maqueta serían entonces ritmo, patrón y cercanía.

Correcciones

  1. Limpiar la expresión de la maqueta.
  2. Considerar nuevamente la manera de nombrar y qué es lo que se quiere mostrar (No estaba claro)
  3. Particularizar lo que quiero que acontezca.
  4. Es un momento que se construye en 3 pasos, no 3 momentos distintos.
  5. Que el control no sea una máquina, sino, un lenguaje.

Imágenes

Modelo maqueta 1

Maqueta prototipo 2

Apertura homóloga controlada sobre el vaivén lumínico

Escala 1:5

Fundamento

Para este segundo momento, trajimos la materialidad del papel como elemento maleable que nos permite tener reflejos y la rigidez del cuerpo al mismo tiempo. Dentro de ello pensamos un cuerpo que baja y sube con iluminación que provocará la apertura de unas pantallas con perforaciones que proyectarán una trama en el piso al rededor del totem.

Imágenes

Modelo maqueta 2

Correcciones

  1. Falta tener claridad en los gestos que aparecen en el tótem.
  2. Aún no están presentes los 3 gestos.
  3. Aún no hay claridad en los input del cuerpo.
  4. La gestualidad debe estar provocada por el usuario, no tan solo el movimiento.

Maqueta prototipo 3

Título

Escala 1:5

Fundamento

Basadas en las correcciones anteriores, proponemos el cambio del cuerpo para así poder hacer que ocurran los gestos que nosotras observamos en la tarea primera. Traemos un cuerpo de papel que representa la contracción del movimiento y como la luz reacciona en cuanto la compresión y la extensión ocurren. Mantuvimos la idea de el cuerpo que se desprende y aparece al caparazón subir, para así hacer memoria a la idea de la mano que se estira y provoca la apertura de la luz.

Construcción


Para traer el gesto de la contracción y cómo la luz interactúa en cuanto la mano sostiene un elemento trabajamos con papel plisado a modo de fuelle, donde pudiera ocurrir la compresión y al mismo tiempo aparecer el juego de luces y sombras que veíamos tanto en el apretar de la mano como en el cerrar y abrir de las persianas. Un espacio donde ambos momentos corresponden en fenómeno el uno al otro.


Imágenes

Propuesta prototipo 3

Correcciones

Prototipo 1:1

Error al crear miniatura: Archivo más grande que 25 MP

Fundamento

Dentro del tótem, decidimos dejar momentos que contracción que abrazan al cuerpo, superando sus dimensiones y elementos que quedan dentro de la misma corporalidad pensando en, el gesto de sostener un algo que implica espacios en donde se construye el vacío de la mano para con el objeto y momentos donde se forma un llenado desde la mano de aquello que se está teniendo. En un primer momento, el cuerpo flexible está compuesto de opalina ahuesada lisa, plisada de tal manera que se pueda contraer e identificar vértices que dejan pasar o contener la luz del cuerpo.

Además, sumamos la idea de un cuerpo medio, que indica el equilibrio en este sostener, y la base en la cual surgirá el movimiento, es desde el cubo entonces, desde donde nace este hilo controlado por una polea que permitirá el subir y bajar por medio de un Motor Stepper (Paso a Paso).

Imágenes

Esqueleto tótem 1:1

Archivos de construcción

Escala 1:1

Elementos de programación arduino

Motor Stepper

Motor stepper arduino Tinkercad
//Motor controlado por Joystick
 #define step_pin 9  // Pin 9 connected to Steps pin on EasyDriver
#define dir_pin 8   // Pin 8 connected to Direction pin
#define MS1 10       // Pin 10 connected to MS1 pin
#define MS2 11       // Pin 11 connected to MS2 pin
#define SLEEP 12     // Pin 12 connected to SLEEP pin

//Control Joystick
#define X_pin A0    // Pin A0 connected to joystick x axis
#define Joy_switch 4  // Pin 4 connected to joystick switch

#define Limit01 2  // Pin 2 connected to Limit switch out
#define Limit02 3  // Pin 3 connected to Limit switch out

int step_speed = 1;  // Speed of Stepper motor (higher = slower)

void setup() {
   pinMode(MS1, OUTPUT);
   pinMode(MS2, OUTPUT);
   pinMode(dir_pin, OUTPUT);
   pinMode(step_pin, OUTPUT);
   pinMode(SLEEP, OUTPUT);
   
   pinMode(Limit01, INPUT);
   pinMode(Limit01, INPUT);
   
   pinMode(Joy_switch, INPUT_PULLUP);
   
   digitalWrite(SLEEP, HIGH);  // Wake up EasyDriver
   delay(5);  // Wait for EasyDriver wake up
   

/* Configure type of Steps on EasyDriver:
// MS1 MS2
//
// LOW LOW = Full Step //
// HIGH LOW = Half Step //
// LOW HIGH = A quarter of Step //
// HIGH HIGH = An eighth of Step //
*/

   digitalWrite(MS1, LOW);      // Configures to Full Steps
   digitalWrite(MS2, LOW);    // Configures to Full Steps
}

void loop() {
  if (digitalRead(Joy_switch)) {  //  If Joystick switch is clicked
    delay(5);  // delay for deboucing
    switch (step_speed) {  // check current value of step_speed and change it
      case 1:
        step_speed=10;  // slow speed
        break;
      case 3:
        step_speed=10;  // fast speed
        break;
      case 10:
        step_speed=10;  // medium speed
        break;
    }
  }    
    
  if (analogRead(X_pin) > 712) {  //  If joystick is moved Left
    if (digitalRead(Limit01)) {}  // check if limit switch is activated
    
      else {  //  if limit switch is not activated, move motor clockwise
      
        digitalWrite(dir_pin, LOW);  // (HIGH = anti-clockwise / LOW = clockwise)
        digitalWrite(step_pin, HIGH);
        delay(step_speed);
        digitalWrite(step_pin, LOW);
        delay(step_speed);
    }      
  }
  
    if (analogRead(X_pin) < 312) {  // If joystick is moved right
    
    if (digitalRead(Limit02)) {}  // check if limit switch is activated
    
      else {  //  if limit switch is not activated, move motor counter clockwise
      
        digitalWrite(dir_pin, HIGH);  // (HIGH = anti-clockwise / LOW = clockwise)
        digitalWrite(step_pin, HIGH);
        delay(step_speed);
        digitalWrite(step_pin, LOW);
        delay(step_speed);
    }      
  }
}

Modelo expuesto 1:1


Elementos de construcción

Uno de los cambios más visibles fue el pasar de papel opalina a papel crepé, debido a que el gramaje de la opalina hacía el plisado mucho más frágil, por ende, propenso a romperse y sumaba peso a la fuerza que debía ejercer el motor. Para solventar esta problemática, pasamos a papel crepé pegado a 4 cuadrados de alambre N°20 que nos permitió mantener la forma, sin sacrificar la integridad del material. Otro cambio fue la adherencia del eje de rotación al motor, para el cual tuvimos que crear una pieza impresa en 3D que nos permitiera usar prisioneros para hacer presión y sostener el eje del motor sin necesidad de alterar el mismo.

Dibujo vectorial, vista frontal
Totem dibujos-03Natalia SotoPaulinaZuñigaDiseñodeInteracción20222.png


Vista Lateral del mecanismo de recolección del hilo que permitirá mover el cuerpo hacia arriba y hacia abajo con motor stepper.


Totem dibujos-03Natalia SotoPaulinaZuñigaDiseñodeInteracción20223.png

Vista Superior del mecanismo de recolección del hilo que permitirá mover el cuerpo hacia arriba y hacia abajo con motor stepper, ubicación de eje de luces y espacio de colocación para los elementos electrónicos.

ElementostotemnataliaspaulinazTDI20221.jpeg

Código

ArduinoLEDUltraCircuito foto NataliaSPaulinaZ TDI2022.png
//Código luces led y sensor ultrasónico
#define RED_PIN 25
#define GREEN_PIN 26
#define BLUE_PIN 32
#define echoPin 13
#define trigPin 12
//   # of milliseconds to pause between each pass of the main Arduino loop
#define Loop_Delay 1

float duration, distance;

  
//brightness level of each color (0..255)
  int Brightness_R;
  int Brightness_G;
  int Brightness_B;
//fade step counter for LED cycle through off (510 steps), fade on (255 steps),
//    on (510 steps), fade off (255 steps) 1530 total steps
  int FadeStep_R;  
  int FadeStep_G;
  int FadeStep_B;
//number of times LED has completed a full fade cycle
//  int CycleCountB; 
//  int CycleCountR;
//  int CycleCountG;
//used to establish what values to send to LED strip  
//  int ColorValue;
// =====================================
// ARDUINO SETUP ROUTINE
// -------------------------------------
void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  
  Serial.begin(9600);
  
//Serial.begin(9600);
  pinMode(RED_PIN, OUTPUT);
  pinMode(GREEN_PIN, OUTPUT);
  pinMode(BLUE_PIN, OUTPUT);
 
//CAMBIO DE COLOR LUCES RGB
//set initial strip color. 0(off) to 255(on). can be anything or nothing. 
//This value is constrained to 0 - 255. any number higher than 255 will be rounded down to 255.
//                                      any number lower than 0 will be rounded up to 0.
  Brightness_R = 0;
  Brightness_G = 0;
  Brightness_B = 0;
 
//Set starting fade step position. -764 to -255 = on (brightness level is 255)
//                                 -254 to 0 = fading on (this number *-1 = brightness level)
//                                 0 to 510 = off (brightness level is 0)
//                                 511 to 765 = fading off (this number - 510 = brightness level
//must each be 510 steps apart for smooth color pauses. 
//if pauses removed by commenting out or removing ColorValue if statements and rplacing 
//with setLEDS (Brightness_R, Brightness_G, Brightness_B); ,which I've already done, these number 
//can be any value from -764 to 765 in any combantion, likely making many unplesant fade patterns,
//but also with many possibilities for interesting patterns.  If all values are 510 steps apart   
//the results will ROY G BIV either forward or backward and starting at different positions 
//depending on the values given. the farther off the 510 steps of seperationg the further from
//ROY G BIV the pattern will move.
  FadeStep_R = 0;      //0      These setting for normal ROY G BIV
  FadeStep_G = 325;    //510
  FadeStep_B = 650;    //-510
//Set each LED's fade cycle counter to 0
//  CycleCountB = 0;
//  CycleCountR = 0;
//  CycleCountG = 0;
}
 
// =====================================
// ARDUINO MAIN LOOP ROUTINE
// -------------------------------------
void loop() {
   digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = (duration*.0343)/2;
  Serial.print("Distance: ");
  Serial.println(distance);
  delay(100);

  if (distance< 40) {
//decrement each LED's fade step counter by one at the start of each loop
    FadeStep_R = FadeStep_R - 1;
    FadeStep_G = FadeStep_G - 1;
    FadeStep_B = FadeStep_B - 1;
    
//fade red LED according to it's fade step counter.         
 if (FadeStep_R == -764) {FadeStep_R = 765;}
 if (FadeStep_R < 0) {Brightness_R = FadeStep_R * -1;}  
 if (FadeStep_R >= 510) {Brightness_R = FadeStep_R - 510;}
// if (FadeStep_R == -510) {CycleCountR = CycleCountR + 1;} //count + 1 for each full fade cycle
 
//fade green LED according to it's fade step counter.      
 if (FadeStep_G == -764) {FadeStep_G = 765;}
 if (FadeStep_G < 0) {Brightness_G = FadeStep_G * -1;}  
 if (FadeStep_G >= 510) {Brightness_G = FadeStep_G - 510;}
// if (FadeStep_G == -510) {CycleCountG = CycleCountG + 1;} //count + 1 for each full fade cycle
 
//fade blue LED according to it's fade step counter.  
 if (FadeStep_B == -764) {FadeStep_B = 765;}
 if (FadeStep_B < 0) {Brightness_B = FadeStep_B * -1;}  
 if (FadeStep_B >= 510) {Brightness_B = FadeStep_B - 510;}
// if (FadeStep_B == -510) {CycleCountB = CycleCountB + 1;} // count + 1 for each full fade cycle
  
//  if step counters are intialized 510 steps appart, -510 is the step in each LED's fade cycle
//  that it will be on full brightness while the other 2 LED's are off. 
 
    Brightness_B = constrain(Brightness_B, 0, 255);
    Brightness_G = constrain(Brightness_G, 0, 255);
    Brightness_R = constrain(Brightness_R, 0, 255); 
 
// if (CycleCountB == 8) {CycleCountB = 0;}  
// if (CycleCountR == 8) {CycleCountR = 0;}
// if (CycleCountG == 8) {CycleCountG = 0;}
    
// if (CycleCountR == 2) {ColorValue = 1 ;} //set point for pattern to pause on red
// if (CycleCountR > 2) {ColorValue = 0;}   
 
// if (CycleCountG == 4) {ColorValue = 2;}   //set point for pattern to pause on green
// if (CycleCountG > 4) {ColorValue = 0;}
  
// if (CycleCountB == 6) {ColorValue = 3;}   //set point for pattern to pause on blue
// if (CycleCountB > 6) {ColorValue = 0;}
 
//Send brightness levels to LED strip
setLEDS (Brightness_R, Brightness_G, Brightness_B);
// if (ColorValue == 0) {setLEDS (Brightness_R, Brightness_G, Brightness_B);} // default to fade pattern
// if (ColorValue == 1) {setLEDS (255, 0, 0);}  //LED strip red
// if (ColorValue == 2) {setLEDS (0, 255, 0);}  //LED strip green
// if (ColorValue == 3) {setLEDS (0, 0, 255);}  //LED strip blue
     
 //    slow the loop down a bit
    delay (Loop_Delay);
    }
    else  {setLEDS(0,0,0);}
 

} 
 //    send the LED levels to the Arduino pins
 void setLEDS (int ipR, int ipG, int ipB) {
  analogWrite (RED_PIN, ipR);     // send the red brightness level to the red LED's pin
  analogWrite (GREEN_PIN, ipG);
  analogWrite (BLUE_PIN, ipB);}


Registro

Primer día de exposición

Documentación GitHub

https://github.com/Paulina99Z/documentacion-proyecto#readme