Arduino - Knop Tellen - LCD

In deze handleiding gaan we Arduino gebruiken voor het volgende:

In deze handleiding wordt de knop ook gedebounced zonder gebruik te maken van de delay()-functie. Zie Waarom hebben we debouncing nodig?

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×Button voor breadboard met kapje
1×Button kit voor breadboard
1×Panel-mount push button
1×Drukknopmodule
1×LCD I2C display
1×Breadboard (experimenteerprint)
1×Jumper draden
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables STEM V3 Starterskit (Arduino inbegrepen)
1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Aankoopadvies: Een andere optie is om het LCD I2C-display te maken door LCD 1602 Display en PCF8574 I2C Adapter Module te combineren.

Over LCD I2C en Knop

Als u niet bekend bent met LCD I2C en knop (pinout, werking, programmeren ...), leer er dan meer over in de volgende tutorials:

Bedradingsschema

Arduino Knop LCD I2C Bedradingsschema

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.

Arduino Code - knop tellen weergeven op LCD I2C

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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; } }

Snelle Stappen

  • Navigeer naar het icoon Libraries in de linker zijbalk van de Arduino IDE.
  • Zoek op “ezButton” en vind de knopbibliotheek van ArduinoGetStarted
  • Klik op de knop Install om de ezButton bibliotheek te installeren.
Arduino knop bibliotheek
  • Zoek op “LiquidCrystal I2C” en vind de LiquidCrystal_I2C bibliotheek van Frank de Brabander
  • Klik op de knop Install om de LiquidCrystal_I2C bibliotheek te installeren.
Arduino LiquidCrystal I2C bibliotheek
  • Kopieer de hierboven vermelde code en open deze in de Arduino IDE
  • Klik op de knop Upload in de Arduino IDE om de code naar Arduino te uploaden
  • Druk meerdere keren op de knop
  • Zie het getal op het LCD veranderen

※ Notiz:

Het I2C-adres van het LCD kan verschillen per fabrikant. In de code gebruiken we 0x27, dat gespecificeerd is door de fabrikant DIYables

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!