Práctica 20
Replicar el sistema de control del encendido del LED en función de la
posición del potenciómetro. Tomar en consideración el siguiente programa
//Variables globales
// Variables constantes para los pines
const int potPin = A0; // selecciona el pin de entrada para el potenciómetro
const int ledPin = 9; // selecciona pin 9 para el LED
// variables que almacenan los datos
int potValue = 0; // variable para almacenar los valores del potenciómetro 0-
1023
int bright = 0; // variable que almacena el valor del sensor mapeado 0-255
void setup() {
// nada que declarar en el setup}
void loop() {
// lee el valor del sensor 0-1023
potValue = analogRead(potPin);
// mapea el valor a escala 0-255
bright = map(potValue, 0, 1023, 0, 255);
// escribimos el valor en analogico en el LED
analogWrite(ledPin, bright);
}
2. Probar a cambiar los tiempos de subida y bajada del LED en el primer
sistema mediante variación del delay y mediante cambios en el
incremento del bucle de repetición. Tomar en cuenta el siguiente código
const int ledPin = 9; // LED conectado a Pin 9
void setup() {
// nada que declarar en el set up
}
void loop() {
// Encendido gradual del LED en 2,5s
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
analogWrite(ledPin, fadeValue); // establece el valor de 0 a 255
delay(50); // espera de 50 ms
}
// Apagado gradual del LED en 2,5
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
analogWrite(ledPin, fadeValue); // establece el valor de 255 a 0
delay(50); // espera de 50 ms
}
}
Práctica 21. Interruptor Crepuscular
- Monitoriza el valor de la LDR. Probar cómo influye el uso de diferentes
resistencias (1k- 10k) en el valor de lectura. Elegir la más adecuada,
aquella que nos de un mayor rango, para nuestras condiciones - Replicar el sistema expuesto en el vídeo
- Realizar un sistema que muestre la intensidad luminosa por medio de 4
leds. De forma que a baja intensidad luminosa solo se ilumine un led y a
medida que va subiendo la intensidad se iluminen más leds - Añadir un interruptor que conecte y desconecte el sistema
// variables constantes para los pines
const int ldrPin = A0; // establece el pin de la LDR
const int ledPin = 12; // establece el pin del LED rojo
// variables que pueden cambiar
int ldrValue = 0; // variable para almacenar el valor de la LDR
int ldrlevel=200; // nivel de cambio del valor de la LDR
void setup() {
// establece el LED como una salida
pinMode(ledPin, OUTPUT);
}
void loop() {
// lee el valor del sensor
ldrValue = analogRead(ldrPin);
// si el valor es menor enciende los LEDs
if (ldrValue < ldrlevel) {
digitalWrite(ledPin, HIGH);
}
// sino los apaga
else {
digitalWrite(ledPin, LOW);
}
}
Práctica 22 la nota de esta práctica se evaluará como si fuera un EXAMEN
Cambiar el potenciómetro por una LDR en la práctica 20 y hacer que el LED
se ilumine en proporción inversa a la intensidad luminosa. Mucha luz poca
intensidad, poca luz mucha iluminación.