Je suis en train de concevoir un montage comportant plusieurs écrans LCD1602 (au moins quatre) connectés en I2C.
Chacun de ces écrans ayant une adresse différente, il me reste une dernière question pour laquelle je n'ai pas trouvé de réponse :
Comment est-il préférable de les connecter ?
En étoile = chaque périphérique connecté par son propre câble aux broches du processeur
En série = le câble part du processeur, se connecte sur le premier écran puis continue vers le deuxième etc...
Précisions :
Les points de connexion seront au plus éloignés d'une dizaine de centimètres (la largeur d'un écran) les uns des autres.
Un câble = les 4 conducteurs nécessaires au fonctionnement du périphérique (GND, VCC, SDA, SCL)
Mon avis est qu'avec l'I2C aucun cablage n'est supérieure à l'autre.
La ligne SDA étant bidirectionnelle avec pour seule charge les résistances de collecteur "dite de pull-up" des transistors, il n'est pas possible d'adapter la liaison.
Donc tu prends ce qui te simplifie le câblage.
De toute façon, même avec un câblage en série, quand un esclave en milieu de ligne répond, il y aura des réflexions à chaque point de connexion d'esclave ou de maitre et surtout aux deux extrémités.
Compte tenu de la vitesse de propagation du signal électrique, 5 ns par mètre et avec les distances que tu annonces, il ne devrait pas y avoir de problème.
Dans ce cas SDA n'est pas "purement bidirectionnelle" mais il y a quand même les bits "acknoledge" qui sont échangés dans le sens esclave vers le maitre.