Nota
¡Hola, bienvenido a la Comunidad de Entusiastas de Raspberry Pi, Arduino y ESP32 en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
¿Por qué unirse?
Soporte experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.
Vistas previas exclusivas: Obtén acceso anticipado a nuevos anuncios de productos y avances.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones festivas y sorteos: Participa en sorteos y promociones especiales de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.
1.7 Control de Entrada Analógica y Salida
Resumen
Puedes instalar un sistema de E/S utilizando un dispositivo de entrada/salida analógico. Por ejemplo, puedes usar un potenciómetro, una fotorresistencia, un sensor de nivel de agua, etc., para controlar el brillo de un LED, la velocidad de un motor, entre otros. En esta lección, se toman como ejemplo el potenciómetro y el LED para cambiar el brillo del LED cuando se ajusta el potenciómetro.
Componentes necesarios
Circuito Fritzing
En esta lección, usamos el pin PWM 9 para controlar el LED. El pin analógico (A0) se utiliza para leer el valor del potenciómetro. Después de cargar el código, notarás que el brillo del LED cambia a medida que se gira el potenciómetro.
Diagrama esquemático
Código
Nota
Puedes abrir el archivo
1.7_analogInputControlOutput.inoen la rutasunfounder_vincent_kit_for_arduino\code\1.7_analogInputControlOutputdirectamente.O copiar este código en el IDE de Arduino.
Cuando el código se carga en la placa Mega2560, puedes observar que el brillo del LED cambia con el giro del potenciómetro.
Análisis del código
Declara los pines del LED y el potenciómetro.
const int sensorPin = A0;
const int ledPin = 9;
En setup(), establece el modo del pin del LED a OUTPUT.
pinMode(ledPin,OUTPUT);
Lee los valores del potenciómetro en loop().
int sensorValue=analogRead(sensorPin);
Mapea la lectura del potenciómetro al valor de brillo del LED (de 0-1024 a 0-255).
int brightness = map(sensorValue,0,1024,0,255);
Escribe el valor de brillo al LED.
analogWrite(ledPin,brightness);
Imagen del fenómeno