Pages: [1]   Go Down
Author Topic: Modulo lcd1206 de mjkdz -RESUELTO-  (Read 825 times)
0 Members and 1 Guest are viewing this topic.
Malag (Spain)
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola.
He comprado en Ebay un modulo I2C LCD1206 de www.mjkdz.com.
En las instrucciones dice que tiene la dirección 0X27


Con el siguiente programa, con un PCF8754AP, y el LCD funciona.
Code:
//
// display01.pde - keypad con LCD y expansor PCF8574A
// basado en un programa de:

/* Usando el actual ejemplo de hardware, se puede controlar un LCD mediante el
circuito PCF8574A.De este modo se utilizan sólo dos pines de Arduino para
manejar el LCD.

*/

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27); // Set the LCD I2C address

#define BACKLIGHT_PIN 13

void setup()
{
  // Switch on the backlight
  pinMode (BACKLIGHT_PIN, OUTPUT);
  digitalWrite (BACKLIGHT_PIN, HIGH);

  lcd.begin(16,2); // inicializa el LCD
  lcd.clear ();    // lo mismo que: home();
  lcd.print(" Mensaje");
  lcd.setCursor ( 1, 1 ); // va a la siguiente línea
  lcd.print (" Hola, ARDUINO ");
  delay(10000);
  lcd.clear();
  lcd.setCursor (0, 0 );
  lcd.print ("Programa con I2C");
  
  lcd.setCursor ( 1, 1);
  lcd.print ("Todo bien... ");
  delay (500);  }

void loop()
{
  digitalWrite(BACKLIGHT_PIN, HIGH);
  delay(300);
  digitalWrite(BACKLIGHT_PIN, LOW);
  delay(500);
  
}

Pero con el modulo, no funciona.
¿Podéis darme alguna idea?.
¿Hay alguna rutina para averiguar la dirección I2C de un dispositivo)
Saludos
« Last Edit: February 10, 2013, 01:31:00 pm by numero110 » Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hay programas de arduino que buscan todas las direcciones I2C conectadas al arduino.
I2C sniffer creo que se llama
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Malag (Spain)
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ya esta solucionado.
Gracias al sniffer, la dirección era incorrecta.
El programa para que funcione es el siguiente:
Code:
*/*******************************************
Prueba del funcionamiento del dispaly
*/
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>  //

#define BACKLIGHT_PIN     7
#define  LED_OFF  0
#define  LED_ON  1

LiquidCrystal_I2C  lcd(0x20,4,5,6,0,1,2,3);

void setup()
{
  lcd.begin (20,2);  // inicializo el LCD 20x2
  // Switch on the backlight
  lcd.setBacklightPin(BACKLIGHT_PIN,NEGATIVE);
  lcd.setBacklight(LED_ON);
 
  lcd.home();
 
  lcd.setCursor(0, 0);
 
  for(int i=0;i<20;i++) lcd.print("*");
  lcd.setCursor(0, 1);
 
  lcd.print(" Hola mundo   ");
  delay(5000);
  lcd.clear();
}

void loop()
{
  lcd.setCursor(0,0);
  lcd.print(" Linea 0   ");
  lcd.setCursor(0,1);
  lcd.print(" linea 1 ");
  delay(1000);
  lcd.clear();
}
Logged

Pages: [1]   Go Up
Jump to: