PiFace Digital 2

1.1.1        La théorie

J’ai eu accès à un module PiFace Digital 2. C’est quoi ce module ?

Ce module est un module d’entrées sorties permettant de câbler assez facilement via des cosses à vis les éléments qu’on veut commander ou lire soit :

·         8 entrées digitales, dont 4 avec des switch

·         8 sorties digitales bufferisées avec des LED de contrôle dont deux sorties sur des relais.

Le circuit gérant les entrées sorties est le bien connu MCP23S17.

C’est donc un module permettant des tests et un peu de domotique.

Par contre, un gros coup de gueule. POURQUOI NE PAS AVOIR FAIT SORTIR DES PICOTS SUR LE DESSUS DU CIRCUIT POUR ACCEDER AUX 40 BROCHES DU CONNECTEUR DU RASPBERRY. On aurait pu utiliser ce module avec du 1-wire, de l’I2C, un autre module SPI, comme extension de GPIO. Franchement, ce n’est pas malin. Si on veut mettre plusieurs modules ou accéder aux autres ports du Raspberry, il faut donc acheter un PiFace Rack, même si je n’en ai pas vu avec le connecteur 40 broches, ou s’en faire un soit même.

Voici la photo de ce module. Il se branche directement sur le connecteur du Raspberry.

 

Carte d'extension Entrée/Sortie PiFace Digital 2 pour Raspberry Pi 2

1.1.2        L’électronique

La documentation du module : http://www.farnell.com/datasheets/1881551.pdf

Le schéma du module (enfin, un PiFace de base, mais ça donne une bonne idée du module).

D’après le schéma, notre module fonctionne de la façon suivante :

-          Le MCP23S17 est commandé par la broche CE0.

-          On n’a pas d’accès au Reset ou aux broches d’interruption.

-          Le MCP23S17 peut être mis aux adresses entre 0x00 et 0x03 (même si on ne peut en câbler facilement qu’un seul)

-          Le port GPA est à mettre en sortie

-          Le port GPB est à mettre en entrée


 

1.1.3        Le logiciel

Coté logiciel, on a déjà tout ce qu’il faut avec la librairie gérant le MCP23S17 étudiée dans un précédent chapitre.

Fichier

Utilisation

GestionSPI.h

Fichier d’entête de la classe gérant le SPI

GestionMCP23x17.h

Fichier d’entête des classes gérant les circuits de type MCP23x17

GestionMCP23x17.cpp

Classe gérant les circuits de type MCP23x17

GestionMCP23S17.h

Fichier d’entête des classes gérant les circuits de type MCP23S17

GestionMCP23S17.cpp

Classe gérant les circuits de type MCP23S17

PiFaceChenillard.cpp

Programme produisant un chenillard sur les LED et les relais s’ils sont câblés

PiFaceReadSwitch.cpp

Programme lisant l’état des switch

Makefile

Le fichier permettant de compiler les programmes grâce à la commande make

 


 

1.1.4        Liste des programmes

https://github.com/montotof123/Raspberry/blob/master/301_PiFace/GestionSPI.h

https://github.com/montotof123/Raspberry/blob/master/301_PiFace/GestionMCP23x17.h

https://github.com/montotof123/Raspberry/blob/master/301_PiFace/GestionMCP23x17.cpp

https://github.com/montotof123/Raspberry/blob/master/301_PiFace/GestionMCP23S17.h

https://github.com/montotof123/Raspberry/blob/master/301_PiFace/GestionMCP23S17.cpp

https://github.com/montotof123/Raspberry/blob/master/301_PiFace/PiFaceChenillard.cpp

https://github.com/montotof123/Raspberry/blob/master/301_PiFace/PiFaceReadSwitch.cpp

https://github.com/montotof123/Raspberry/blob/master/301_PiFace/Makefile

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lien vers la base du site.