Afisajul alfanumeric cu 20 coloane si 4 randuri este similar cu cel "clasic" cu 16 coloane si 2 randuri, de aceea pentru modul de comanda clasic schema de conectare este identica cu cea prezentata in articolul Arduino si un afisaj LCD clasic (16 caractere si 2 randuri)
Eu folosesc o placuta adaptoare, care contine semireglabilul pentru reglajul contrastului si jumper-ul pentru selectare lumina de fundal (permanent aprinsa, permanent aprinsa, comandata). Aceasta placuta am prezentat-o in articolul Modul de conectare rapida a unui afisaj LCD1602 (HD44780) la Arduino sau alta placa de dezvoltare.
Modul de conectare practic, care foloseste 8 fire (6 de comanda si 2 de alimentare) e foarte simpla:
Am adaptat sketch-ul prezentat in articolul Arduino si un afisaj LCD clasic (16 caractere si 2 randuri) obtinand ce am prezentat in filmuletul afisaj alfanumeric LCD2004 (20x4) conectat clasic la Arduino
lcd.begin(16,2); // initialize the lcd
in
lcd.begin(20,4); // initialize the lcd
si scrierea pe randurile 0, 1, 2 si 3 (pe cel cu 2 randuri se scrie doar pe 0 si 1).
Alt mod de conectare al acestui afisaj, este acela in care se foloste protocolul de comunicatie i2c, care utilizeaza 4 fire (2 de comanda si 2 de alimentare). Se foloseste un modul de adaptare, cum e cel prezentat in articolul Interfata i2c la LCD pentru Arduino, schema de conectare fiind identica:
Practic, modul de conectare se prezinta asa:
Partea partea de sketch si librarie m-am folosit de informatiile din articolul LCD Displays (Blue and YELLOW) with I2C/TWI Interface, subapitolul
I2C LCD DISPLAY VERSION 2:
Marked "Arduino-IIC-LCD GY-LCD-V1" Sketch-ul meu e foarte putin modificat, fiind:/* YourDuino.com Example Software Sketch
20 character 4 line I2C Display
Backpack Interface labelled "LCM1602 IIC A0 A1 A2"
terry@yourduino.com */
/*-----( Import needed libraries )-----*/
#include <Wire.h> // Comes with Arduino IDE
// Get the LCD I2C Library here:
// https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
// Move any other LCD libraries to another folder or delete them
// See Library "Docs" folder for possible commands etc.
#include <LiquidCrystal_I2C.h>
/*-----( Declare Constants )-----*/
//none
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
// addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x20, 4, 5, 6, 0, 1, 2, 3, 7, NEGATIVE); // Set the LCD I2C address
/*-----( Declare Variables )-----*/
//none
void setup() /*----( SETUP: RUNS ONCE )----*/
{
Serial.begin(9600); // Used to type in characters
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines
// NOTE: Cursor Position: CHAR, LINE) start at 0
/* lcd.setCursor(3,0); //Start at character 4 on line 0
lcd.print("Hello, world!");
delay(1000);
lcd.setCursor(2,1);
lcd.print("From YourDuino");
delay(1000);
lcd.setCursor(0,2);
lcd.print("20 by 4 Line Display");
lcd.setCursor(0,3);
delay(2000);
lcd.print("http://YourDuino.com");
delay(8000);
*/
lcd.setCursor(1,0); //Start at character 4 on line 0
lcd.print("niq_ro test a 20x4");
delay(1000);
lcd.setCursor(2,1);
lcd.print("alphanumeric LCD");
delay(1000);
lcd.setCursor(1,2);
lcd.print("yellow background");
lcd.setCursor(2,3);
delay(500);
lcd.print("www.tehnic.go.ro");
delay(8000);
}/*--(end setup )---*/
void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
}
}/* --(end main loop )-- */
/* ( THE END ) */
Filmuletul, care prezinta acest mod de conectare si ce se afiseaaza, se numeste afisaj alfanumeric LCD2004 (20x4) comandat prin intermediul adaptorului i2c de Arduino
Niciun comentariu:
Trimiteți un comentariu