Go Down

Topic: Libraire de contrôle pour PCF8574 et question sur le playground (Read 4 times) previous topic - next topic

skywodd

Apr 21, 2011, 08:30 pm Last Edit: Apr 27, 2011, 09:47 pm by skywodd Reason: 1
*** Màj version 1.1 ***
* gestion des interruptions
* gestion des résistances de pull-up / pull-down software
* correction de petit bug
* fonction i2c disponible depuis les interruptions

Bonjours,

Alors voila depuis deux jours je me suis lancer dans la fabrication de deux librairies, une pour piloter un NS73M (puce émetteur fm) et plus récemment une pour piloter un PCF8574 (expanseur I/O I2C 8 bits).

La libraire pour le NS73M étant terminé j'ai attaqué (et finit) celle pour le PCF8574.
Elle permet d'utiliser les fonctions classique (pinMode, digitalWrite, digitalRead,blink,toggle,set,clear) en utilisant un expanseur I2C comme des I/O normales.
La librairie est en pièce jointe au post ;)

Seulement je me posai une question comment faire si je veux ajouter mes deux libraires au playground ? (et dans quelle sections ?)

C'est ma deuxième libraire donc comme pour la première tout avis ou conseil sera le bienvenue.
Pour rappel la 1er librairie était ici.
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

B@tto

Ohoh PCF8574  :D je comptais justement faire un tuto sur une extension relais commandé en i2c basée sur ce CI (et peut-être faire une librairie pour l'occaz), du coup ça risque d'être pas mal la :)

skywodd

#2
Apr 22, 2011, 06:58 pm Last Edit: Apr 22, 2011, 09:53 pm by skywodd Reason: 1
Et bien heureux que ce soit utile à quelqu'un  :) d'ici peu j'attaque une librairie pour la shield Tellymate.

Sinon ma question sur comment ajouter une librairie au playground tient toujours ^^
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

karistouf

bonjour. pour ceux qui ne sont pas très doués ( comme moi  :smiley-mr-green: )
- que permet de faire cette librairie ? ( rajouter 2 analogues et 8 IO sur une arduino ?)
- peut on chainer des PCF8574 entre eux ?
- peux tu joindre à celle ci un schema breadboard issu de fritzing , de façon à visualiser le branchement à l arduino ?

voilà et merci !

skywodd

#4
Apr 23, 2011, 04:42 pm Last Edit: Apr 27, 2011, 02:25 pm by skywodd Reason: 1
Bonjours karitouf,

Alors déjà le PCF8574 est un périphérique d'entré/sortie I2C donc oui plusieurs PCF peuvent être chainé en utilisant le même bus I2C.
Il permet d'avoir accès à 8 entrées (ou sorties) LOGIQUE (uniquement) en utilisant seulement les pin A4 et A5 (port I2C des cartes arduino) comme bus de contrôle.

Pour le schémas fritzing j'ai jamais réussi à faire un truc propre, en réalité c'est le même qu' ICI sans les résistances de pull-up.

Ma librairie fourni les fonctions suivantes :
pinMode(int pin, int mode) -> Configure une patte en entrée ou en sortie.
digitalWrite(int pin,int value) -> Écrit un niveau logique <value> sur la patte <pin>.
int digitalRead(int pin) -> Lit un niveau logique sur la patte <pin>.
write(int value) -> Écrit une valeur <value> (int 8 bits) sur le port entier du PCF (les pâtes en entrée ne sont pas affectées) .
int read() -> Lit la valeur du port entier du PCF (sortie et entrée).
clear() -> Met toute les pattes en sortie à "0" logique.
set() -> Met toute les pattes en sortie à "1" logique.
toggle(int pin) -> Inverse l'état logique de la pattes <pin> (uniquement si <pin> est configuré en sortie).
blink(int pin,int time,int wait) -> Fait clignoter la patte <pin> pour <time> fois en attendant <wait> ms entre chaque bascullement.

Remarque importante pour le PCF8574 (P) l'adresse de base (A0~2 à la masse) est 0x20 MAIS pour le PCF8574A (P) elle est 0x38 .
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Go Up