Pages: 1 [2]   Go Down
Author Topic: LCD + 74HC595, problemas (¡YA FUNCIONA!!)  (Read 3985 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas a todos,

Saludos, dentro de la libreria hay un example llamado HelloWorld_SR, hay que configurar la opcion de inicializacion como:

//data, clock, enable
LiquidCrystal_SR lcd(2,3,4);


aparte, podrias decirme el modelo del display?

El modelo de display es un HD44780, y ya lo hice funcionar con 4 bits.

Un saludo
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas a todos,

Sigo con lo mio, para ver si consigo que funcione.

He introducido este programa:


#include <LiquidCrystal_SR.h>

 
#define  DATAPIN  2
#define  CLOCKPIN 4
#define  STROBEPIN 3
#define  MAXCOLUMNS  16
#define  MAXLINES  2


LiquidCrystal_SR lcd(DATAPIN, CLOCKPIN, STROBEPIN);

void setup() {
  // set up the LCD's number of rows and columns:
  lcd.begin(MAXCOLUMNS, MAXLINES);
  // Print a message to the LCD.
  lcd.print("Hello, World!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);  //lcd.setCursor(column, row);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}

Y me dice esto al compilar:

Error compiling

In file included from C:\arduino-1.0\libraries\LiquidCrystal/LiquidCrystal_SR.h:81,
                 from sketch_feb15a.cpp:1:
C:\arduino-1.0\libraries\LiquidCrystal/LCD.h: In function 'void waitUsec(uint16_t)':
C:\arduino-1.0\libraries\LiquidCrystal/LCD.h:64: error: 'delayMicroseconds' was not declared in this scope


No se como interpretarlo, y veo que cuando pongo : #include <LiquidCrystal_SR.h>, la libreria no se me pone en rojo como las otras.

Siento que soy un poco pesado y me disculpo pero no se como continuar.

Gracias a todos.
Toni.
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Que versión de la librería tienes instalada?
Que versión del IDE de arduino?
Intenta poner: #include <Arduino.h> al principio del sketch.

Has instalado bien la librería?
Logged

   

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas fm,

Que versión de la librería tienes instalada?

he descargado la libreria de aqui:

http://hg.bijland.net/fmalpartida/new-liquidcrystal/downloads

Y he descargado:

LiquidCrystal_v1.1.7.zip

Que versión del IDE de arduino?


He probado en ambos IDE, en 0.22 y en 1.0, y me sale lo mismo.


Intenta poner: #include <Arduino.h> al principio del sketch.


Probare esto que me comentas, y te digo si me funciona.


Has instalado bien la librería?

Las librerias en ambos casos, tanto en 0.22, como en 1.0, las he instalado en:

C:\arduino-1.0\libraries  , aqui pego la carpeta "LiquidCrystal"

C:\arduino-0022\libraries , aqui pego la carpeta "LiquidCrystal"

La otra carpeta que está para descomprimir es de Mac, si no me equivoco.

Esto es lo que tengo hecho, ahora pruebo lo que me comentas.
Toni



Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas,

Esto es lo que sale cuando añado #include <Arduino.h>


Error compiling

sketch_feb15a.cpp:2:21: error: Arduino.h: No such file or directory
In file included from C:\arduino-0022\libraries\LiquidCrystal/LiquidCrystal_SR.h:81,
                 from sketch_feb15a.cpp:3:
C:\arduino-0022\libraries\LiquidCrystal/LCD.h: In function 'void waitUsec(uint16_t)':
C:\arduino-0022\libraries\LiquidCrystal/LCD.h:64: error: 'delayMicroseconds' was not declared in this scope


Toni
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Es curioso, nadie ha reportado ningún tipo de problema.

Básicamente lo que te está diciendo el error es que no encuentra delayMicroseconds que es una función estándar arduino.

Por lo tanto es posible que algo no esté bien instalado en tu entorno Arduino.
Haz una simple prueba:
Modifica tu programa para que en el setup haga: delayMicroseconds (10);

Por otro lado, utiliza los ejemplos que vienen con la librería, estos están probados por mucha gente y sin problemas.
« Last Edit: February 15, 2012, 04:06:26 pm by fm » Logged

   

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas,

Cuando pongo los ejemplos, veo que la libreria no se me activa en rojo, como si no la encontrara. Y cuando ejecuto:
  delayMicroseconds (10);  no tengo ningún problema, lo reconoce sin problemas.

Seguiré probando. Lo que voy a hacer es desinstalar todo y partir de cero, y así veo si sucede lo mismo. Esta tarde cuando llegue a casa lo pruebo.

Toni.
« Last Edit: February 16, 2012, 02:35:29 am by Mentus » Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, he visto un pequeño error que entro en la version 1.0.7 de la libreria que explica el problema que has visto. He subido un parche este fin de semana, versión 1.0.7.1 que esta en la zona de descarga. A ver si soluciona el problema.
Para arreglarlo sin parche se puede poner #include <Arduino.h> en el sketch, pero lo he arreglado a nivel de librería.

Gracias por probar la librería y disculpa las molestias.

Por cierto, el fin de semana que viene publicaré la version 1.2.0, mas rápida y con una implementacion mas elegante y algunos métodos extendidos adicionales.

Un saludo
Logged

   

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas,

Gracias a ti por la ayuda prestada, y probaré la nueva versión para ver que tal, pero aunque soy nuevo en esto, creo que se trata de compartir experiencias y ayudarnos.

En lo que pueda, lo voy a intentar.

Estoy un poco liado por el trabajo, pero a ver si puedo seguir probando cosas. Ya os cuento.

Un saludo.
Toni.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola fm,

Ya he visto que tienes la actualización de la librería, esta tarde en cuanto llegue a casa la pruebo, y veo si consigo hacerla funcionar de una vez.  smiley-roll-sweat

Expondré mis problemas y la solución para más gente.

Un saludo.

Toni
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas a todos,

Al final y tras hacer un número infinito de pruebas con todo tipo de librerias, he conseguido hacer funcionar el Display con tres hilos que era lo que me había propuesto.

fm, con tus librerias no he sido capaz, pero seguramente haré algo mal, pero no te preocupes que no lo dejo ahí, y continuaré hasta que consiga que funcione, si es que a tí te vale para tu experiencia. Lo que a mi no se me carga es:
                      #include <I2CIO.h>
                      #include <LCD.h>
                      #include <LiquidCrystal.h>
                      #include <LiquidCrystal_I2C.h>
                      #include <LiquidCrystal_SR.h>
                      #include <LiquidCrystal_SR_LCD3.h>

Ninguna de ellas se me pone en rojo, como que está bien cargada, las utilizo con IDE 1.0 y no he sido capaz. Y con el IDE 0.22:
                      #include <FastIO.h>
                      #include <I2CIO.h>
                      #include <LCD.h>
                      #include <LiquidCrystal.h>
                      #include <LiquidCrystal_I2C.h>
                      #include <LiquidCrystal_SR.h>
                      #include <LiquidCrystal_SR_LCD3.h>

Las que están en rojo son las que cargo correctamente.

Así que tras hacer diferentes pruebas y no ser capaz, descargue la libreria:
                      #include <ShiftRegLCD.h>

Y con esta librería si que he sido capaz de poder hacer funcionar el display en las dos líneas y con las mismas funciones que cuando utilizaba el display sin 74HC595.

He utilizado los esquemas de la página que pusimos el link en anteriores post y funcionó.

Si alguien necesita algo, que lo pregunte. fm gracias por todo y ya te iré informando de las pruebas que haga con tus librerias.

Un saludo.
Toni.
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues es muy raro, muy raro porque la librería la está usando mucha gente sin hacer ningún tipo de modificaciones en el código. Vamos que la mayor parte de la gente, reemplaza el directorio de "libraries/LiquidCrystal" de su distribución Arduino y lo reemplazan por esta y no les ha dado ningún problema.

Aquí te dejo una entrada en uno de los foros de audio donde usan la librería porque es mucho más rápida: http://hifiduino.wordpress.com/2012/02/05/new-liquidcrystal-arduino-library/

Y lo que más me gusta de la librería es que también funciona con CHIPKit sin cambiar nada. En fin, ...
Logged

   

Pages: 1 [2]   Go Up
Jump to: