dilluns, 6 de maig del 2013

Funcions de la LCD!

Dins de la llibreria de la LCD podem trobar diferents funcions, que us les explicaré tot seguit:



  • LiquidCrystal()
Descripció:
Crea una variable del tipus CristallLíquid. Que pot ser controlat per 4 o 8 pins. Nosaltres utilitzem de d4 a d7, connectant RW a massa (GND).
Sintaxis:
LiquidCrystal(rs, enable, d4, d5, d6, d7) 
Paràmetres:
rs: el número de pin de l'Arduino que està connectat al pin RS de la LCD
enable: el número de pin de l'Arduino que està connectat al pin enable (E) de la LCD
d4, d5, d6, d7: els pins de l'Arduino que estan connectats al corresponent pin de la LCD
Exemple:
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
  lcd.print("hello, world!");
}
void loop() {}

  • begin()
Descripció:
Especifica la dimensió (amplada i alçada) del display.
Sintaxis:
lcd.begin(cols, rows)
Paràmetres:
lcd: una variable del tipus CristallLíquid
cols: el nombre de columnes que té el display (nosaltres tenim 16 normalment)
rows: el nombre de files que té el display (nosaltres normalment 2)
  • clear()
Descripció:
Neteja la LCD i col·loca el cursor a la part superior esquerre
Sintaxis:
lcd.clear()

  • home()
Descripció:
Col·loca el cursor a la part superior esquerre de la LCD, es a dir, s'utilitza per tornar a escriure alguna cosa a la LCD des del principi
Sintaxis:
lcd.home()

  • setCursor()
Descripció:
Posicionament del cursor; es a dir, indica on vols que comenci a escriure el següent text.
Sintaxis:
lcd.setCursor(col, row)
Paràmetres:
lcd: una variable del tipus CristallLíquid
cols: la columna a la que vols que escrigui (amb 0 comença la primera columna)
rows: la fila a la que vols que escrigui (amb 0 comença la primera fila)

  • write()
Descripció:
Escriu un caràcter a la LCD
Sintaxis:
lcd.write(data)
Paràmetres:
lcd: una variable del tipus CristallLíquid
data: el caràcter que s'haurà d'escriure
Exemple:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  if (Serial.available()) {
    lcd.write(Serial.read());
  }
}

  • print()
Descripció:
Escriu text a la LCD.
Sintaxis:
lcd.print(data) 
lcd.print(data, BASE)
Paràmetres:
BASE (opcional): la base en la qual escriure el text: BIN per a binari (base 2), DEC per a decimal (base 10), OCT per a octal (base 8), HEX per a hexadecimal (base 16).
Exemple:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
void setup()
{
  lcd.print("hello, world!");
}
void loop() {}

  • cursor()
Descripció:
Dibuixa el cursor ("_"): una linia inferior a la posició on el següent caràcter anirà escrit. Va bé per entendre com anirà escrivint la LCD al passar de files o columnes.
Sintaxis:
lcd.cursor()

  • noCursor()
Descripció:
Amaga el cursor.
Sintaxis:
lcd.noCursor()
Exemple:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  // Configura la LCD
  lcd.begin(16, 2);
  // Escriu un missatge:
  lcd.print("hello, world!");
}
void loop() {
  // Apaga el cursor:
  lcd.noCursor();
  delay(500);
   // Encén el cursor:
  lcd.cursor();
  delay(500);
}

  • blink()
Descripció:
Mostra el cursor, però encenent i apagant tot el rectangle de píxels on està el cursor.
Sintaxis:
lcd.blink()

  • noBlink()
Descripció:
Amaga tot el cursor.
Sintaxis:
lcd.noBlink()
Exemple:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  // configura la LCD: 
  lcd.begin(16, 2);
  // Escriu un text de mostra.
  lcd.print("hello, world!");
}
void loop() {
  // apaga el cursor:
  lcd.noBlink();
  delay(3000);
   // encén el cursor:
  lcd.blink();
  delay(3000);
}
  • display()
Descripció:
Encén el display, s'utilitza després d'apagar-lo amb la funció noDisplay(). Tornarà a encendre el text (i el cursor) que estaven escrits a la pantalla.
Sintaxis:
lcd.display()

  • noDisplay()
