In het artikel zullen we een 1602 liquid crystal display met een FC-113 I2C-module op Arduino aansluiten, waardoor de verbinding wordt uitgevoerd met slechts twee datadraden en twee stroomdraden.
Het is nodig
- -Arduino;
- - LCD 1602-display (16 tekens, 2 regels);
- - I2C-adapter FC-113;
- - aansluitdraden.
instructies:
Stap 1
De FC-113-module is gebaseerd op de PCF8574T-microschakeling, een 8-bits schuifregister - I / O-uitbreiding voor de I2C seriële bus. In de figuur wordt de microschakeling aangeduid als DD1.
R1 is een trimweerstand voor het aanpassen van het contrast van het LCD-scherm.
Jumper J1 wordt gebruikt om de achtergrondverlichting van het display in te schakelen.
Pins 1…16 worden gebruikt om de module aan te sluiten op de pinnen van het LCD-scherm.
Contactpads A1 … A3 zijn nodig om het adres van het I2C-apparaat te wijzigen. Door de bijbehorende jumpers te solderen, kunt u het apparaatadres wijzigen. De tabel toont de correspondentie van adressen en jumpers: "0" komt overeen met het open circuit, "1" - met de geïnstalleerde jumper. Het apparaatadres is standaard 0x27, d.w.z. alle 3 de jumpers zijn open.
Stap 2
De module wordt standaard aangesloten op de Arduino voor de I2C-bus: de SDA-pin van de module wordt aangesloten op de analoge poort A4, de SCL-pin wordt aangesloten op de analoge poort A5 van de Arduino. De module wordt gevoed door + 5V van de Arduino. De module zelf is via pinnen 1 … 16 verbonden met de bijbehorende pinnen 1 … 16 op het LCD-scherm.
Stap 3
Nu hebben we een bibliotheek nodig om met LCD's te werken via de I2C-interface. U kunt bijvoorbeeld deze gebruiken: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (link in de regel "Download Sample code and library").
Het gedownloade archief "LiquidCrystal_I2Cv1-1.rar" wordt uitgepakt in de map "\ libraries", die zich in de Arduino IDE-directory bevindt.
De bibliotheek ondersteunt een reeks standaardfuncties voor LCD-schermen:
LiquidCrystal () - maakt een variabele van het type LiquidCrystal en accepteert parameters voor weergaveverbinding (pinnummers), begin () - initialisatie van het LCD-scherm, instellingsparameters (aantal regels en symbolen);
wissen () - wis het scherm en breng de cursor terug naar de startpositie;
home () - breng de cursor terug naar de startpositie;
setCursor () - de cursor op de opgegeven positie zetten;
schrijf () - geeft een teken weer op het LCD-scherm;
print () - geeft tekst weer op het LCD-scherm;
cursor () - toont de cursor, d.w.z. onderstrepen onder de plaats van het volgende teken;
noCursor () - verbergt de cursor;
knipperen () - cursor knippert;
noBlink () - knipperen annuleren;
noDisplay () - schakel het display uit terwijl alle weergegeven informatie wordt opgeslagen;
display () - zet het display aan terwijl u alle weergegeven informatie opslaat;
scrollDisplayLeft () - scroll de inhoud van het display 1 positie naar links;
scrollDisplayRight () - schuif de inhoud van het display 1 positie naar rechts;
autoscroll () - autoscroll inschakelen;
noAutoscroll () - schakel autoscroll uit;
leftToRight () - stelt de richting van de tekst in van links naar rechts;
rightToLeft () - tekstrichting van rechts naar links;
createChar () - Creëert een aangepast teken voor het LCD-scherm.
Stap 4
Laten we het voorbeeld openen: Bestand -> Voorbeelden -> LiquidCrystal_I2C -> CustomChars en het een beetje opnieuw doen. Laten we een bericht weergeven, aan het einde waarvan een knipperend symbool verschijnt. Alle nuances van de schets worden becommentarieerd in de opmerkingen bij de code.
Stap 5
Laten we het probleem van het maken van uw eigen symbolen voor LCD-schermen eens nader bekijken. Elk teken op het scherm bestaat uit 35 punten: 5 breed en 7 hoog (+1 gereserveerde onderstreping). In regel 6 van de bovenstaande schets stellen we een array van 7 getallen in: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Laten we hexadecimale getallen converteren naar binair: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Deze getallen zijn niets meer dan bitmaskers voor elk van de 7 regels van het teken, waarbij "0" een lichtpunt aangeeft en "1" een donker punt. Er verschijnt bijvoorbeeld een hartsymbool dat is gespecificeerd als een bitmasker op het scherm, zoals weergegeven in de afbeelding.
Stap 6
Upload de schets naar Arduino. Het scherm toont de inscriptie die we hebben opgegeven met een knipperende cursor aan het einde.