SU8 2 LCD

Après la présentation du SU-8 Companion quelques remarques ont été émises : il reste de la place (dans la boîte) et "je veux le bitrate affiché en permnance". Bon, comme l'écran LCD est sur le port I2C, que le port I2C est un port série, et qu'on peut adresser jusqu'à 256 périphériques, et bien on ne va pas se gêner : en route pour un deuxième écran sur le bus I2C !

Le protocole I2C

C'est vrai que j'en parle souvent mais j'ai escamoté la présentation ! Le protocole a été mis au point par Philips au début des années 80, avec la volonté de proposer un système de communication simple, sur deux fils, bi-directionnel, pour le contrôle des circuits intégrés. Les deux fils sont nommés ainsi :

  • SDA, pour Signal Data Line, les données

  • SCL, pour Serial Clock Line, l'horloge

Les écrans LCD avec lesquels nous nous amusons ne sont pas I2C par défaut (ils sont en //) : j'insiste souvent pour dire qu'il faut acheter un modèle avec le backpack, pour avoir un minimum d'effort de câblage : l'alimentation et les deux brins du protocole.

Retrouvez le début de l'histoire sur la Orange Pi Zero 2 ici !

Voilà, maintenant que vous savez tout du protocole, vous reconnaissez les pinoches du backpack. On a l'alimentation (GND / VCC) et nos deux pattes de communication : SDA et SCL.

Le cavalier visible à l'extrême gauche permet d'allumer (ou pas) le rétro-éclairage.

D'ailleurs, en plaçant un interrupteur à la place du cavalier, on peut obtenir le résultat ci-contre, qui permet d'allumer ou éteindre le rétro-éclairage.

Bon, pour revenir à la question du port I2C, on a compris que l'idée était de mettre un second LCD en plus du premier.

On a indiqué que le protocole supportait plein de périphériques, et compris que pour adresser un périphérique en particulier, il fallait son adresse (sur le bus).

C'est maintenant que l'on revient au back pack.

Si vous êtes observateur, vous avez remarqué que sous la résistance variable bleue, on a une série de trois pads notés A0, A1, A2.

En réalité, en soudant un ou plusieurs pads, on change l'adresse initiale du backpack.

Le pire moment : La Soudure !

Et donc j'ai soudé le premier pas en mettant un petit bout de métal entre les deux. Pardon pour la qualité de la photo.

Autre travail de soudure, j'ai soudé quatre câbles DuPont pour faire des "Y". Pour pouvoir alimenter les deux écrans et pour la communication I2C.

Je sais souder, mais je ne prends pas beaucoup de plaisir à le faire, c'est long et il faut faire propre, s'appliquer, penser à mettre la gaine thermo et pour finir être fier de sa production.

A quelle adresse s'il vous plaît ?

La commande i2cdetect -y 3 permet d'afficher les adresses des périphériques (en hexadécimal), sur une Orange Pi Zero 2.

Pour une vieille Raspberry ou une Orange Pi Zero remplacez le 3 par 0, pour une Rasp récente utilisez la valeur 1.

On a du réussir les soudure, parce que les deux écrans sont reconnus ! Le reste est assez simple : il va falloir lancer deux instances du code d'affichage, en précisant à chaque fois l'adresse de l'afficheur, en paramètre de la ligne de commande.

Le script de l'afficheur dispose d'une option display a un paramètre "volume" pour afficher tout le temps le volume. La proposition est d'utiliser un afficheur en mode "normal" et l'autre avec le display volume.

Dans le "crontab" on a déjà la commande pour le premier afficheur qui affiche le volume, à l'adresse 27 :

Il suffit d'ajouter une seconde ligne qui va spécifier l'adresse 3e et se dispenser du paramètre "-d volume".


Et maintenant ?

Et maintenant on attend la fin de l'impression de la v2 du boîtier pour coller les deux afficheurs LCD en façade, avec les trous derrière pour les interrupteurs de rétro-éclairage. Revenez demain, on aura des photos.