Hola amigos:
Quiero compartirles los problemas que tuve con un módulo DS1302 que pedí a China. Pues lo conecté y, aunque todo se veía bien, con un programita sencillo que imprimía la hora al monitor serial, tenía lecturas erróneas. Por ejemplo:
- 23:34:04 <- buena lectura
- 23:34:05 <- buena lectura
- 01:01:10 <- mala lectura
- 01:10:11 <- mala lectura
- 23:34:08 <- buena lectura
Pues pasé horas, ¡horas! revisando las bibliotecas que usé. Descargué varias, las revisé parte por parte, descarté las que no me gustaban. También cambié puertos, cables, y todo era en vano. Bien, pues les comparto una receta de cocina para que no sufran lo mismo que sufrí yo y se den de golpes contra la pared cuando prueben lo siguiente:
- Toma el módulo y revisa que tu integrado esté orientado como viene en la placa impresa. ¡Uno de mis módulos tenía el porta integrados volteado! Asegúrate de que sea como la placa lo dice.
- Con unas pinzas de punta, saca y endereza correctamente los pines del DS1302. Vuélvelo a conectar y asegúrate de que la panza del integrado toque el porta integrados. (Esto era lo que me causaba ruido).
- Coloca la pila CR-2032 en el porta pilas y asegúrate de que no tiene «juego», es decir, que está floja. Si lo está, retírala y con unas pinzas baja un poco el seguro para que haga mayor fuerza y sostenga la pila.
- Cambia tus cables, yo estaba usando los cables para pines arduino, unos hembra-macho. Lo que hice fue encajar el módulo directamente en la protoboard y usar cable telefónico o el del cable ethernet.
- Usa una biblioteca robusta de interconexión y pon atención a los tiempos de lectura. La mejor biblioteca que encontré es la de Timur Maksimov 2014. Aquí la liga a la página.
Aquí adjunto una foto de stock en donde pueden ver que el integrado está meramente sobrepuesto en el porta integrado. Así vienen por lo general estos módulos, asegúrate de que corriges ese punto.
Aquí una foto de los cables que retiré. Repito, RETIRÉ.
Aquí una foto de los cables que usé:
Espero que estos tips les ayuden y en menos de quince minutos estén arriba con su reloj.
Hasta la próxima,