Arduino Nano - Conteo de botones - Pantalla LCD

Este tutorial te enseña cómo usar Arduino Nano para contar las pulsaciones de un botón y mostrar el valor en una pantalla LCD. Es posible adaptar esto para sensores alternativos, en lugar de solo el botón.

En este tutorial, aplicaremos el anti-rebote al botón sin usar la función delay(). Para obtener más información sobre por qué es necesario el anti-rebote, por favor consulte ¿Por qué necesitamos el anti-rebote?.

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano 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×LCD I2C
1×Protoboard
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 (30 sensors/displays)
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 LCD I2C y Botón

Si no estás familiarizado con LCD I2C y con el botón (disposición de pines, cómo funciona, cómo programarlo ...), los siguientes tutoriales pueden ayudarte a aprender:

Diagrama de Cableado

Diagrama de cableado de Arduino Nano, botón y LCD I2C

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 para mostrar el conteo de botones en LCD I2C

/* * 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-count-lcd */ #include <LiquidCrystal_I2C.h> #include <ezButton.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows ezButton button(4); // create ezButton object for pin D4 unsigned long prev_count = 0; void setup() { Serial.begin(9600); lcd.init(); // Initialize the LCD I2C display lcd.backlight(); // open the backlight button.setDebounceTime(50); // set debounce time to 50 milliseconds button.setCountMode(COUNT_FALLING); } void loop() { button.loop(); // MUST call the loop() function first unsigned long count = button.getCount(); if (prev_count != count) { Serial.println(count); // print count to Serial Monitor lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Count: "); lcd.print(count); prev_count != count; } }

Pasos R\u00e1pidos

  • Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “ezButton” y localiza la biblioteca de botones de ArduinoGetStarted.
  • Presiona el botón Instalar para instalar la biblioteca ezButton.
Librería de botones para Arduino Nano
  • Busca “LiquidCrystal I2C” y luego localiza la biblioteca LiquidCrystal_I2C creada por Frank de Brabander.
  • Haz clic en el botón Instalar para instalar la biblioteca LiquidCrystal_I2C.
Biblioteca LiquidCrystal I2C para Arduino Nano
  • Copia el código y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir para transferirlo al Arduino Nano.
  • Pulsa el botón varias veces.
  • Observa cómo cambia el conteo en el LCD.

※ Nota:

La dirección I2C de la pantalla LCD puede variar según el fabricante. En el código, hemos utilizado 0x27, que está especificado por el fabricante DIYables.

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!