PCF8574

Salut, voilà j'ai fait un tuto sur l'I2C avec le PCF8574, mais je ne me suis pas posé la question de savoir si je peux en utiliser deux sur la même arduino, la question que je me pose c'est comment leurs définir une adresse chacun.

Cordialement Manghao.

Bonjour, Les adresses du PCF8574 sont définies par ces pins A0, A1 et A2 - voir datasheet

Bonjour, je me suis mal expliqué, j'ai bien vu par le Datasheet que les broches A0, A1 et A2 servent à cet effet mais je ne comprend pas comment on les utilisent sur arduino

Soit elles sont câblées en "définitif" sur le circuit qui reçoit les PCF8574 soit elles sont modifiables par la carte arduino, mais alors il faut sacrifier 3 I/O par PCF8574 : c'est du gâchis. En général on fixe les adresses sur le circuit qui reçoit les PCF8574 soit en dur soit avec des cavaliers ou des ponts à souder..

Encore sacrifier des I/O sur l'arduino ce n'est pas gênant car c'est pour me faire une horloge de ce type :

http://www.semageek.com/wp-content/uploads/2012/10/diy-une-magnifique-horloge-avec-180-led-rgb-a-base-arduino-01.jpg

Avec un DS1307 en I2C pour l'horloge et donc les PCF8574 pour allumer/éteindre les diodes.

Et comment les définir avec les I/O de l'arduino ? Si je ne le fait pas avec l'arduino le truc des cavaliers je n'ai pas compris, un site ou une image qui le montre ? A ce que j'ai pu lire il faut mettre le A0 ou A1 u A2 sur le +5v. Mais si j'en utilise 10 je serai limité en adresses ?

Car je cherche mais je ne trouve pas les réponses à mes questions

Cordialement.

23=8 ça fera pas 10.
Regardes il me semble de mémoire (elle commence à flancher attention) que le PCF8574 existe en deux versions. Ce doit être un 8574 A ou approchant ce qui permet d’en avoir 16
Sinon il faut voir du coté des circuits annexes pour l’I2C, ou un multiplexeur analogique (surtout pas digital car il doit être bidirectionnel).

j'ai trouvé pour les adresses, image ici

Donc du coup 8 PCF8574 possible je vais regarder pour le PCF8574A

manghao: j'ai trouvé pour les adresses, image ici

Donc du coup 8 PCF8574 possible je vais regarder pour le PCF8574A

bonsoir Et si tu exposais avec plus de details ton projet ? :grin:

tu parle de PCF8574 , OK ! , c'est un choix imposé ? 8) Si non , il y a peut être d'autres possibilités ouvertes avec d'autres compos

Et bien je souhaite faire une horloge en arduino du genre de celle ci

Et donc pour éviter d'utiliser X broches et X arduino Mega pour les diodes, j'ai décider de le faire en I2C, je me suis penché sur le sujet et j'ai décider d'opter pour le PCF8574.

Mais je pense qu'avec n'importe quel PCF8574 je vais vite être limiter en adresses et donc en led, utiliser 132 LED, donc je serai vite limiter avec les adresses. Donc vous m'avez dit que le PCF8574A avait plus d'adresse mais il à comme le PCF8574 A0 / A1 / A2 donc ça reste le même nombre d'adresses possible.

Donc je pense allez vers un PCF8575 qui lui à 16 I/O et non 8 comme le PCF8574 mais pareil si j'ai 8 adresses maximum et 16 I/O (8 * 16 = 128) donc pour les 132 Led ça ne passe pas

Bonjour

Des registres à décalage, de type 74HC595 ne seraient-ils pas mieux adaptés ?

Ils sont "cascadables". Tu peux en mettre autant que tu veux en série.

http://arduino.cc/en/tutorial/ShiftOut

manghao: Et bien je souhaite faire une horloge en arduino du genre de celle ci ...

:grin: Je pensais bien à "un truc du genre" :sunglasses: J'ai fait un peu dans le genre (roue de 100) , mais pas avec du PCF regarde du coté du TM1638 cascadable (un 1638 gere 80 leds unitaires) , avec un arduino ça s'interface "sans soucis"

Donc vous m'avez dit que le PCF8574A avait plus d'adresse mais il à comme le PCF8574 A0 / A1 / A2 donc ça reste le même nombre d'adresses possible.

Faut pas écrire sans bien lire la datasheet : le PCF8574A a autant de possibilité d'adresse c'est vrai, [u]mais il a un autre indicatif[/u] donc pour l'I2C un 8574 et un 8574A sont deux circuits différents donc 8+8 = 16. Malgré cette rectification 16*8 = 128 et c'est insufisant. Pour la solution registre à décalage il faudrait trouver un équivalent 74HC595 (1) à 16 bit sinon cela fera 17 boîtiers ce sera la galère à câbler. (1) avec commande Latch sinon a chaque chargement des registres il y aura un scintillement désagréable.

Je veux utiliser 132 led pour les 12 Heures les 60 minutes et 60 secondes, le PCF8575 s'en approche, le TM1638 me parait bien aussi et avec deux j'ai deja 160 LED donc c'est bien mieux, je vais me pencher dessus, mais de ce que je vois, images etc le TM1638 me parait ne pas avoir beaucoup de broches pour faire du 80 led unitaire

68tjs, oui désolé, mais pour le système d'horloge tu pense que ça va scintiller avec le PCF?

et je viens de penser si j'utilise 8 PCF8575 et un PCF8574 j'aurai bien mes 132 led, j'en aurai même 136.

J'ai déjà en m'a possession deux micro 74HC595AN, ils peuvent faire l'affaire ? fin je sais qu'il en faut plus voici leur datasheet

manghao: ... le TM1638 me parait ne pas avoir beaucoup de broches pour faire du 80 led unitaire

Et pourtant, il tourne :grin:

si tu avais besoin de 4 leds de moins , le TM1640 (128 leds) aurait aussi été un bon candidat :sunglasses:

Il serait possible d'avoir une photo ou quelque chose qui montre la bête?

68tjs, oui désolé, mais pour le système d'horloge tu pense que ça va scintiller avec le PCF?

Non un PCF8574 n'est pas un registre à décallage et ne fonctionne pas de la même façon même si vu de l'extérieur on ne fait pas la différence (en première approximation mais c'est plus subtile et sans importance pour ton application). Avec la solution registre à décallage le bit 132 va entrer dans le registre en position 1 puis va se décaler d'un cran à chaque coup d'horloge, donc si Bit1=1, Bit2=0, Bit3 =1 chaque led passera alternativement par 1 ou 0. Le latch c'est un verrou final : le latch bloque l'étage de sortie du R.A.D ce qui fait que le circuit peut faire sa toutouille tranquillement. Une fois que tous les octets ont été transmis il suffit de changer l'état du latch pour que toutes les sorties se mettent à jour simultanément.

Donc un 74HC595 est une meilleur solution, si je comprend bien

manghao: Il serait possible d'avoir une photo ou quelque chose qui montre la bête?

:grin: une photo d'un module tm1638 |500x426

et un lien vers une ancienne discussion

Donc du coup quelle est la meilleur des solutions, un PCF8575, un 74HC595AN ou un TM16838?

Celui ou le changement d'heure / minutes / secondes surtout des secondes qui scintille le moins, fin qui évite de clignoter toutes les secondes ou qui ce voie très peu.