Bonjour,
Est-il possible de brancher à chaud sur le bus I2C.
J'ai fabriqué une Pocket avec un écran LCD et un clavier 4x4, le tout sur une interface PCF8574.
Lorsque je branche la pocket, rien ne s'affiche, il faut que je reset l'arduino pour que ça fonctionne.
Y a t-il une solution?
Il y a une note d'application Texas Instruments sur le sujet.
Il y a un point qui est souvent cause de problème c'est la modification de la charge sur le bus d'alimentation. Cela fait souvent chuter l'alimentation pendant un court instant entraînant, au mieux un reset du processeur, au pire un plantage du système.
Tout dépend de la librairie utilisée, mais s'il s'agit de la librairie de Rob Tillaart, elle possède une méthode PCF8574::isConnected() qui permet de savoir si le composant est connecté.
En appelant PCF8574::isConnected() en boucle, cela permettrait de savoir quand le composant est connecté à chaud, ensuite appeler PCF8574::begin().
A tenter ...
Une pocket, c'est une petite console avec un écran et un clavier, qui permet dans certains cas, soit de faire de la programmation, ou comme moi, de modifier des paramètres.
Il n'y a que quatre fils : l'alimentation (+5V et gnd) et le deux fils du bus I2C. Cela répond également à la question de la connexion.
Merci pour vos réponses, je vais creuser et faire des essais avec les différentes librairies, et essayer le TCA4307 en dernier recours.
Si il y a d'autres idées, je suis preneur.
Merci à vous
Bonsoir,
je viens de trouver la solution en regardant la bibliothèque Wire.
Il faut suivre un ordre bien précis pour brancher et débrancher les 4 fils :
Pour brancher: GND-VCC-SDA-SCL
Pour débrancher : SCL- SDA - VCC - GND