Código
/* Haremos que un Led tenga disolvencia en su brillo usando un pin con PWM
Los valores del brillo funcionan de 0 a 255 */
int lightPin = 0; // Pin LDR.
int ledPin = 9; // Pin LED.
int valor; // Variable para cálculos.
int min = 988; // Valor minimo obtenido por A0.
int max = 1018; // Valor maximo obtenido por A0.
void setup()
{
Serial.begin(9600); // Inicializa el puerto serie.
pinMode( ledPin, OUTPUT ); // ledPin como salida.
}
void loop()
{
valor = analogRead(lightPin); // Leemos el valor de A0.
Serial.print ("Valor de entrada: ");
Serial.println(valor); // Valor de entrda de A0.
valor = constrain(valor, min, max); // Normalizamos el valor.
valor = map(valor, min, max, 0, 255); // Re-mapeamos.
analogWrite(ledPin, valor); // Escribimos el valor.
Serial.print ("Valor de salida: ");
Serial.println(valor); // Valor de salida del LED.
delay(500);
}
Opción B
Opción B
De esta forma el led se mantiene encendido y se apaga cuando se tapa la foto celda.
int lightPin = 0; // Pin LDR. int ledPin = 9; // Pin LED. int valor; // Variable para cálculos. int min = 0; // Valor minimo obtenido por A0. int max = 1023; // Valor maximo obtenido por A0. void setup() { Serial.begin(9600); // Inicializa el puerto serie. pinMode( ledPin, OUTPUT ); // ledPin como salida. } void loop() { valor = analogRead(lightPin); // Leemos el valor de A0. Serial.print ("Valor de entrada: "); Serial.println(valor); // Valor de entrda de A0. valor = constrain(valor, min, max); // Normalizamos el valor. valor = map(valor, min, max, 255, 0); // Re-mapeamos. analogWrite(ledPin, valor); // Escribimos el valor. Serial.print ("Valor de salida: "); Serial.println(valor); // Valor de salida del LED. delay(500); }
0 comentarios:
Publicar un comentario