.. note::
Hola, ¡bienvenido a la Comunidad de Entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook! Profundiza tus conocimientos sobre Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
**¿Por qué unirte?**
- **Soporte experto**: Resuelve problemas postventa y desafíos técnicos con ayuda de nuestra comunidad y equipo.
- **Aprende y comparte**: Intercambia consejos y tutoriales para mejorar tus habilidades.
- **Avances exclusivos**: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.
- **Descuentos especiales**: Disfruta de descuentos exclusivos en nuestros productos más recientes.
- **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_button:
2.15 Botón
============
Resumen
----------
En esta lección, aprenderás sobre el botón. El botón es un componente
comúnmente usado para controlar dispositivos electrónicos. Suele utilizarse
como un interruptor para conectar o interrumpir circuitos.
Componentes necesarios
------------------------
.. image:: img/list_2.15.png
* :ref:`cpn_mega2560`
* :ref:`cpn_breadboard`
* :ref:`cpn_wires`
* :ref:`cpn_resistor`
* :ref:`cpn_button`
Circuito Fritzing
--------------------
En este ejemplo, leemos la señal del botón con el pin digital.
Cuando el botón no está presionado, el pin digital 2 (a través de una
resistencia pull-down) se conecta a tierra, leyendo un nivel bajo (0).
Cuando se presiona el botón, ambos pines se conectan, y cuando el pin
se conecta a la fuente de alimentación de 5V, se lee un nivel alto (1).
.. image:: img/image464.png
.. note::
Si desconectas el pin de I/O digital de cualquier conexión, el LED puede
parpadear de manera errática. La entrada queda "flotante" o sin una conexión
sólida a voltaje o tierra, y por lo tanto, regresará aleatoriamente valores
HIGH o LOW. Por eso es necesaria una resistencia pull-down en el circuito.
Diagrama esquemático
-----------------------
.. image:: img/image465.png
Código
----------
**Ejemplo 1:**
.. note::
* Puedes abrir el archivo ``2.15_button.ino`` en la ruta ``sunfounder_vincent_kit_for_arduino\code\2.15_button`` directamente.
* O copiar este código en el IDE de Arduino.
.. raw:: html
Una vez cargado el código en la placa Mega2560, podrás ver las lecturas de los
pines en el monitor serial. Cuando presionas el botón, se mostrará un 「1」 en
el monitor serial, y cuando lo sueltas, se mostrará un 「0」. Para más detalles
sobre el código, consulta :ref:`ar_digital_read`.
**Ejemplo 2:**
.. note::
* Puedes abrir el archivo ``2.15_button_2.ino`` en la ruta ``sunfounder_vincent_kit_for_arduino\code\2.15_button_2`` directamente.
* O copiar este código en el IDE de Arduino.
.. raw:: html
Una vez cargado el código en la placa Mega2560, cada vez que presiones el botón,
el valor de salida cambiará entre 0 y 1. Si deseas conocer más sobre la explicación
del código, consulta :ref:`ar_state_change`.
Imagen del fenómeno
-----------------------
.. image:: img/image43.jpeg