Download Pueden bajar un DOC

Document related concepts
no text concepts found
Transcript
LCD Azul I2C
https://arduino-info.wikispaces.com/LCD-Blue-I2C
LCD Displays (Blue and Yellow) with I2C/TWI Interface
Las fotos son de la página de referencia de arriba.
El Display usado en este trabajo es LCD Module Blue screen I2C 1602 para Arduino
Muy Importante: Información sobre
Librerías
Todos los displays LCD usan las librerías de F. Malpartida. Las que usamos en este
trabajo están en el archivo.ZIP. Sus nombres están en el programa. La versión es la
V1.2.1
Si cuando verifica el programa le dice: error: 'LiquidCrystal_I2C' does not name a type,
ello significa que no están bien instaladas.
Como instalar las Librerías
Es muy importante que si hay librerías instaladas con el mismo nombre, sean borradas o
movidas.
En el Archivo.ZIP encontrarán este directorio con las Librerías:
En C:\Archivos de programa\Arduino\libraries\LiquidCrystalI2C\ abren el directorio
LiquidCrystalI2C. Allí copiarán las librerías marcadas con rojo. Son 6 archivos.
Se deben cargar con el Arduino IDE cerrado. Al abrirlo aparecerá en la lista.
Al hacer click en LiquidCrystalI2C, se cargarán las tres librerías:
#include <I2CIO.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
La cuarta es del Arduino. No se debe cargar.
#include <Wire.h> // Es del Arduino IDE
El programa Arduino está preparado para 2 líneas de 20 caracteres. Si su display es
distinto, vea la dirección WEB de referencia arriba. Allí están todos los programas para
otros display.
Los Display tienen letras blanco brillante sobre fondo azul oscuro (O negro sobre amarillo)
Eso hace muy difícil la toma de fotos.
Cuidado con la dirección del I2C o del
display
En el programa encontrarán estas líneas:
// Setear los Pines en el Chip I2C para conectar al Display
//
(addr, en,rw,rs,d4,d5,d6,d7,bl,blpol )
LiquidCrystal_I2C lcd(0x38, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // El 0x38 es el I2C bus
address.
// Se obtiene con el programa LCD_Scanner.ino
// Lo de despues de la coma no se cambia.
// Bajarlo de http://www.arossini.com.ar/files/arduino/I2C
Scanner.doc
En esas líneas verán 0x38 en rojo, que es es número hexadecimal de la dirección o
Adress del I2C. Si se pone mal este número, nada funcionará.
Ese número se lo obtiene con el programa Arduino que lo pueden bajar de:
http://www.arossini.com.ar/files/arduino/I2C Scanner.doc
Para ver mucha información técnica sobre I2C ver AQUI escrito por Nick Gammon.
También hay mucha más información en la página de referencia indicada arriba.
Conexionado
En este trabajo, usaremos la conexión I2C, de 4 cables, de los cuales dos son de
alimentación, 5 Volt y GND.
GND - GND
VCC - 5V
SDA - Pin 4 Analógico
SCL - Pin 5 Analógico
Esto es válido para muchos Arduinos. Para el Mega puede cambiar.
El potenciómetro azul cuadrado de la foto, controla el contraste de los caracteres.
Programa LCDAzulI2C.ino
#include <I2CIO.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h> // Es del Arduino IDE
// Setear los Pines en el Chip I2C para conectar al Display
//
(addr, en,rw,rs,d4,d5,d6,d7,bl,blpol )
LiquidCrystal_I2C lcd(0x38, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // El 0x38 es el I2C bus
address.
// Se obtiene con el programa LCD_Scanner.ino
// Lo de despues de la coma no se cambia.
// Bajarlo de http://www.arossini.com.ar/files/arduino/I2C
Scanner.doc
void setup() // Corre una sola vez
{
Serial.begin(9600); // Usado para tipear mensajes al display
lcd.begin(16,2);
// initializa el LCD para 16 caracteres y 2 lineas, prende backlight
// ------- 3 blinks rapidos de backlight ------------for(int i = 0; i< 3; i++)
{
lcd.backlight();
delay(250);
lcd.noBacklight();
delay(250);
}
lcd.backlight(); // Termina con backlight prendido
//-------- Escribe characteres en el display -----------------// NOTA: Posicion del cursor: (CHAR, LINE) comienza en 0
lcd.setCursor(0,0);
lcd.print("Prueba");
delay(1000);
lcd.setCursor(0,1);
lcd.print("Exitosa");
delay(3000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Usar Serial Ardu");
lcd.setCursor(0,1);
lcd.print("Tipear en la PC");
} // FIN del setup
void loop()
{
{
// Cuando caracteres son tipeados en el Serial:
if (Serial.available()) {
// Espera a que arrive
delay(100);
// limpia pantalla
lcd.clear();
// Lee los caracteres arrivados
while (Serial.available() > 0) {
// Muestra cada caracter en la pantalla
lcd.write(Serial.read());
}
}
}
} // FIN del void loop()
Cambiar la dirección I2C (ADDRES)
Algunos I2C tienen Pines o Pads de soldadura, que permiten cambiar la dirección.
El 1 significa puenteado, el 0 abierto.
A0 A1 A2 HEX Address
1
1
1
0x27
0
1
1
0x26
1
0
1
0x25
0
0
1
0x24
1
1
0
0x23
0
1
0
0x22
1
0
0
0x21
0
0
0
0x20
Si cambia la dirección, desconfíe y pruebe con el programa LCD_Scanner.
Según tengo en mi placa, debería ser 0x27, pero la realidad es que con esa dirección no
funciona, y la Scaneada es 0x38, que funciona.
En la foto, los Pds A0, A1, A2 están sin puentear y les correspondería la dirección 0x20.