Inhoudsopgave:

1602 LCD-contrastregeling van Arduino - Ajarnpa
1602 LCD-contrastregeling van Arduino - Ajarnpa

Video: 1602 LCD-contrastregeling van Arduino - Ajarnpa

Video: 1602 LCD-contrastregeling van Arduino - Ajarnpa
Video: Подключение дисплея 1602 lcd i2c. 1602 ардуино дисплей 2024, November
Anonim
Image
Image
Typische gebruikssituatie
Typische gebruikssituatie

Terwijl ik aan een nieuw project werkte, kwam ik een probleem tegen waarbij ik de achtergrondverlichting en het contrast van een 1602 LCD-scherm via een Arduino wilde regelen, maar het scherm flikkerde echt.

Stap 1: Typische use-case

Typische gebruikssituatie
Typische gebruikssituatie

In een typisch gebruiksgeval wordt het displaycontrast aangepast via een variabele weerstand volgens de datasheet. In dat geval kunnen we via de weerstand de spanning aanpassen die op de V0-pin wordt gezien en het contrast wordt dienovereenkomstig aangepast. Met de Arduino is het beste dat we kunnen uitvoeren een PWM-signaal met een andere cyclus, maar helaas is de module niet blij om dat weer te geven.

Stap 2: Code gebruikt in het voorbeeld

Code gebruikt in het voorbeeld
Code gebruikt in het voorbeeld
Code gebruikt in het voorbeeld
Code gebruikt in het voorbeeld

Voordat ik inga op het schema hoe we dit kunnen oplossen, wil ik je de code uitleggen die ik gebruik.

Het eerste dat we moeten doen, is de Liquid Crystal-bibliotheek opnemen, zodat we verbinding kunnen maken met het scherm. Vervolgens stellen we het LCD-scherm in met de pinnen waarop ons scherm is aangesloten en daarnaast definiëren we de pinnen waarop we onze achtergrondverlichting en contrastpinnen hebben aangesloten. De contrastbesturingspin op het display is V0 en is verbonden met pin 6 op de Arduino en de achtergrondverlichtingsbesturingspin is gemarkeerd als A en aangezien dit in feite een LED is, is deze via een 220 Ohm-weerstand verbonden met pin 10 op de Arduino.

In de Setup-functie zetten we eerst de helderheid op het display op max en daarna beginnen we met de communicatie met het LCD-scherm. Om er zeker van te zijn dat het correct werkt, geven we een bericht van "hello world" weer en wachten we ongeveer een halve seconde zodat we kunnen controleren of de uitvoer in orde is.

Heel vaak, afhankelijk van de status van de V0-pin, kunt u het probleem tegenkomen dat er niets wordt weergegeven, ook al was de verwachting anders. De reden hiervoor is de contrast-pinwaarde. Als het contrast te hoog is ingesteld, is het display nauwelijks zichtbaar, dus we moeten het verlagen.

In het lusgedeelte van de code wissen we eerst de inhoud van het LCD-scherm en aangezien we het contrast programmatisch gaan wijzigen, geven we een tekst weer en in een lus werken we de pin-output bij en geven we de huidige waarde weer op het display op de tweede rij.

Stap 3: Implementeer laagdoorlaat RC-filter

Laagdoorlaat RC-filter implementeren
Laagdoorlaat RC-filter implementeren
Laagdoorlaat RC-filter implementeren
Laagdoorlaat RC-filter implementeren
Laagdoorlaat RC-filter implementeren
Laagdoorlaat RC-filter implementeren

Zoals je kunt zien, lijkt dit te werken, maar het scherm flikkert helemaal. De reden hiervoor is dat het display een vaste spanning verwacht, maar in plaats daarvan een PWM-signaal van de Arduino krijgt. Om dit op te lossen voegen we een heel eenvoudig laagdoorlaat RC-filter toe zodat de uitgangsspanning kan worden gefilterd en we een relatief stabiele output krijgen.

Het laagdoorlaatfilter bestaat uit een weerstand van 1 kOhm die aan de ene kant is aangesloten op pin 6 op de Arduino en vervolgens op V0 op het display. De condensator van 10 uF is met de negatieve kant verbonden met aarde en de positieve is verbonden met de V0-pin. De weerstand laadt de condensator op met de PWM-pulsen en afhankelijk van de duty-cycles wordt deze opgeladen tot een andere spanning.

Stap 4: Regel de achtergrondverlichting programmatisch

Programmatisch de achtergrondverlichting regelen
Programmatisch de achtergrondverlichting regelen

Vergelijkbaar met hoe we het contrast instellen, kunnen we hetzelfde doen met de achtergrondverlichtingspin, maar zonder dat we een laagdoorlaatfilter hoeven toe te voegen, omdat de LED van de achtergrondverlichting niet zichtbaar is terwijl deze zo snel wordt in- en uitgeschakeld.

Stap 5: Geniet

Genieten van!
Genieten van!

Ik hoop dat deze zeer eenvoudige truc je zal helpen bij je volgende project. Als je deze Instructable leuk vond, overweeg dan om mij te volgen en je te abonneren op mijn YouTube-kanaal.

Proef de code op YouTube!

Proost!

Aanbevolen: