categorieën: Microcontroller-circuits
Aantal keer bekeken: 24878
Reacties op het artikel: 0

Wat zijn de schermen voor Arduino en hoe deze te verbinden

 

Met microcontrollers kunt u elk automatiserings- en controlesysteem maken. Maar voor de interactie van technologie en mens hebben we beide invoerapparaten nodig - verschillende knoppen, hendels, potentiometers en uitvoerapparaten - lichtindicatoren (gloeilampen), verschillende geluidssignalerende apparaten (tweeters) en uiteindelijk displays. In dit artikel zullen we kijken naar karakterweergaven voor Arduino, hoe ze te verbinden en te laten werken.

Wat zijn de schermen voor Arduino en hoe deze te verbinden

Typen beeldschermen

Displays kunnen worden onderverdeeld in:

  • Segment (zoals op een digitaal horloge);

  • alfanumerieke;

  • Graphics.

Gesegmenteerd worden gebruikt om eenvoudige hoeveelheden aan te geven, bijvoorbeeld: temperatuur, tijd, aantal omwentelingen. Dergelijke worden tot op de dag van vandaag gebruikt in rekenmachines en op goedkope huishoudelijke apparaten. Informatie wordt weergegeven door bepaalde tekens te markeren.

Ze kunnen zowel vloeibaar kristal als LED zijn. Alfanumerieke displays zijn te vinden op oude huishoudelijke apparaten, speelgoed, industriële apparatuur en meer. Ze worden ook wel tekensynthetiserend, tekstueel, symbolisch genoemd. Bestaan ​​uit een aantal grote pixels. Kan worden uitgevoerd op LCD-, TFT- en OLED-technologie.

Grafische schermen kunnen zelfs een monitor of een smartphonescherm bevatten, ik denk dat er geen speciale uitleg nodig is. Het artikel zal zich specifiek richten op de samenwerking tussen tekensynthese of symbolische displays en Arduino.


Teken-synthetiserende displays

Dergelijke displays kunnen tegelijkertijd een bepaald aantal tekens weergeven, beperkt door geometrische afmetingen. Ze zijn gemarkeerd volgens dit patroon:

  • 1602;

  • 2002.

Waar de eerste twee cijfers het aantal tekens in de regel is en het tweede paar het aantal regels. Zo kan een display met de naam 1602 2 regels van elk 16 tekens tegelijk weergeven.

Displays worden onderscheiden door het type gegevensinvoer:

  • Met parallelle gegevensinvoer;

  • Met gegevensinvoer via I2C-protocol.

Parallelle gegevensinvoer omvat de overdracht van 8 of 4-bit woorden op respectievelijk 10 of 6 pinnen (Fig. Hieronder - aansluitschema voor het aansturen van 4 bits). Naast gegevens wordt er stroom aan het display geleverd. Houd hier rekening mee bij het ontwerpen, anders heb je misschien niet genoeg pinnen Arduino-planken.

Schema van het verbinden van het display met Arduino

Het overzetten van gegevens naar het scherm met behulp van I2C vereist 4 pins van uw Arduino, waarvan 2 power zijn en 2 data zijn. Maar overweeg deze vraag hieronder in meer detail.

Onder de binnenlandse fabrikanten kunnen het bedrijf MELT onderscheiden. Onder de producten, die een aantal verschillende displays hebben. Hieronder ziet u bijvoorbeeld een display met het label 20S4, vergelijkbaar met de vorige, het vertelt ons dat het 4 regels van 20 tekens weergeeft.

Display 20S4

Het is gebouwd op de controller KB1013VG6, van JSC ANGSTREM, die vergelijkbaar is met HD44780 van HITACHI en KS0066 van SAMSUNG. Waarop de overgrote meerderheid van Chinese displays is gebouwd. Trouwens, hij, zoals de displays op deze chips, ondersteunt de standaardbibliotheek van parallelle besturing Arduino IDE, maar daarover later meer.

Verschillende soorten displays voor het gebruik van Arduino

Tekensynthetiserende schermen worden geleverd met en zonder achtergrondverlichting en kunnen ook verschillen in de kleur van de weergegeven tekens. Achtergrondlichthelderheid en beeldcontrast zijn meestal instelbaar. Hieronder is een voorbeeld van een schema van een datasheet, naar de hierboven genoemde MELT.

Voorbeeld van een schema uit de MELT-datasheet

Variabele weerstand R en dient om de helderheid aan te passen.



