Arduino - Compteur de Bouton - LCD
Dans ce tutoriel, nous allons utiliser Arduino :
- Comptez le nombre de fois qu'un bouton est pressé.
- Affichez le nombre de pressions sur un écran LCD I2C.
- Centrez automatiquement le nombre de pressions verticalement et horizontalement sur l'écran LCD I2C.
Dans ce tutoriel, le bouton est également déparasité sans utiliser la fonction delay(). Voir Pourquoi avons-nous besoin de déparasiter?
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
À propos de l'écran LCD I2C et du bouton
Si vous ne connaissez pas les écrans LCD I2C et les boutons (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Code Arduino - affichage du nombre de clics sur un écran LCD I2C
/*
* Ce code Arduino a été développé par newbiely.fr
* Ce code Arduino est mis à disposition du public sans aucune restriction.
* Pour des instructions complètes et des schémas de câblage, veuillez visiter:
* https://newbiely.fr/tutorials/arduino/arduino-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(13); // create ezButton object that attach to pin 13;
unsigned long lastCount = 0;
void setup() {
Serial.begin(9600);
lcd.init(); // initialize the lcd
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 (lastCount != 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);
lastCount != count;
}
}
Étapes rapides
- Naviguez vers l'icône Libraries sur la barre latérale gauche de l'IDE Arduino.
- Recherchez "ezButton", puis trouvez la bibliothèque de boutons par ArduinoGetStarted.
- Cliquez sur le bouton Install pour installer la bibliothèque ezButton.
- Recherchez « LiquidCrystal I2C », puis trouvez la bibliothèque LiquidCrystal_I2C de Frank de Brabander.
- Cliquez sur le bouton Install pour installer la bibliothèque LiquidCrystal_I2C.
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code vers Arduino
- Appuyez plusieurs fois sur le bouton
- Observez le changement du nombre compté sur l'écran LCD
※ NOTE THAT:
L'adresse I2C de l'écran LCD peut varier selon les fabricants. Dans le code, nous avons utilisé 0x27 qui est spécifié par le fabricant DIYables.