Stap 3: Het omzetten van een deel van de schets in een bibliotheek
Sommige delen van de schets hebben meer dan één keer worden herhaald vanwege het "karakter" van het toetsenbord. Dat is waarom we dachten dat het zou geweest zijn voordelig voor het schrijven van een bibliotheek. Bovendien is werken met een bibliotheek de eenvoudigste manier toevoegen of wijzigen van functies, omdat je alleen aan te passen een bestand in plaats daarvan veel.
We gaan niet uit te leggen hoe het schrijven van een bibliotheek voor de Arduino, zowel omdat een uitstekende *officiële gids al bestaat en omdat we niet willen dat de tutorial uselessly lang worden. Wat we gaan doen is een lijst van de functies ervan en welke zijn de parameters die zij nodig hebben. En ook, we zullen niet uitleggen wat de methoden doen omdat wij het in de vorige stap deden.
Opmerking: de bibliotheek werkt alleen met een 16 x 2 LCD-scherm, zodat het niet kan worden gebruikt als u kiest voor het afdrukken van uitgangen op seriële monitor, tenzij je besluit om het te wijzigen.
Het gebruik van de bibliotheek
TechrmKeypad is de naam van de klasse.
Het eerste wat dat we gaan doen is exemplaar van een object van de klasse de drukknop parameters doorgeven aan het.
In het volgende voorbeeld:
TechrmKeypad toetsenblok (sleutel0, key1, key2, key3, key4, key5, key6, key7, key8, key9, DEL, ENTER);
De volgende instructies zijn de methoden beschikbaar:
toetsenblok.wait (): is een ongeldig methode en hoeft niet elke parameter.
toetsenblok.readkey (): als de vorige, dit is een ongeldig methode en hoeft niet elke parameter.
toetsenblok.insertNumb (& lcd, & control, fout, & number_1, & number_2, & MAXWAARDE): dit is ook een ongeldig methode maar het aantal parameters vereist. Ten eerste, het wordt een aanwijzer van een exemplaar van het LCD-scherm en vervolgens de aanwijzers voor de volgende globale variabelen:
- control_
- error_
- number_1_
- number_2_
- MAXWAARDE
Naast deze methoden kan u een om de volgende regels, die vele malen herhaald wrap implementeren:
void printOpenmesg (char* myString1, char* myString2) { lcd_.clear(); lcd_.setCursor(0, 0); lcd_.print(myString1); lcd_.setCursor(0, 1); lcd_.print(myString2); }