Arduino Nano - Botón - Bomba

Este tutorial te enseña cómo usar Arduino Nano para encender una bomba durante unos segundos y luego apagarla cuando se presiona un botón.

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cable USB A a Mini-B
1×Botón para Protoboard con Tapa
1×Kit de Botón para Protoboard
1×Botón Pulsador de Panel
1×Módulo de Botón Pulsador
1×Relé
1×12V Bomba
1×Vinyl Tube
1×Adaptador de Corriente 12V
1×Conector de Alimentación DC
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de Botón y Bomba

Si no está familiarizado con la bomba y el botón (incluyendo la asignación de pines, el funcionamiento y la programación), los siguientes tutoriales pueden ayudar:

Diagrama de Cableado

Arduino Nano, controles de botón, diagrama de cableado de la bomba

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Código de Arduino Nano

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-button-pump */ #include <ezButton.h> // include ezButton library #include <ezOutput.h> // include ezOutput library ezOutput pump(2); // create ezOutput object attached to pin D2 ezButton button(8); // create ezButton object attached to pin D8 void setup() { Serial.begin(9600); button.setDebounceTime(50); // set debounce time to 50 milliseconds pump.low(); // turn pump off } void loop() { pump.loop(); // MUST call the loop() function first button.loop(); // MUST call the loop() function first if (button.isPressed()) { Serial.println("Pump is started"); pump.low(); pump.pulse(10000); // turn on for 10000 milliseconds ~ 10 seconds // after 10 seconds, pump will be turned off by pump.loop() function } }

※ Nota:

El código anterior realiza las siguientes tareas:

  • Utiliza la biblioteca ezButton library para eliminar el rebote del botón. Consulta Why do we need debouncing? para obtener más información.
  • Utiliza la ezOutput library para encender la bomba durante 10 segundos cuando se presiona el botón.
  • Es código no bloqueante, gracias a las bibliotecas ezButton y ezOutput.

Pasos R\u00e1pidos

  • Conecta un cable USB desde el Arduino Nano a una computadora.
  • Abre el IDE de Arduino, selecciona la placa y el puerto adecuados.
  • Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “ezButton” y localiza la biblioteca de botones de ArduinoGetStarted.
  • Pulsa el botón Instalar para instalar la biblioteca ezButton.
Librería de botones para Arduino Nano
  • Busca “ezOutput” y localiza la biblioteca de salida de ArduinoGetStarted.
  • Haz clic en el botón Instalar para instalar la biblioteca ezOutput.
Biblioteca de salida de Arduino Nano
  • Copia el código y ábrelo en el IDE de Arduino.
  • Haz clic en el Subir botón en el IDE de Arduino para compilar y subir el código al Arduino Nano.
Subir código al IDE de Arduino
  • Presione el botón
  • Consulte el estado de la bomba

Explicación del código

¡Consulta la explicación línea por línea contenida en los comentarios del código fuente!

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!