verbinding

We zullen de verbinding bekijken op een display van het type 1602. Let allereerst op de ondertekening van de conclusies. Er zijn twee opties, nummering. In de twee onderstaande figuren is alles in orde - van 1 tot 16 van de uitvoer.

Type 1602 Display Leads
Type 1602 Display Leads

Merk op dat VSS wordt opgevat als land. Anders zijn de pintoewijzingen identiek. Maar vaak vindt u niet-standaard nummering:

Pincode nummering op maat

Wat zie je Contacten zijn slechts 1, 14 en 15 ondertekend. Bovendien staan ​​ze in de verkeerde volgorde. Anders bleven de 15e en 16e contacten ook de anode en kathode van de achtergrondverlichting en 1 en 2 zijn het gemeenschappelijke contact en plus vermogen.Wees voorzichtig en let hierop bij het aansluiten!

Laten we in meer detail analyseren.

  • 1 - (Vss) aarde of "-" vermogen.

  • 2 - (Vcc) "+" vermogen. Meestal is het 5 volt.

  • 3 - past het contrast van tekens aan. Het wordt uitgevoerd door een potentiometer geïnstalleerd tussen de "+" kracht en dit contact. Hoe hoger de spanning, hoe lager de helderheid en het stroomverbruik.

  • 4 - (RS) Adressignaal. Door de aanwezigheid van een signaal van de Arduino op deze ingang, begrijpt de displaycontroller of het opdrachtsignaal (bijvoorbeeld de cursor verplaatst) of de tekencode die op de gegevensregel moet worden weergegeven.

  • 5 - (E) machtigingen voor toegang tot gegevens. Wanneer er een logische "1" is, voert het display een opdracht uit of geeft een symbool weer.

  • 6-14 - via deze pinnen wordt parallelle gegevensinvoer verstrekt.

  • 15 - (BLA) achtergrondlichtanode. Zodat het op volledige helderheid oplicht - hier wordt + 5V geleverd.

  • 16 - (BLC) tegenlichtkathode. Maak verbinding met de grond.

Een van de voorbeelden van verbinding maken met Arduino in 4-bits modus is hierboven besproken. Bekijk nu het schakelschema in de 8-bits besturingsmodus. Trouwens, je zou een variabele weerstand kunnen opmerken. Het is nodig om de helderheid van de achtergrondverlichting aan te passen, zoals eerder vermeld.

Schema van het aansluiten van het display op Arduino in 8-bits besturingsmodus

Op deze manier heb je de helft van de ingangen bezet Arduino UNO Boards. Als u MEGA gebruikt, is dit natuurlijk niet zo'n groot probleem, maar toch is het niet rationeel, vooral als u een groep sensoren en bedieningstoetsen gaat aansluiten.

Om de ingangen vrij te maken, gebruikt u de I2C-converter voor het LCD-scherm (zo wordt het genoemd, en u kunt het in winkels onder die naam vinden).

I2C naar LCD scherm converter

waarschuwing:

Als u deze module los van het display koopt, vergeet dan niet de locatie en nummering van de conclusies, die we eerder hebben onderzocht.

De kam onderaan wordt eenvoudig aan het display gesoldeerd en de vier pinnen aan het uiteinde van het bord verbinden met de Arduino-pinnen, er is ook een derde groep van twee pinnen (afgebeeld op de achterkant) die de achtergrondverlichting inschakelt, de modellen worden geleverd met een geïnstalleerde jumper.

Het schema van een dergelijke module is als volgt:

Module diagram

En dus ziet het er direct aan de displaypennen gesoldeerd uit. De meeste modellen worden al gesoldeerd verkocht.

De module aansluiten op de displaypinnen

Om het te gebruiken, moet u echter de LiquidCrystal_I2C-bibliotheek op het netwerk vinden, deze bevindt zich niet op het moment van schrijven in de standaardset van de huidige Arduino IDE.

Denk aan de pinout van Arduino UNO-boards, volgens de pin-nummering, het valt eigenlijk samen met Nano en enkele anderen (klik op de foto voor een vergroting).

Arduino UNO bord Pinout

Om aan I2C te werken, moet u 2 informatiesignalen genereren - SDA en SCL, let op de rechteronderhoek van de figuur. Deze Arduino-pinnen worden gecombineerd met analoge ingangen A4 en A5.

Het is belangrijk om:

Je kunt ze niet aan andere conclusies toewijzen.

