Inhoudsopgave:
- Stap 1: Typische use-case
- Stap 2: Code gebruikt in het voorbeeld
- Stap 3: Implementeer laagdoorlaat RC-filter
- Stap 4: Regel de achtergrondverlichting programmatisch
- Stap 5: Geniet
Video: 1602 LCD-contrastregeling van Arduino - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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
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
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
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
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
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:
I2C Backlight Control van een LCD-scherm 1602/2004 of HD44780 Etc: 4 stappen
I2C Backlight Control van een LCD Display 1602/2004 of HD44780 Etc: Deze instructable laat zien hoe u de achtergrondverlichting van een LCD-display kunt regelen door middel van een I2C ADC-module. Het contrast kan op dezelfde manier worden geregeld na het verwijderen van de trimpotentiometer
Live bewaking van de waarde van uw sensor van overal ter wereld: 4 stappen
Live monitoring van de waarde van uw sensor van overal ter wereld: ik kreeg een bericht op het WhatsApp-nummer van techneuten met betrekking tot hulp bij het maken van één project. Het project was om de druk op de druksensor te meten en deze op een smartphone weer te geven. Dus ik hielp bij het maken van dat project en besloot een bijlesdocent te maken
Verdubbel de levensduur van de batterij van de DX3-radio van Spektrum voor minder dan $ 20: 11 stappen
Verdubbel de levensduur van de batterij van de DX3-radio van Spektrum voor minder dan $ 20: ik kreeg het idee hiervoor voor het eerst op de draad voor de DX6/7 op RCGRoups.com-forums. Ik rijd met nitro-auto's, dus kocht ik een DX3. Ik heb de radio een tijdje gebruikt en mijn batterijduur was aan de betere kant van de meeste radio's - maar de DX7-bezitters begonnen
Hoe u gebruikersniveaus van NUMA toevoegt aan uw exemplaar van N met behulp van NumADD Firefox AddOn: 4 stappen
Gebruikersniveaus van NUMA toevoegen aan uw exemplaar van N NumADD Firefox-add-on gebruiken: Elke gebruiker van Metanet's N-database op gebruikersniveau NUMA weet hoe onhandig de interface is voor het kopiëren van door gebruikers gemaakte niveaus naar uw exemplaar van het spel. NumADD, elimineert de noodzaak van kopiëren en plakken en maakt het overzetten van niveaus het werk van één muisklik
Een batterijpakket van 4,5 volt maken van een batterij van 9 V: 4 stappen
Een 4,5 volt batterijpakket maken van een 9V-batterij: deze instructie gaat helemaal over het splitsen van een 9V-batterij in 2 kleinere 4,5V-batterijpakketten. De belangrijkste reden om dit te doen is 1. Je wilt 4,5 volt 2. Je wilt fysiek iets kleiners dan een 9V batterij