.. 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_digital_read: 1.4 Lectura Digital ==================== Resumen ---------- Puedes utilizar el comando digitalRead() para leer el estado de nivel de un pin digital. Este comando es adecuado para elementos de entrada digital como botones, sensores táctiles, sensores de movimiento infrarrojos, etc. En este artículo, tomaremos como ejemplo el botón para leer el estado de nivel. Este ejemplo también te muestra cómo monitorear el estado de un interruptor utilizando USB para establecer comunicación serial entre una placa de control y una computadora. Componentes necesarios ------------------------- .. image:: img/list_1.4.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_button` * :ref:`cpn_resistor` Circuito Fritzing --------------------- En este ejemplo, leemos la señal del botón con el pin digital 2. Cuando el botón no está presionado, el pin digital 2 (a través de la resistencia de pull-down) está conectado a tierra para leer el nivel bajo (0); cuando el botón está presionado, ambos pines se conectan y, cuando el pin se conecta a la fuente de 5V, se lee el nivel alto (1). .. image:: img/image403.png .. note:: Si desconectas el pin digital I/O de todo, el LED puede parpadear de manera errática. Esto se debe a que la entrada está "flotando", es decir, no tiene una conexión sólida a voltaje o tierra, y devolverá aleatoriamente un valor de HIGH o LOW. Por eso es necesario usar una resistencia de pull-down en el circuito. Diagrama esquemático ----------------------- .. image:: img/image404.png Código --------- .. note:: * Puedes abrir el archivo ``1.4_digitalRead.ino`` en la ruta ``sunfounder_vincent_kit_for_arduino\code\1.4_digitalRead`` directamente. * O copiar este código en el IDE de Arduino. .. raw:: html Después de cargar el código en la placa Mega2560, podemos abrir el monitor de puerto serie para ver el valor leído del pin. Cuando presionas el botón, el monitor de puerto serie mostrará "1" y cuando se suelta el botón, se mostrará "0". Análisis del código ------------------------ Inicia la comunicación serial en setup() y establece la tasa de datos a 9600. .. code-block:: arduino Serial.begin(9600); También necesitas configurar el estado del pin digital 2 como INPUT para leer el estado de salida del botón. .. code-block:: arduino pinMode(2, INPUT); Usa el comando digitalRead() en loop() para leer el estado de nivel del pin digital 2 y declarar una variable para almacenar el estado. .. code-block:: arduino int buttonState = digitalRead(2); Imprime el valor almacenado en la variable en el monitor de puerto serie. .. code-block:: arduino Serial.println(buttonState); Usa declaraciones delay() para que los resultados de impresión sean fáciles de observar. .. code-block:: arduino delay(1); ※ Cómo activar el monitor de puerto serie --------------------------------------------- Haz clic en el ícono de la lupa en la parte superior derecha de la ventana de programación del IDE de Arduino para abrir el **Monitor Serial**. .. image:: img/image405.png Imagen del fenómeno ---------------------- .. image:: img/image43.jpeg