You are on page 1of 9

CFGM IT2

MÒDUL M2 – UF3

Grup 2 ( Alumnes de segon curs)


Pràctica TERCERA:

Objectius:

Saber quin utilitzar les instruccions bàsiques d’ARDUNO MEGA


Saber utilitzar la pantalla LCD - Velleman VMA203
Saber trobar solucions a un problema real.
Saber recercar informacions i solucions mitjançant Internet.

Realització de la pràctica.

1- Mirar aquest vídeo: https://www.youtube.com/watch?v=0weIBt5zayU

2- Escriu i explica les funcions mes importants a l’hora de utilitzar una pantalla
de LCD paral·lel ( Les trobareu a internet i estan dins de les llibreria de
LiquidCrystal

LiquidCrystal()

• Creeu una variable de tipus LiquidCrystal. La pantalla es pot controlar mitjançant


4 o 8 línies de dades. Si sou el primer, ometeu els números de pin per a d0 a d3 i
deixeu aquestes línies desconnectades. El pin RW es pot lligar a terra en lloc de
connectar-se a un pin a l'Arduino; Si és així, ometeu-la dels paràmetres
d'aquesta funció.

begin()

• Inicializa la interfaz a la pantalla LCD y especifica las dimensiones (ancho y alto)


de la pantalla. Se debe llamar a begin () antes que cualquier otro comando de la
biblioteca LCD.

clear()

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 1 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat
CFGM IT2

MÒDUL M2 – UF3

• Funció per netejar el LCD

home()

• Posiciona el cursor a la part superior esquerra de la pantalla LCD. És a dir,


utilitzeu aquesta ubicació per enviar el text subsegüent a la pantalla. Per
esborrar també la pantalla, utilitzeu la funció clear () al seu lloc.

setCursor()

• Posiciona el cursor a la part superior esquerra de la pantalla LCD. És a dir,


utilitzeu aquesta ubicació per enviar el text subsegüent a la pantalla. Per
esborrar també la pantalla, utilitzeu la funció clear() al seu lloc.

write()

• Escriu un caràcter a la pantalla.

print()

• Escriu un text a la pantalla.

cursor()

• Mostreu el cursor al LCD, és un guió baix (línia _ ) en la posició en què s'escriurà


el caràcter següent.

noCursor()

• Oculta el cursor al LCD.

blink()

• Mostra el cursor al LCD parpellejant. Si es fa servir en combinació amb la funció


de cursor(), el resultat dependrà de la pantalla en particular.

noBlink()

• Apaga el cursor LCD parpellejant.

display()

• Enceneu la pantalla LCD, després que s'hagi apagat amb noDisplay(). Això
restaurarà el text (i el cursor) que hi havia a la pantalla.

noDisplay()

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 2 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat
CFGM IT2

MÒDUL M2 – UF3

• Apaga la pantalla LCD, sense perdre el text que es mostra en aquell moment.

scrollDisplayLeft()

• Desplaza el contenido de la pantalla (texto y cursor) un espacio a la izquierda.

scrollDisplayRight()

• Desplaceu el contingut de la pantalla (text i cursor) un espai a la dreta.

autoscroll()

• Activa el desplaçament automàtic de la pantalla LCD. Això fa que cada sortida de


caràcters a la pantalla empenyi els caràcters anteriors un espai. Si l'adreça del
text actual és de dreta a esquerra (el valor per defecte), la pantalla es desplaça
cap a l'esquerra; si la direcció actual és de dreta a esquerra, la pantalla es
desplaça cap a la dreta. Això té lefecte denviar a cada nou personatge a la
mateixa ubicació a la pantalla LCD.

noAutoscroll()

• Desactiva el desplaçament automàtic de la pantalla LCD.

leftToRight()

• Definiu l'adreça per al text escrit a la pantalla LCD d'esquerra a dreta, el valor per
defecte. Això significa que els caràcters escrits següents a la pantalla aniran
d'esquerra a dreta, però no afectaran el text de sortida anterior.

rightToLeft()

• Definiu l'adreça del text escrit a la pantalla LCD de dreta a esquerra (el valor per
defecte és d'esquerra a dreta). Això significa que els caràcters següents escrits a
la pantalla aniran de dreta a esquerra, però no afectaran el text de sortida
anterior.

3. S’ha de muntar un circuit amb arduino de la LCD Velleman VMA203 en que ha


de sortir ala primera fila un text amb el vostre nom i a la segona fila els vostres
dos cognoms. En aquest pregunta has de posar la imatge del circuit muntat a la
protoboard i el programa que heu fet anar.

#include <LiquidCrystal.h>
//LCD pin to Arduino
const int pin_RS = 8;
const int pin_EN = 9;
const int pin_d4 = 4;
const int pin_d5 = 5;
const int pin_d6 = 6;
const int pin_d7 = 7;

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 3 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat
CFGM IT2

MÒDUL M2 – UF3

const int pin_BL = 10;


LiquidCrystal lcd( pin_RS, pin_EN, pin_d4, pin_d5, pin_d6, pin_d7);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Gines");
lcd.setCursor(0,1);
lcd.print("Rodriguez Sherstnova");
}
void loop() {
delay(500);
}

