I artikeln ansluter vi en 1602-skärm med flytande kristaller med en FC-113 I2C-modul till Arduino, varför anslutningen kommer att utföras med endast två datakablar och två strömkablar.
Det är nödvändigt
- - Arduino;
- - LCD 1602-skärm (16 tecken, 2 rader);
- - I2C-adapter FC-113;
- - anslutande ledningar.
Instruktioner
Steg 1
FC-113-modulen är baserad på PCF8574T-mikrokretsen, som är ett 8-bitars skiftregister - I / O-expander för I2C-seriellbussen. I figuren betecknas mikrokretsen DD1.
R1 är ett beskärningsmotstånd för justering av LCD-skärmens kontrast.
Jumper J1 används för att sätta på skärmens bakgrundsbelysning.
Stift 1… 16 används för att ansluta modulen till LCD-skärmens stift.
Kontaktplattor A1 … A3 behövs för att ändra I2C-enhetens adress. Genom att löda motsvarande byglar kan du ändra enhetsadressen. Tabellen visar korrespondensen mellan adresser och byglar: "0" motsvarar den öppna kretsen, "1" - till den installerade bygeln. Enhetsadressen är som standard 0x27, dvs. alla tre hopparna är öppna.
Steg 2
Modulen är ansluten till Arduino som standard för I2C-bussen: SDA-stiftet på modulen är ansluten till den analoga porten A4, SCL-stiften är ansluten till den analoga porten A5 på Arduino. Modulen drivs av + 5V från Arduino. Modulen i sig är ansluten med stift 1 … 16 med motsvarande stift 1 … 16 på LCD-skärmen.
Steg 3
Nu behöver vi ett bibliotek för att arbeta med LCD-skärmar via I2C-gränssnittet. Du kan till exempel använda den här: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (länk i raden "Ladda ner provkod och bibliotek").
Det nedladdade arkivet "LiquidCrystal_I2Cv1-1.rar" packas upp till mappen "\ bibliotek ", som finns i Arduino IDE-katalogen.
Biblioteket stöder en uppsättning standardfunktioner för LCD-skärmar:
LiquidCrystal () - skapar en variabel av typen LiquidCrystal och accepterar parametrar för visningsanslutning (stiftnummer), start () - initialisering av LCD-displayen, inställning av parametrar (antal rader och symboler);
rensa () - rensa skärmen och återgå markören till startpositionen;
hem () - återför markören till startpositionen;
setCursor () - ställer markören till den angivna positionen;
skriv () - visar ett tecken på LCD-skärmen;
skriv ut () - visar text på LCD-skärmen;
markör () - visar markören, dvs. understryka under platsen för nästa karaktär;
noCursor () - döljer markören;
blink () - markören blinkar;
noBlink () - avbryt blinkning;
noDisplay () - stäng av skärmen medan du sparar all information som visas.
display () - slå på skärmen medan du sparar all visad information;
scrollDisplayLeft () - bläddra displayens innehåll 1 position åt vänster;
scrollDisplayRight () - rulla bildskärmsinnehållet med en position åt höger;
autoscroll () - aktivera autoscroll;
noAutoscroll () - stäng av autoscroll;
leftToRight () - ställer in textens riktning från vänster till höger;
rightToLeft () - textriktning från höger till vänster;
createChar () - Skapar en anpassad karaktär för LCD-skärmen.
Steg 4
Låt oss öppna exemplet: File -> Prover -> LiquidCrystal_I2C -> CustomChars och gör om det lite. Låt oss visa ett meddelande, i slutet av vilket det kommer att finnas en blinkande symbol. Alla nyanser i skissen kommenteras i kommentarerna till koden.
Steg 5
Låt oss titta närmare på frågan om att skapa egna symboler för LCD-skärmar. Varje tecken på skärmen består av 35 poäng: 5 breda och 7 höga (+1 reserverad understrykning). I rad 6 i ovanstående skiss sätter vi en matris med 7 nummer: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Låt oss konvertera hex-tal till binära: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Dessa siffror är inget annat än bitmasker för var och en av karaktärens 7 rader, där "0" betecknar en ljuspunkt och "1" en mörk punkt. Till exempel visas en hjärtsymbol som anges som bitmask på skärmen som visas i figuren.
Steg 6
Ladda upp skissen till Arduino. Skärmen visar inskriptionen som vi angav med en blinkande markör i slutet.