Go Down

Topic: Duemilanove + LCD (Read 17021 times) previous topic - next topic

igorreal

#30
Mar 05, 2010, 11:58 pm Last Edit: Mar 06, 2010, 12:24 am by igorreal Reason: 1
Hola,

Quote

Bueno, descubierta una incompatibilidad: resulta que si empleo pines distintos a los que asignó el creador de la libreria liquidcrystal, como he hecho yo, en vez de emplear los suyos:

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

he empleado los mios:

LiquidCrystal lcd(5, 4, 3, 2, 1, 0);

Y le pongo inicializar el puerto serie con Serial.begin(9600);  el display no va, pero si dejo el mismo programa con los pines que dice el programador si que va. Vaya tela.....


Incompatibilidades?? Los pines 0 y 1 son los del puerto serie (TX y RX)... es un buen indicador para que no te funcione.... ;)
Pruebalo con otros pines que no sean 0 y 1, ya que son los de la UART.

Extraido de http://arduino.cc/en/Reference/Serial

Quote
Used for communication between the Arduino board and a computer or other devices. All Arduino boards have at least one serial port (also known as a UART or USART): Serial. It communicates on digital pins 0 (RX) and 1 (TX) as well as with the computer via USB. Thus, if you use these functions, you cannot also use pins 0 and 1 for digital input or output.





Saludos


Igor R.



Heke

Un Saludo Miguelec2007
  Es posible, la verdad que cada lcd es un mundo, al menos estos de hitachi son faciles de programar y al menos son economicos.

Gracias Igor R, no sabia yo esto de los pines 0 y 1, la verdad es que empiezo ahora con el mundo arduino y voy dando tumbos de lado a lado hasta que va saliendo poco a poco.

  Menos mal que me lo has dicho pues tenia pensado usar esos pines en otra salida, me has salvado de volverme loco de nuevo.
 No tenia ni idea que influian en la comunicacion serie aparte del puerto que llevaba.

 He mirado mi arduino USB y es verdad, lleva marcados los pines del puerto digital 0 y 1 como tx y rx pero la placa serie que estoy empleando no pone nada la jodia, solo pone puerto b y puerto c.

El caso es que los he estado empleando hasta que inicialize el serial.begin que es cuando dejo de funcionar, claro.

Lo dicho, gracias compañeros por la ayuda y un saludo.

igorreal

Heke, no es aparte... Son los pines que van al chip ftdi para convertir serie en USB.

Los tienes en la placa, por si los quieres utilizar para otra cosa que no sea comunicación serie.


Saludos   ;)


Igor R.

Heke

Igor R, gracias de nuevo compañero

Te hago una ultima pregunta en este hilo del lcd.

Mi idea es pasar de las placas de arduino serie y utilizar el "Mega" pero como necesito que se comuniquen con un modem analogico de 56k, rs-232, he pensado en añadirle un modulo extra que incorpore un max-232 para convertir los niveles del arduino (3,3vcc creo) a los niveles del rs-232.

Si conecto el Tx y Rx a esos respectivos pines del "mega" ¿se comportara la placa igual o te suena que pueda econtrar algun tipo de pega por no emplear el USB?

Gracias de nuevo.

Este es el modulo:

bioritmos

#34
May 25, 2010, 09:19 pm Last Edit: May 25, 2010, 09:26 pm by bioritmos Reason: 1
Hola arduineros.

Refloto este hilo porque me temo que mi problema con el display del otro post está relacionado.

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1274449376


Bueno, mi display es el POWERTIP PC-1602-F
La librería que viene por defecto en el ide 0017 y 0018 llamada
LiquidCrystal no me funciona. He requeteprobado las conexiones y solo consigo que se sombree la primera linea de las dos que tiene el display.

Con la librería LCD4Bit he empezado a hacer pruebas con el mismo resultado, pero me gustaría preguntar un par de cosas.

He probado la conexión que se incluye en LCD4Bit.cpp:

Code: [Select]
int USING_RW = false;