4. S’ha de fer un muntatge on hi connectarem el sensor de temperatura DHT11


(sensor de temperatura i humitat), també connectarem una LCD Velleman
VMA203 perquè puguem veure tant la temperatura con la humitat. Línia 0 del
LCD ha de sortir la temperatura i en la línia 1 del LCD la humitat

S’ha de posar el programa i fotografia del vostre muntatges (ProtoBoard)


Fins aquí l’alumne/a pot obtenir un màxim de 6 punts

#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <LiquidCrystal.h>

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 4 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat
CFGM IT2

MÒDUL M2 – UF3

#define DHTPIN 22
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

//LCD pin to Arduino


const int pin_RS = 8;
const int pin_EN = 9;
const int pin_d4 = 4;
const int pin_d5 = 5;
const int pin_d6 = 6;
const int pin_d7 = 7;
const int pin_BL = 10;
LiquidCrystal lcd( pin_RS, pin_EN, pin_d4, pin_d5, pin_d6, pin_d7);

void setup() {
Serial.begin(9600);
dht.begin();
lcd.begin(16, 2);

}
void loop() {
delay(500);
float h = dht.readHumidity();
// Leemos la temperatura en grados centígrados (por defecto)
float t = dht.readTemperature();
// Leemos la temperatura en grados Fahrenheit
float f = dht.readTemperature(true);

// Comprobamos si ha habido algún error en la lectura


if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Error obteniendo los datos del sensor DHT11");
return;
}

// Calcular el índice de calor en Fahrenheit


float hif = dht.computeHeatIndex(f, h);
// Calcular el índice de calor en grados centígrados
float hic = dht.computeHeatIndex(t, h, false);
lcd.setCursor(0, 0);
lcd.print("Humedad: ");
lcd.setCursor(9, 0);
lcd.print(h);
lcd.setCursor(14, 0);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Temperatura:");
lcd.setCursor(12, 1);
lcd.print(t);

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 5 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat
CFGM IT2

MÒDUL M2 – UF3

5. Cada alumne/a ha de pensar un pràctica on s’ha d’utilitzar la pantalla


Velleman VMA203
( no es poden repetir els que s’han fet als anteriors exercicis). Quan més
completa sigui el muntatge més puntuació tindrà aquesta pràctica
Aquesta pregunta és per optar a una nota més alta de 6 punts si s’ha fer
també les anteriors preguntes

#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <LiquidCrystal.h>

//LCD pin to Arduino


const int pin_RS = 8;
const int pin_EN = 9;
const int pin_d4 = 4;
const int pin_d5 = 5;
const int pin_d6 = 6;
const int pin_d7 = 7;
const int pin_BL = 10;
int pulsador = 44;

#define DHTPIN 22
#define DHTTYPE DHT11

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 6 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat
CFGM IT2

MÒDUL M2 – UF3

DHT dht(DHTPIN, DHTTYPE);

LiquidCrystal lcd( pin_RS, pin_EN, pin_d4, pin_d5, pin_d6, pin_d7);

void setup() {
Serial.begin(9600);
dht.begin();
lcd.begin(16, 2);
lcd.setCursor(0,0);
pinMode(pulsador, INPUT);
}

void loop() {
delay(500);
float h = dht.readHumidity();
// Leemos la temperatura en grados centígrados (por defecto)
float t = dht.readTemperature();
// Leemos la temperatura en grados Fahrenheit
float f = dht.readTemperature(true);

// Comprobamos si ha habido algún error en la lectura


if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Error obteniendo los datos del sensor DHT11");
return;
}

// Calcular el índice de calor en Fahrenheit


float hif = dht.computeHeatIndex(f, h);
// Calcular el índice de calor en grados centígrados
float hic = dht.computeHeatIndex(t, h, false);
lcd.setCursor(0, 0);
lcd.print("Humedad: ");
lcd.setCursor(9, 0);
lcd.print(h);
lcd.setCursor(14, 0);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Temp:");
lcd.setCursor(10, 1);
lcd.print(t);
lcd.setCursor(14, 1);
lcd.print("C");

int x;
x = digitalRead(pulsador);
Serial.println(digitalRead(pulsador));
int farengeith = (t * 1.8) + 32;
if (x == LOW) {
lcd.setCursor(10, 1);
lcd.print("");
lcd.setCursor(10, 1);
lcd.print(farengeith);
lcd.setCursor(14, 1);
lcd.print("F");

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 7 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat
CFGM IT2

MÒDUL M2 – UF3

}
}

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 8 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat
CFGM IT2

MÒDUL M2 – UF3

Cod: DC-O.30-55-182 Data: 15/09/12 Rev.01 Pàgina 9 de 9


C/ Ferrer i Busquets, 17 25230-Mollerussa Tel. 973 600 270 Fax 973 710 599 E-mail: lasallemollerussa@lasalle.cat
http://www.mollerussa.lasalle.cat

You might also like