3.3 M4 Intensidad LED
Se trata de obtener el mismo efecto que se consiguió en la práctica correspondiente al potenciómetro, las instrucciones principales eran:
void loop() {
val = analogRead(0); // val tiene el rango 0-1024
analogWrite(3, val/4); //dividimos por 4 para entrar en el rango 0-255
}
Pero en este caso utilizaremos el mapeo.
La descripción de la práctica es la siguiente:
La regulación del potenciómetro provocará una variación de voltaje en el pin de entrada analógico 0 de Arduino. Se realizará una conversión analógica-digital en el que los valores de tensión analógicos entre 0 y 5 V se transforma a un rango discreto de valores de 0 a 1023. Para modificar la intensidad del led rojo le se enviará una señal pseudoanalógica PWM utilizando la salida 5 digital de Arduino. Para ello se enviará un valor de 0 a 255 que marcará el ciclo de trabajo de la onda cuadrada PWM. Previamente habrá que realizar un mapeo (instrucción map) para asignar valores desde el intervalo [0, 1023] al [0, 255].
SIN EDUBASICA
Tienes que conectar un led al D5 y un potenciómetro al A0
CON EDUBÁSICA
No tienes que conectar nada ;) ya está !
Continuamos
Este es el PROGRAMA:
```cpp+lineNumbers:true / Regular la luminosidad del LED rojo con el potenciómetro de Edubásica Conexiones: Pin 5 digital Arduino -> LED rojo Edubásica Pin 0 analógico Arduino -> Potenciómetro Edubásica /
int ledPin = 5; int potenPin = A0; int intensity, valor_poten;
void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600); }
void loop() { valor_poten=analogRead(potenPin); intensity = map(valor_poten, 0, 1024, 0, 255); analogWrite(ledPin,intensity); //Envia una onda PWM especificado en la varible: intensity. // Observamos la lectura analogica para comprobar el fondo de escala (0 -> 1024)
Serial.print("valor analógico leído="); Serial.println(analogRead(potenPin)); delay (1000); } ```