Skyduino:~#
Articles
arduino, librairie, programmation

[arduino] I2C 16 I/O – PCF8575

Projet : Expanseur d’I/O sur bus I2C (sur la base d’un PCF8575)

Description :
Version 2 de mon expanseur I2C, anciennement basé sur un PCF8574, cette nouvelle version est basé sur un PCF8575 (16 I/O contre 8 I/O pour l’ancien).
Le PCF8575 n’étant disponible que en version CMS (SSOP) il est obligatoire soit de faire un pcb avec une empreinte CMS soit d’utiliser un adaptateur.
J’ai préféré utiliser un adaptateur SSOP -> DIP28 de sparkfun pour plus de facilité.

Photo :

PCF8575, format SSOP, le souder s'annonce compliqué !


Montage final vue connecteur


Montage final, vue CI

 

Opération Ninja du soudage !

Vu de coté

Vue de coté #2

Vue de face


La technique pour souder du SSOP :
Mettre de la soudure sur toute les pattes puis avec de la tresse à dessouder enlevé le surplus, résultat niquel garanti (! température du CI).

Video de démonstration :

Librairie :
http://skyduino.wordpress.com/librairie-arduino-pcf8574-pcf8575/

Datasheet du PCF8575 :
http://focus.ti.com/lit/ds/symlink/pcf8575.pdf

Tutoriel (basique) pour l’arduino :
http://kineticsandelectronics.com/node/78

Schémas :

Application directe de l'exemple du datasheet

La DevBoard avec l'emplacement du PCF8575 sur son adaptateur DIP28

About these ads

Discussion

14 réflexions sur “[arduino] I2C 16 I/O – PCF8575

  1. merci pour cette librairie qui risque de me rendre service….

    Publié par Pascal | 25 février 2012, 14 h 32 min
  2. Bonsoir!
    Juste vous dire que je suis intéressé par votre projet
    car moi aussi j’utilise des PCF8575N .
    Mais actuellement , j’ai un soucis avec ma liaison I2C qui fait bugger mon programme et je me demande pourquoi?

    Merci! de me répondre !

    Publié par mouto | 21 mai 2012, 1 h 12 min
  3. et je ne comprends pas pourquoi vous tirez la broche INT vers le haut ?

    Publié par mouto | 21 mai 2012, 2 h 02 min
  4. voilà mon code

    mais, là val vaut " 0"

    et quand je teste val vaut 255

    Publié par mouto | 22 mai 2012, 12 h 05 min
    • Les commentaires ne sont pas là pour servir de forum …
      Merci d’utiliser le forum arduino (voir mon autre réponse) qui est là pour ça …

      Ps: Si tu reçoit toujours 255 (valeur d’erreur par défaut) c’est que tu as oublié les résistances de pull-up ou que tu n’utilise pas les bonnes adresses I2C.

      Publié par skywodd | 22 mai 2012, 13 h 17 min
  5. Bonjour, okay !
    je comprends merci! pour votre aide

    mais, j’aimerai savoir comment est ce que je pourrais lire les valeurs de mes pcf 8575 de sortis
    j’ai vue votre vidéo sur VIDDS
    et j’ai pas très bien compris ce que vous faite
    merci!

    Publié par mouto | 22 mai 2012, 19 h 57 min
  6. j’aimerai comprendre est que je peux faire pour stoker les valeurs lut par mes pcf des sortis dans un tableau .

    Car, j’aimerai envoyé un 5V sur toutes les broches de mes PCF d’entrées et ensuite a partir de mes PCF de sortie ,

    je compte lire les valeurs envoyé par mes pcf d’ entrés ensuite je stockerai c’est valeurs dans un tableau , puis en

    fonction de la valeur du tableau je pourrais savoir si j’ai du 5v sur une broche de mon pcf ou non!

    Merci

    Publié par mouto | 22 mai 2012, 20 h 02 min
    • Une sortie = 1 bit, 16 sorties = 2 octets.
      Tu ne peut pas utiliser de tableau, il te faudra utiliser la fonction bitWrite().

      Sinon pour envoyer 5 volts sur toute les broches tu n’as qu’as envoyer deux fois 255.
      Pour savoir si tu as 5v sur une broche utilise bitRead sur la valeur lu.

      Publié par skywodd | 23 mai 2012, 14 h 23 min
  7. Bonjour, OK!

    je comprends maintenant .mais j’aimerai savoir si je veux envoyer du 5V sur une broche et contrôlé les autres

    broches une a une pour voir si le 5V envoyé sur la broche 1 se trouve aussi sur la broche i ou i++ avec i initialisé

    à 2 .

    Cependant, j’aimerai que si j’ai le cas ou la pin 1 touche la pin 2 par exemple il m’affiche pin 2 court-circuit avec pin 1 .

    j’ai pensé a utilisé des boucle où je boucle sur le numéro de la pin du PCF .

    mais quand, il entre dans la boucle il ne sort plus .

    Publié par mouto | 23 mai 2012, 20 h 13 min
  8. BONSOIR, j’ai lu comment fonctionne ces fonction bitread() précisément et je ne comprend très bien ce quel fait ?

    ou du moins comment ? elle peut m’aider .

    Publié par mouto | 24 mai 2012, 0 h 56 min
  9. pourquoi quand j’alimente mes pcf8575
    et j’ai du 5V sur leur broche mes sans rien envoyé comme comment ?

    Publié par mouto | 24 mai 2012, 23 h 28 min

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Archives

Wow. Dogecoin. Amaze.

Laissez un tip en Dogecoin

DMMNFk6WBVTpx2Wu1Z35GL61QXSd6r6WQx

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 726 autres abonnés