Go Down

Topic: Problema con LCD serial de SparkFun (Read 880 times) previous topic - next topic

sydes

Muy buenas.

Os cuento mi problema a ver si alguien me puede echar una mano.
Acabo de comprar unas cuantas cosillas para hacer un pequeño proyecto, entre ellas un placa Arduino Uno y un LCD Sparkfun .Este concretamente             http://www.sparkfun.com/products/10097

Soldé el LCD y conecte los tres pines (ROJO 5v , NEGRO gnd, AMARILLO pin3) , puse el programa de prueba de SofwareSerial que viene en los ejemplos de arduino y todo funciono perfectamente.

Luego quise seguir esta guia: http://www.arduino.cc/playground/Learning/SparkFunSerLCD

El problema es que cambie el cable amarillo de pin mientras se estaba ejecutando uno de los programas y ahora el LCD solo muestra caracteres extraños, he probado a conectarlo en distintos pines pero no tiene resultado, sin embargo cuando se inicia la pantalla sigue mostrando el mensaje de inicio : www sparkfun com Serial LCD Kit  (perfectamente legible).

¿alguna idea?

sydes

¿alguien que me eche una mano con esto?

El cable amarillo es de entrada de datos en serie al lcd. No puedes conectarlo a cualquier pin sin configurarlo antes como pin "tx" a traves de la instruccion "SoftwareSerial mySerial =  SoftwareSerial(rxPin, txPin);".
Otro punto, la velocidad del puerto debe ser la misma que la del lcd, que una vez establecida es permanente(en el lcd). Si no coinciden suelen salir chinos en el lcd. Cuando inicies la conexion serie con "Serial.begin(baudios)" (para el puerto serie tx0 y rx0, por defecto) o "mySerial.begin(baudios)" (para la libreria SoftwareSerial) debes usar la velocidad que tiene configurado el lcd. Si no sabes cual es pruebalas todas. (por defecto viene a 9600 bd).
En https://github.com/jimbloom/Serial-LCD-Kit/wiki/Serial-Enabled-LCD-Kit-Datasheet tienes una lista de comandos que se pueden enviar a traves de una conexion serie para configurar el kit.
Espero haberte ayudado.
 

sydes


--------------------SOLUCIONADO-----------------------



Gracias por contestar Donrodrigo, no entiendo muy bien lo que me comentas sobre los puertos tx y rx,  yo utilizo el ejemplo de software serial en el que por defecto me salen los puertos 2 y 3
De todas formas acabo de solucionar el problema.
Era cosa de los baudios, es curioso por que al principio me funcionaba perfectamente a 9600, despues paso el problema que ya comente arriba y dejo de funcionar, pero ahora si pongo 300 funciona a la perfeccion otra vez.
Con respecto a los comandos que aparecen en la pagina que me dices, no se como usarlos, estoy dando mis primeros pasitos en arduino y la mayoria de cosas me suenan a chino.


con este codigo el lcd vuelve a funcionar.

Quote
#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3);


void setup()  
{
 Serial.begin(300);
 Serial.println(" hola funciona");

 // set the data rate for the SoftwareSerial port
 mySerial.begin(300);
 mySerial.println(" hola funciona");
}

void loop() // run over and over
{
 if (mySerial.available())
   Serial.write(mySerial.read());
 if (Serial.available())
   mySerial.write(Serial.read());
}


un saludo

Go Up