Descripció:
Apaga la pantalla de la LCD, no es perd cap contingut que estava escrit.
Sintaxis:
lcd.noDisplay()
Exemple:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  // Configura la LCD: 
  lcd.begin(16, 2);
  // Escriu alguna cosa.
  lcd.print("hello, world!");
}
void loop() {
  // Apaga la pantalla:
  lcd.noDisplay();
  delay(500);
   // Encén la pantalla:
  lcd.display();
  delay(500);
}
  • scrollDisplayLeft()
Descripció:
Mou tot el text (i cursor) de la pantalla una posició a la esquerre.
Sintaxis:
lcd.scrollDisplayLeft()

  • scrollDisplayRight()
Descripció:
Mou tot el text (i cursor) de la pantalla una posició a la dreta.
Sintaxis:
lcd.scrollDisplayRight()
Exemple:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  // Configura la LCD: 
  lcd.begin(16, 2);
  // Escriu alguna cosa.
  lcd.print("hello, world!");
  delay(1000)
  // Espera't un segon.
}
void loop() {
  // mou-te 13 posposició (llargada del text) a l'esquerra 
  // per a fer-lo desaparèixer de la pantalla:
  for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
    // mou una posició a la esquerra:
    lcd.scrollDisplayLeft(); 
    // espera't un moment:
    delay(150);
  }
  // mou-te 29 posicions (llargada del text + llargada de la pantalla) to the right
  // fes desaparèixer el text pel costat dret:
  for (int positionCounter = 0; positionCounter < 29; positionCounter++) {
    // mou una posició a la dreta:
    lcd.scrollDisplayRight(); 
    // espera una mica:
    delay(150);
  }
    // mou el text 16 posicions(llargada de la pantalla + llargada del text) cap a la esquerra 
    // per a posar-ho de nou al centre:
  for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
    // mou una posició a l'esquerre:
    lcd.scrollDisplayLeft(); 
    // espera't un moment:
    delay(150);
  }
  // espera't un segon al final de tot el codi:
  delay(1000);
  • autoscroll()
Descripció:
Activa el desplaçament automàtic de la pantalla LCD. Això fa que cada sortida de caràcter a la pantalla empenyi els anterior sobre una posició. Si la direcció del text actual es desplaça d'esquerra a dreta (per defecte), la pantalla es desplaça cap a l'esquerre, i si la direcció actual és de dreta a esquerra, la pantalla es desplaça cap a la dreta. Això te l'efecte de la sortida de cada nou caràcter en la mateixa ubicació de la pantalla de la LCD.
Sintaxis:
lcd.autoscroll()

  • noAutoscroll()
Descripció:
Desactiva la funció Autoscroll().
Sintaxis:
lcd.noAutoscroll()

  • leftToRight()
Descripció:
Configura la direcció en la qual s'escriu el text sobre la LCD, per defecte esquerra a dreta.
Sintaxis:
lcd.leftToRight()

  • rightToLeft()
Descripció:
Configura la direcció en la qual s'escriu el text sobre la LCD, en aquest cas, de dreta esquerre.
Sintaxis:
lcd.rightToLeft()

  • createChar()
Descripció:
Crea un caràcter personalitzat per a utilitzar-lo a la pantalla. Fins a 8 caràcters de 5x8 píxels són compatibles (numerats del 0 al 7). L'aparició de cada caràcter personalitzat s'especifica per una sèrie de vuit bytes, un per a cada fila. Els cinc bits menys significatius de cada byte determinen els píxels en aquesta fila. Per mostrar un caràcter personalitzat a la pantalla, s'ha d'utilitzar write() i el seu nom. 
Quan ens referim al caràcter "0", si no està disponible, necessitarem projectar-lo com un byte, en cas contrari el compilador genera un error. Vegeu l'exemple següent.
Sintaxis:
lcd.createChar(num, data)
Paràmetres:
lcd: una variable del tipus CristallLíquid
num: quin caràcter crear (de 0 a 7)
data: les dades dels píxels del caràcter
Exemple:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte smiley[8] = {
  B00000,
  B10001,
  B00000,
  B00000,
  B10001,
  B01110,
  B00000,
};
void setup() {
  lcd.createChar(0, smiley);
  lcd.begin(16, 2);  
  lcd.write(byte(0));
}
void loop() {}

Aquest caràcter dibuixarà una cara rient.

Cap comentari:

Publica un comentari a l'entrada