//RS, RW and Enable can be set to whatever you like
int RS = 12;
int RW = 11;
int Enable = 2;
//DB should be an unseparated group of pins  - because of lazy coding in pushNibble()
int DB[] = {7, 8, 9, 10};  //wire these to DB4~7 on LCD.


DB4--------pin7
DB5--------pin8
DB6--------pin9
DB7--------pin10
RS----------pin12
RW---------pin11 o a masa
Enable-----pin2

Con este programa veo que el led de la salida 13 parpadea, pero el display sigue igual.  :-[

-------

Soy muy nuevo en esto de arduino y quizá estoy metiendo la pata en algo básico. Os comento rápidamente que la librería LCD4Bit la instalo copiando directamente la carpeta en:

C:\arduino-0018\libraries\LCD4Bit (NO HAY NINGÚN FICHERO .O, ni se crea luego al copilar)

Al abrir de nuevo el IDE me sale en el menú abrir ahora la opción:
FILE>EXAMPLES>LCD4BIT>LCD4BITEXAMPLE

Lo abro, le doy a compilar (verify - play) y no se genera ningún fichero .o como se comenta en el fichero readme.txt

Luego pulso upload y se carga en el arduino. El led 13 empieza a parpadear, pero nada más.

¿Qué puede ser? Me tiene esto ya loco. :D

Gracias de antemano.



ps: Según el datasheet el patillaje lo he hecho correctamente. Aunque es un poco peculiar. Os dejo unas capturas de lo interesante. Este display en vez de tener los contactos por arriba, los tiene en la parte interior (al mirarlo).



bioritmos

#35
May 25, 2010, 09:41 pm Last Edit: May 25, 2010, 10:39 pm by bioritmos Reason: 1
Que ganas tengo que poner la foto con el gracias de marras. :D

Acabo de ver que hay 3 páginas de hilo... Bueno. A ver si saco algo.

edit: Estoy empezando a pensar que mi display está jodido. He puesto un led con resistencia para ir viendo como llegan las señales directamente sobre la soldadura de la patilla del display y todas las señales están llegando, yo creo que correctamente. Unas están encedidas prácticamente con leve parpadeo otras lo contrario...

Así que me temo lo peor.  >:(
Este display lo tenía en su bolsa esd desde hace mucho en un cajón.

Seguiré insistiendo algo más a  ver si lo consigo, pero lo veo mal. Ya lo he probado muchas cosas y llevo días.  ::)

bioritmos

#36
May 26, 2010, 11:15 am Last Edit: May 26, 2010, 11:16 am by bioritmos Reason: 1
Bueno, yo sigo con el display porque ya es por puro reto.

He puesto un led+resistencia para ver cada señal que le transmite el arduino al led y he observado algo que puede ser el problema.

Importante: La conexión la hago con el cable sobre la soldadura del display para asegurarme que está llegando.

1.- Las señales DB7-DB4 se transmiten correctamente y parpadean siguiendo distintos patrones. DB4 es casi como un reloj.

2.- R/W está a masa

3.- RS se apaga y se enciende a una frecuencia de 1 seg aprox

4.- Enable es parpadeante pero el led apenas se enciende. A oscuras se aprecia el parpadeo pero es muy muy leve. Esto me da que pensar que está señal no se está generando correctamente; Ya que el resto de señales iluminan el led normalmente, es decir, bastante. Probablemente no esté trabajando en el rango TTL.

Al principio pensé que esa salida del micro estaba dañada, pero no, he ido modificando el programa para ir moviendo las señales y otras señales se generan correctamente en esa salida; y de la misma forma, se obtiene el mismo resultado (señal débil) al asignar la señal enable a otra salida.

¿Alguien podría mirar la señal enable en su display para ver si se corresponde con la mía?

Tengo un arduino duemilanove con ATMEGA328.

JMN

#37
May 26, 2010, 03:20 pm Last Edit: May 26, 2010, 03:21 pm by JMN Reason: 1
No te puedo ayudar ya que no conozco las librerias de Arduino, pero en 4. no es que no trabaje en el rango de ttl, el led lo ves con menos intensidad porque ahí tienes un pin que se pone a uno y a cero muy rápido, lo que ves por ejemplo es una señal así __-__-__-__-, por eso ves el led con menos brillo.

bioritmos

Mmmm, eso pensé al principio, que la señal estaba casi todo el tiempo a nivel bajo y tenía pulsos muy cortos a 5V, pero a ojo puedo distinguir el parpadeo claramente; al igual por ejemplo que la señal DB4; pero esta en cambio parpadea mucho más fuerte.

¡¡¡NECESITO UN OSCILOSCOPIO!!!  ;D

Lo que ya tengo claro es que las señales llegan y las conexiones son correctas según el datasheet. (Mmmm, me queda probar con la señal R/W cambiando el flag en la librería.)

Así que el problema puede ser:

- Librería no compatible con este display.
- Display defectuoso.

bioritmos

JMN, tenías razón. La señal es correcta y de la misma frecuencia solo que Enable tiene unos pulsos de muy poca amplitud.

Voy a comprar resistencias para poner las lineas que no uso a pull-up. Aunque para mi que este display está roto.  :'(

JMN

#40
May 27, 2010, 11:41 am Last Edit: May 27, 2010, 11:44 am by JMN Reason: 1
Más que el osciloscopio lo mejor para trabajar con microcontroladores con una buena relación calidad/precio es esto: http://www.jmnlab.com/saleae/saleae.html

Es de sólo 8 líneas, por lo que para un display con 8 de datos + 3 de control no llega, ya te tienes que ir a otros modelos más caros, pero para verificar que el micro o un pin funciona correctamente en muchos casos y que los pines hacen lo que tu has programado, y que tus comunicaciones I2C, serie, SPI funcionan bien, es muy útil.

Heke

#41
May 27, 2010, 07:05 pm Last Edit: May 27, 2010, 07:13 pm by Heke Reason: 1
Hola
En el display no se como ayudarte pero quizas en esto si:


Enlace: http://www.xs4all.nl/~jwasys/old/diy2.html



Enlace: http://www.electronics-lab.com/downloads/pc/002/index.html



Enlace: http://www.zeitnitz.de/Christian/scope_en



Enlace: http://heliso.tripod.com/download/generator/dsg.htm

Usan la tarjeta de sonido de un pc o el puerto paralelo.

Habia un proyecto hace años en el que se uso una gameboy con un cartucho modificado para emplearlo como osciloscopio de mano,el proyecto fue vendido a la revista elektor y en su web esta pero cuesta un huevo....

  No he localizado como poder hacerlo por mi cuenta y no hay ningun proyecto similar. Una lastima porque ya estaba pensando en darle un uso a la advance de mi chaval.

El proyecto era gbdso

Y su enlace: http://www.semis.demon.co.uk/Gameboy/DsoDemo/DsoDemo.htm
 

tarmion

Hola,yo and ocon una pantalla lcd EL-1602A y tengo varios problemas ,Tengo las siguiente conecciones:

VSS---GND
VDD---5v de la placa arduino
Vo---sin conectar
RS----Pin 12
R/W---pin11
E---pin 2
D0,D1,D2,D3 --- sin conectar
D4,D5,D6,D7--- pin7,pin8,pin9,pin10
A--sin conectar
C---sin conectar

Creo que el problema es por el Vo porque al conectarlo a GND me aparece cuadros claros y de refilon sale las letras del ejemplo(el de las frutas :))
Así que creo que es un problema de iluminacion de la pantalla o algo así
Que conecciones me faltan?
Gracias!

tarmion

Bueno he conectado el anodo y el catodo a una pila de 4.5v y ya esta retroiluminada pero me pasa lo mismo,solo si paso el cable de Vo por tierro se me ve las letras de vez en cuando ,si lo dejo en tierra siemre se me keda la pantalla con cuadros y si no se me keda toda azul
Es obligatorio conectar elVo a un potenciometro?

tarmion

Bueno solucionado lo de la pantalla,con el potenciometro y la retroiluminacion anda perfectisisisimo jeeje
Una cosa,pasa algo si le dejo que se alimente con la pila de 4,5v?

Go Up