Stap 3: Aansluiten van een LCD-scherm en een piëzo-elektrische zoemer
Nu is het tijd om de LCD display aan onze Arduino aansluit. Zoals gezien in de inleiding, moet u ook sommige andere dingen te maken van dit circuit: een 2N3904 transistor (of, als alternatief, een 2N2222), een 10 k Ohm weerstand, een 10 k Ohm lineaire potentiometer voor het aanpassen van het contrast. Deze componenten zijn nodig om het LCD-scherm inschakelen bij het indrukken van de drukknop tijdens de metingen.
Bovendien, het toevoegen van een piëzo-elektrische spreker kunnen een verstandige keuze als u wilt worden geïnformeerd wanneer de afstandsmeter uit van gaat bereiken.
Opmerking: we gaan niet uit te leggen hoe u een LCD-scherm verbinding met Arduino evenals hoe om te controleren zijn rug-licht omdat deze procedures zijn reeds verklaard in de vijfde en zesde stappen van onze vorige tutorial respectievelijk.
- hoe u een LCD-scherm verbinding met Arduino...
- .. .en hoe haar rug-licht
Maar bent u alleen geïnteresseerd in het doen van de verbindingen, zie de bijgevoegde Fritzing regeling.
Opmerking: Aangezien de pin 7 nu door het beeldscherm gebruikt wordt, veranderden wij de pin door het HC-SR04 verplaatsen naar de pin 9 gebruikt.
De schets
Laten we passen de schets volgens de veranderingen die we willen maken.
In het eerste deel van de schets hebben we twee constanten en een variabele declareren. De eerste constante is de pin van de PWM gebruikt om in te schakelen en uit het beeldscherm terug-licht en de tweede is de frequentie van de notitie gespeeld door de piëzo spreker, wanneer de afstandsmeter uit van gaat bereiken.
De variabele is nodig om de helderheid van de rug-licht tot de maximale waarde instellen.
Dan wij de LiquidCrystal-bibliotheek omvatten en de LCD-display-bibliotheek te initialiseren:
Setup functie
In de setup -functie moeten wij verklaren de pin 11 als uitgang en initialiseren van het LCD-scherm (16 kolommen en 2 rijen):
In de functie van de lus maken we enkele wijzigingen. Allereerst wijzigen wij de while lus , zoals hieronder getoond:
Wanneer de knop niet is ingedrukt, de logische voorwaarde is TRUE, als gevolg daarvan de schets wacht in deze while lus. In deze situatie, de eerste regel in het blok het rug-licht uitgeschakeld, de tweede regel wordt gewist het display en de derde factor de toongenerator uitgeschakeld.
Wanneer u op de drukknop drukt, wordt de logische voorwaarde onwaar en Arduino slaat deze while lus en gaat op het uitvoeren van de volgende regel...
.. die Hiermee schakelt u de achtergrondverlichting.
Zoals we de seriële monitor niet meer gebruikt, moeten we de functies Serial.print wijzigen in lcd.print.
In de eerste rij het display drukt het de bedenktijd en de afstand in de tweede. Als de bedenktijd is groter dan 38ms, het obstakel is buiten het bereik en de piëzo-zoemer zal een geluid wordt afgespeeld en het display verschijnt het bericht "buiten het bereik", zal anders de schets de gemeten afstand afdrukken.
Zoals gebruikelijk, is de schets klaar om te worden gedownload.