Dan ziet het bedradingsschema er als volgt uit:

Schema van het verbinden van het scherm met Arduino via een converter

Mee eens, er zijn veel minder draden! Van Arduino tot het display zijn slechts 4 draden. Een signaalpen gebruikte slechts twee!

Maar alleen verbinding maken lukt niet, je moet het adres van het apparaat weten, hiervoor is er een andere groep contacten waarbij het adres wordt ingesteld met behulp van jumpers. Dit wordt aangegeven in het initialisatiecommando van de bijbehorende bibliotheek, meer daarover hieronder.

I2C naar LCD scherm converter

Het programma

Natuurlijk hebben we een soort schets nodig die de afbeelding op een personagedisplay kan weergeven. Als u direct met het display wilt werken, moet u gegevensbladen en symbooltabellen voor elk specifiek product bestuderen. Maar Arduino is gemaakt voor eenvoudige en snelle prototyping van elektronische apparaten. Daarom zullen we de andere kant opgaan en profiteren van de voordelen van de beschaving. We hebben al gezegd dat de standaardset bibliotheken in de Arduino IDE een kant-en-klare oplossing heeft voor het werken met LCD-schermen. Je kunt het hier vinden:

Bibliotheek verbinding

Overigens wordt na het klikken op de regel met de aankondiging over het verbinden van de bibliotheek automatisch weergegeven.

Tekenreeks voor bibliotheekverbindingsverklaring

Ook in de Arduino IDE zijn er verschillende voorbeelden voor het werken met het display. Ze weerspiegelen basisbewerkingen en functies.

Voorbeelden weergeven

Beschouw het eenvoudigste "Hallo woord". Het voorbeeld valt volledig samen met wat er in de standaard IDE-set zit, ik heb de tekst van de opmerkingen net in het Russisch vertaald.Let op: dit is een voorbeeld van werken in de 4-bits modus.

Eenvoudig programma

Werken met I2C is bijna hetzelfde:

Programma voor het werken met I2C

BELANGRIJK:

Merk op dat in dit codevoorbeeld de eerste opdracht verschillende weergavegroottes, het aantal regels en tekens, maar ook het I2C-adres aangeeft. Namelijk - 0x27, wat overeenkomt met ontbrekende jumpers. Over het algemeen is dit nodig om meerdere displays (8 stuks) op twee signaaldraden aan te sluiten.


Een selectie video-tutorials over het onderwerp

Zodat het niet moeilijk voor u zou zijn om de vaardigheid van het werken met het display te beheersen, hebben we een selectie van videolessen over dit onderwerp gemaakt.


conclusie

Het blijkt dat het maken van de Arduino-boardvrienden en het display helemaal niet moeilijk is. U hebt de mogelijkheid om zowel parallelle gegevensoverdracht als serieel via de I2C-bus te kiezen, wat u kiest - u beslist, zowel in termen van gemak als in de snelheidseisen van het systeem als geheel. Schrijf in de opmerkingen met welke vragen u meer in detail rekening moet houden en wat u precies zou willen zien over het onderwerp van microcontrollers!

Zie het e-boek voor meer informatie over Arduino en de functies van het gebruik ervan in verschillende schema's - Arduino voor dummies. Geïllustreerde praktische gids.

Onlangs is een nieuwe cursus van Maxim Selivanov "Programming Nextion Displays" vrijgegeven. Dit is de "Arduino" in de wereld van aanraakschermen. Maar de informatie daarover is erg klein.

Volgende weergave

Wat zijn Nextion-displays? Kortom, deze displays zijn programmeerbare displays met een touchscreen en UART om verschillende interfaces op het scherm te creëren. Voor het programmeren wordt een zeer handige en eenvoudige ontwikkelomgeving gebruikt, waarmee u zelfs zeer complexe interfaces voor verschillende elektronica in slechts enkele avonden kunt maken! En alle opdrachten worden via de UART-interface naar de microcontroller of computer verzonden.

Er is alles om met Nextion-schermen op een nieuw niveau te beginnen werken: NEXTION

Zie ook op bgv.electricianexp.com:

  • Wat zijn Nextion-displays en hoe ermee te werken?
  • Temperatuur en vochtigheid meten op Arduino - een selectie van methoden
  • Arduino verbinden en programmeren voor beginners
  • Welk Arduino-bord te kiezen
  • 19 schilden voor Arduino voor alle gelegenheden

  •