[ARDUINO] Affichage LCD sur bus serie
Publié : dim. août 09, 2015 9:58 am
Bonjour
Ca, c'est la voiture de ma femme :
Un des problèmes des 406, c'est le tableau de bord qui est très fragile : petit à petit, il affiche des données erronées et on ne peut plus s'y fier, ce qui est assez ennuyeux.
Donc, j'ai changé le tableau de bord contre un autre trouvé à la casse, et j'ai ouvert l'ancien tableau de bord pour voir comment c'est fait, et voir ce qui pouvait être récupéré.
J'ai vu un truc blanc qui servait à afficher le compteur journalier et le cumul des kilomètres.
On voit un écran LCD connecté sur une carte et relié çà un CI (c'est moi qui ai fait les vilaines soudures)
En enlevant l'écran LCD et en regardant de plus près, on voit que le CI porte l'inscription PCF8576T, et que la carte est connecté au tableau de bord par 4 cosses.
4 cosses pour afficher plein de caractères sur un ecran LCD, ça signifie l'alim et la masse, reste deux fils pour les données. Vous comprenez : c'est un bus serie (les données sont envoyées à la suite sur les mêmes fils, comme l'USB, p.exemple).
Avec une recherche de PCF8576T sur Google, on arrive sur la datasheet du CI (http://www.nxp.com/documents/data_sheet/PCF8576.pdf) , là ça nous confirme que ca communique par le bus serie I2C (c'est celui dont je vous ai parlé la dernière fois), et que c'est un driver pour écrans LCD.
Donc, on potasse bien la datasheet, (je vous passe les détails), et après quelques galères on arrive à relier le circuit sur l'arduino. Modification du programme C++, puis du programme pour l'arduino, et on fait afficher sur ce compteur kilométrique les données désirées. Cerise sur le gâteau, vu qu'on choisi les segments LCD à afficher, on peut lui faire afficher autre chose que des chiffres.
Mon but ici n'est pas de vous expliquer le programme, la façon dont chaque segment du circuit LCD était relié au CI lui était propre (j'ai pas mal galéré sur ce point), et sauf si vous avez le même compteur/afficher LCD, cela ne vous serait pas d'une grande utilité. Non,le but est d'étayer la réponse que je donnais à Noratlas : avec 4 fils, on devrait pouvoir relier beaucoup de périphériques sur un seul microcontrolleur, via le bus serie.
Dans notre schéma de l'autre jour, on en est à peu près là :
Voilà la vidéo de l'afficheur, en fonctionnement :
Ca, c'est la voiture de ma femme :
Un des problèmes des 406, c'est le tableau de bord qui est très fragile : petit à petit, il affiche des données erronées et on ne peut plus s'y fier, ce qui est assez ennuyeux.
Donc, j'ai changé le tableau de bord contre un autre trouvé à la casse, et j'ai ouvert l'ancien tableau de bord pour voir comment c'est fait, et voir ce qui pouvait être récupéré.
J'ai vu un truc blanc qui servait à afficher le compteur journalier et le cumul des kilomètres.
On voit un écran LCD connecté sur une carte et relié çà un CI (c'est moi qui ai fait les vilaines soudures)
En enlevant l'écran LCD et en regardant de plus près, on voit que le CI porte l'inscription PCF8576T, et que la carte est connecté au tableau de bord par 4 cosses.
4 cosses pour afficher plein de caractères sur un ecran LCD, ça signifie l'alim et la masse, reste deux fils pour les données. Vous comprenez : c'est un bus serie (les données sont envoyées à la suite sur les mêmes fils, comme l'USB, p.exemple).
Avec une recherche de PCF8576T sur Google, on arrive sur la datasheet du CI (http://www.nxp.com/documents/data_sheet/PCF8576.pdf) , là ça nous confirme que ca communique par le bus serie I2C (c'est celui dont je vous ai parlé la dernière fois), et que c'est un driver pour écrans LCD.
Donc, on potasse bien la datasheet, (je vous passe les détails), et après quelques galères on arrive à relier le circuit sur l'arduino. Modification du programme C++, puis du programme pour l'arduino, et on fait afficher sur ce compteur kilométrique les données désirées. Cerise sur le gâteau, vu qu'on choisi les segments LCD à afficher, on peut lui faire afficher autre chose que des chiffres.
Mon but ici n'est pas de vous expliquer le programme, la façon dont chaque segment du circuit LCD était relié au CI lui était propre (j'ai pas mal galéré sur ce point), et sauf si vous avez le même compteur/afficher LCD, cela ne vous serait pas d'une grande utilité. Non,le but est d'étayer la réponse que je donnais à Noratlas : avec 4 fils, on devrait pouvoir relier beaucoup de périphériques sur un seul microcontrolleur, via le bus serie.
Dans notre schéma de l'autre jour, on en est à peu près là :
Voilà la vidéo de l'afficheur, en fonctionnement :