- 1 LED RGB
- 3 resistencias de 220
- 3 resistencias de 10 k
- 3 fotorresistencias
Con el LED RGB, mezclaremos los 3 colores primarios, rojo, azul y verde, para obtener tantos colores como queramos. Esto se hará con diferentes voltajes en cada patilla del RGB para obtener mezclar los colores a nuestro gusto. Aquí una imagen del LED RGB y tanto sus conexiones individuales como las de la práctica montada:
- R: rojo
- B: azul
- G: verde
- -: tierra
Las fotorresistencias ofrecerán diferentes valores de resistencia según la cantidad de luz que les llegue.
El código usado será el siguiente, comentado por mí:
const int greenLEDPin = 9 ; //crea la variable para el pin de salida del led verde
const int redLEDPin = 11; //crea la variable para el pin de salida del led rojo
const int blueLEDPin = 10; //crea la variable para el pin de salida del led azul
const int redSensorPin = A0; //crea la variable para la entrada del led rojo
const int greenSensorPin = A1; //crea la variable para la entrada del led verde
const int blueSensorPin = A2; //crea la variable para la entrada del led azul
int redValue = 0; //crea la variable para el valor del voltaje del led rojo
int greenValue = 0; //crea la variable para el valor del voltaje del led verde
int blueValue = 0; //crea la variable para el valor del voltaje del led azul
int redSensorValue = 0; //crea la variable para el valor del sensor para el led rojo
int greenSensorValue = 0; //crea la variable para el valor del sensor para el led verde
int blueSensorValue = 0; //crea la variable para el valor del sensor para el led azul
void setup(){ //aquí, como siempre, el setup declarado que pines son salidas
Serial.begin(9600);
pinMode(greenLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
}
void loop(){
/*
con este código, se revisa repetidamente el estado del voltaje que entra por las entradas analógicas en cada pin con el analogRead, después escribe los voltajes según convenga a fin de que salga por las salidas correspondientes a los pines del RGB
*/
/*
con este código, se revisa repetidamente el estado del voltaje que entra por las entradas analógicas en cada pin con el analogRead, después escribe los voltajes según convenga a fin de que salga por las salidas correspondientes a los pines del RGB
*/
redSensorValue = analogRead(redSensorPin);
delay(5);
greenSensorValue = analogRead(greenSensorPin);
delay(5);
blueSensorValue = analogRead(blueSensorPin);
Serial.print("Raw SensorValues \t Red: ");
Serial.print(redSensorValue);
Serial.print("\t Green: ");
Serial.print(greenSensorValue);
Serial.print("\t Blue: ");
Serial.print(blueSensorValue);
redValue = redSensorValue/4;
blueValue = blueSensorValue/4;
greenValue = greenSensorValue/4;
Serial.print("Mapped SensorValues \t Red: ");
Serial.print(redValue);
Serial.print("\t Blue: ");
Serial.print(blueValue);
Serial.print("\t Green: ");
Serial.print(greenValue);
analogWrite(redLEDPin, redValue); //aquí cambia el color del led
analogWrite(greenLEDPin, greenValue);
analogWrite(blueLEDPin, blueValue);
}
La simulación en circuits.io es la siguiente:
Y la construcción en formato físico con su funcionamiento es esta:


No hay comentarios:
Publicar un comentario