Retro-Inge-LCD

From Electrolab
Revision as of 14:26, 14 December 2013 by Limesle (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Exemple de rétro-ingénierie d'un LCD : Balance Téraillon TX6000

Contexte

Le but est de pouvoir hacker une balance qui coûte en moyenne 20 euros afin de pouvoir lire directement le poids sur un autre device.

Les sources d'inspiration sont :

   http://quo.vadis.stojkovic.ch/hacking-a-weighing-scale/
   http://troels.leegaard.org/misc/grundtal20047/ <= code final retenu à partir de cette base.
   et surtout celui là pour la compréhension du fonctionnement d'un LCD (pas la partie sur le Zilog) : http://troels.leegaard.org/misc/grundtal20047/lcd-an0162.pdf

Etape 1 : comprendre comment fonctionne le LCD

Il faut déjà savoir qu'il est actionné par un courant alternatif de l'ordre de 50 htz et 2.3 V

Si jamais on l'actionne avec du DC trop longtemps, les cristaux liquides vont se coller à l'une des électrode et le LCD est foutu !!

Ensuite, le LCD de la LX6000 est en fait constitué de plages d'affichage qui sont multiplexées. Chaque segment est une plage, les points ou unités aussi.

Il faut donc faire des essais pour connaître les "coordonnées" de chaque segment.

Pour cela on utilise un Arduino avec 2 pins en digitalWrite de façon alternative. Le code ressemble à ça :

 digitalWrite(5, HIGH);
   digitalWrite(6, LOW);
   delay(20);
 digitalWrite(5, LOW);
   digitalWrite(6, HIGH);
   delay(20);

Le montage à ça :

Retro-inge-LCD-LX6000.png

Il vous faut ensuite faire des essais et en noter le résultat pour reconstituer le cablage du LCD. Pour la balance LX6000 on obtient :