-protoboard
-leds
-arduinio
-un potenciómetro
-una resistencia de 220
Circuito
Es el mismo que el pasado, solo a este le agregaremos el potenciometro,
Para la entrada, usaremos el circuito para sensar los valores analógicos que nos da un potenciómetro. Y para la salida, que también será analógica, el circuito para iluminar un led, por lo que ahora tenemos que poner el led en un pin con salida PWM, el 9 por ejemplo.
CODIGOS;
analogRead() para leer los valores que nos da el potenciómetro.
analogWrite() para darle los valores PWM al led
map() que nos permite ajustar un valor entre ambos rangos.
A esta función map() le tenemos que pasar 5 parámetros. El primero es el valor que queremos mapear. Después le damos el rango de valores entre los que está este valor y después el rango de valores entre los que queremos convertirlo o mapearlo. La función nos devolverá el valor equivalente, ajustado al nuevo rango.
EJEMPLO:
/*
En este proyecto leemos el valor de un potenciómetro
y con este valor le damos el brillo a un led usando una señal PWM
*/
// Declaramos las constantes que vamos a usar
const int pinSensor = 0; // pin del sensor analógico, con un potenciometro
const int pinLed = 9; // pin con el led, tiene pwm
// Declaramos las variables que vamos a usar
int brilloLed = 0; // variable para guardar el valor con el que se iluminara el led
int valorPotenciometro = 0; // variable para guardar el valor leido del sensor
void setup() {
// Incializa el pin del botón como entrada
pinMode(pinSensor, INPUT);
// Incializa el pin del led como salida, aunque no es necesario
pinMode(pinLed, OUTPUT);
// Inicializa la comunicación serial
Serial.begin(9600);
}
void loop(){
// Lee el valor del sensor
valorPotenciometro = analogRead(pinSensor);
// Transforma este valor en el valor que usaremos para el led
// Para ello usaremos la funcion map()
brilloLed = map(valorPotenciometro, 0, 1023, 0, 255);
// Utilizamos este valor para iluminar el led
analogWrite(pinLed, brilloLed);
// manda los valores por el serial
Serial.print("Valor del Potenciometro = ");
Serial.print(valorPotenciometro);
Serial.print(" Brillo del Led = ");
Serial.println(brilloLed);
delay(100);
}
Referencias:
Arduino Reference: analogRead()
Referencia Arduino: analogRead()
Función para leer el estado de un pin digital.
Arduino Reference: analogWrite()
Referencia Arduino: analogWrite()
Genera una señal de salida analógica con PWM. El parámetro, entre 0 y 255, indica la frecuencia de la señal.
Arduino Reference: map()
Referencia Arduino: map()
Mapea un valor en un rango de valores a sus equivalentes en otro rango de valores.

