Hola, después de mucho leer, no me queda otra que consultar :D..
Estoy intentando montar una incubadora de reinas(apicultura), realice el menú y todo marchaba perfecto.
Cuando horas 3-4 horas mas tarde mi lcd comenzó con caracteres raros y cuadros blancos. reinicio el arduino y al cabo de unos minutos volvía a suceder, esto era progresivo al punto de simplemente partir con caracteres raros.,
Componentes utilizados:
Arduino duemilanove
dth22
pulsador
(faltan los componentes para pwm y controlar una placa peltier, y rele para controla humidificador.)
Después de comenzar a ocurrir los caracteres raros para los cuales no encontré solución: culpe la libreria en cuestion del lcd.
busque hasta que encontré una que funcionara y empece de 0 con un arduino pro mini, ya que con el duemilanove nunca mas pude en poner en marcha el lcd.
-------- EL PROBLEMA ACTUAL, LOS ANTERIOR ES BÁSICAMENTE LO MISMO SOLO QUE SOBRE DUEMILANOVE---
Ahora en este momento estoy con un arduino pro mini + i2c(pcf8574t)+4093 para eliminar el efecto rebote del pulsador.
hasta aquí todo bien cuando agregue el dth22 y el respectivo código, todo parecía marchar bien hasta después de unos 30 min. comenzo el problema nuevamente caracteres raros.. saque el dth22 y elimine el respectivo codigo.
Conecto arduino mediante ftdi232, y pasado unos minutos denuevo caracteres raros, desconecto y al reconectar nuevamente lo mismo.
Al cargar el ejemplo blink, reiniciar y volver a cargar el programa marcha bien por unos segundos y vuelven los caracteres.
Cosas que eh intentado:
Agregar pull-up 4.7k al i2c, se noto el cambio ahora cada vez que prendo tengo casi 20 segundos de funcionamiento.
Condensador 100nf para desacople según leí unos links por hay(ningún cambio aparente.)
Infinidad de librerías y códigos de prueba de las mismas unas aguanta unos segundos mas otras simplemente no marchan.
Solo arduino y el i2c, los mismo segundos de funcionamiento.
La verdad ya estoy pensando en botar el proyecto pero algo me dice que no puede vencerme xD..
Aqui: Video referencia del problema.
Conexion actual:
Arduino pro mini a4->sda a5->scl y pull-up 4.7k
Mi Codigo:
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27 // Define I2C Address where the PCF8574A is
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
int n = 1;
int buttonState = 0;
const int buttonPin = 2; // the number of the pushbutton pin
void setup()
{
lcd.begin (16,2);
pinMode(buttonPin, INPUT);//boton
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
//lcd.home (); // go home
//lcd.print("I2C tester");
//lcd.setCursor ( 0, 1 ); // go to the 2nd line
//lcd.print("Malpartida ");
}
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
lcd.begin(16,2);
lcd.clear();
lcd.home ();
lcd.print("on");
}
else {
lcd.clear();
lcd.setCursor ( 0, 1 );
lcd.print("off");
}
lcd.setCursor (10,1); // go col 14 of line 3
lcd.print(n++,DEC);
delay(1000);
}
Disculpen los confuso de mi explicación, ojala se logre comprender
De ante manos muchas gracias