joi, 19 iunie 2014

Afisajul alfanumeric cu 20 de coloane si 4 randuri (LCD2004) comandat de Arduino


   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
   In mare, trebuie modificata linia de initializare a afisajului din
  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:

LCD-Arduino-IIC-LCD-GY-LCD-V1.jpgMarked "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