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

../_images/list_1.7.png

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.

../_images/image50.png

Diagrama esquemático

../_images/image408.png

Código

Nota

  • Puedes abrir el archivo 1.7_analogInputControlOutput.ino en la ruta sunfounder_vincent_kit_for_arduino\code\1.7_analogInputControlOutput directamente.

  • 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

../_images/image51.jpeg