.. note:: ¡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 [|link_sf_facebook|] y únete hoy mismo. .. _ar_analog_input_output: 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 -------------------------- .. image:: img/list_1.7.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_led` * :ref:`cpn_resistor` * :ref:`cpn_potentiometer` 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. .. image:: img/image50.png Diagrama esquemático ----------------------- .. image:: img/image408.png Código --------- .. note:: * 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. .. raw:: html 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. .. code-block:: arduino const int sensorPin = A0; const int ledPin = 9; En setup(), establece el modo del pin del LED a OUTPUT. .. code-block:: arduino pinMode(ledPin,OUTPUT); Lee los valores del potenciómetro en loop(). .. code-block:: arduino int sensorValue=analogRead(sensorPin); Mapea la lectura del potenciómetro al valor de brillo del LED (de 0-1024 a 0-255). .. code-block:: arduino int brightness = map(sensorValue,0,1024,0,255); Escribe el valor de brillo al LED. .. code-block:: arduino analogWrite(ledPin,brightness); Imagen del fenómeno ---------------------- .. image:: img/image51.jpeg