sábado, 16 de mayo de 2020

Potenciómetro y RGB


Potenciómetro y RGB

En esta nueva entrada vamos a hacer 2 circuitos, uno con un led RGB (un led que puede cambiar de color) y otro circuito con un potenciómetro (una resistencia variable).

 Semáforo con un RGB

➯ Circuito





➯ Bloques




➯ Explicación
Primero colocamos un bloque que define los pasadores 9, 3 y 5 (son los pasadores a los que está conectado el RGB, cada posición corresponde a un color: rojo, verde y azul.) en un color, en este caso verde.
Después se coloca un bloque de espera, yo en este caso he puesto que se espere 5 segundos porque es el tiempo que quiero que se mantenga encendido el color verde.
Seguidamente colocamos otro bloque como el primero, pero en este caso para que el RGB se encienda en color ámbar.
Y colocamos otro bloque de espera pero ahora de una duración de 2 segundos porque es el tiempo que queremos que el color ámbar este encendido.
Finalmente colocamos de nuevo un bloque como el primero y como el segundo pero esta vez para que se encienda en rojo.
Y volvemos a poner otro bloque de espera que dure 6 segundo que es el tiempo que queremos que el RGB este encendido en rojo.

➯ Código

void setup()
{
  pinMode(9, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(5, OUTPUT);
}

void loop()
{
  analogWrite(9, 0);
  analogWrite(3, 153);
  analogWrite(5, 0);
  delay(5000); // Wait for 5000 millisecond(s)
  analogWrite(9, 255);
  analogWrite(3, 153);
  analogWrite(5, 0);
  delay(2000); // Wait for 2000 millisecond(s)
  analogWrite(9, 255);
  analogWrite(3, 0);
  analogWrite(5, 0);
  delay(6000); // Wait for 6000 millisecond(s)

}


➯ Vídeo





➤ Potenciómetro

➯ Circuito



➯ Bloques


➯ Explicación

Primero colocamos un bloque que nos permite imprimir los valores que está registrando potenciómetro y ponemos que lea el pasador A0 que es donde esta conectado el potenciómetro.
Después ponemos un bloque de espera.
Finalmente colocamos un bloque que define el pasador 6 (que es donde hemos colocado el led) y ponemos que los valores del pasador A0 se dividan entre 4. Para que el led se pueda encender entre los valores 256 y 0.

➯ Código

void setup()
{
  pinMode(A0, INPUT);
  Serial.begin(9600);

  pinMode(6, OUTPUT);
}

void loop()
{
  Serial.println(analogRead(A0));
  delay(1000); // Wait for 1000 millisecond(s)
  analogWrite(6, (analogRead(A0) / 4));
}


➯ Vídeo