En esta entrada hablaremos de la modulación por ancho de pulso (PWM) y de comunicación serial. si bien el arduino dice tener salidas analógicas estas no son mas que salidas de PWM que se pueden convertir en valores de voltaje estático con un circuito extra, PERO NO LO SON. sin embargo es muy practico utilizar estas salidas para controlar el brillo de un led, la velocidad de un motor, o la temperatura de un generador de calor eléctrico.
El circuito propuesto para esta experiencia es el siguiente.
Con capturaremos el valor analógico del potenciometro este sera de 10 bits (0-1023) como lo hicimos en el montaje anterior, y lo manejaremos matemáticamente para adaptarlo a los valores de pwm que van desde 0 a 255 y observaremos ambos valores a través del puerto serial. también variaremos el brillo de un led y controlaremos la velocidad de un pequeño motor DC.
el software que estaremos utilizando es el siguiente.
/*
lectura analogica serial
lee un valor por la entrada analogia A0 y la envia de forma serial
para ser visualizada por el monitor serial
*/
void setup() {
Serial.begin(115200); // configura la velocidad del puerto serial
}
void loop() {
int sensorValue = analogRead(A0); // guarda el valor de la lectura del puerto analógico en sensorValue
analogWrite(9,sensorValue/4); // divide el valor analogico el PWM es de solo hasta 255
Serial.print("sensor "); // envia el string sensor a el puerto serial
Serial.print(sensorValue); // envia el valor del sensorValue a el puerto serial
Serial.print(" PWM "); // envia el string PWM a el puerto serial
Serial.println(1024-sensorValue); // envia el valor del PWM a el puerto serial y salta una linea
}
y el vídeo del montaje a continuación.
hasta la próxima...
No hay comentarios:
Publicar un comentario