MAX128 & MCP32017
Posté : sam. 6 janv. 2018 21:16
Bonjour,
J'ai un projet de domotique en tête qui utiliserait un Rasperry Pi, je n'ai pas encore acheté de Rasperry Pi maintenant car tout est encore au stade de réflexion sur papier et recherches.
La première chose à faire pour ce projet est d'avoir bien plus de GPIOs que sur le Pi de base. Après quelques recherches, j'ai rapidement trouvé les CI de la famille des MCP23017 qui fonctionnent en I2C pour ajouter des E/S numériques. J'ai aussi vu les MAX128 qui m'intéressent pour ajouter quelques entrées analogiques. Je souhaiterais savoir si il serait possible de mettre sur le même bus I2C plusieurs MCP23017 et plusieurs MAX128. À première vue on dirait que oui car si on en croit les données constructeur les MCP23017 ont une addresse I2C comme ça 0100xxx et les MAX128 0101xxx. Du coup on pourrait mettre 8 MAX128 et 8 MCP23017 sur le même bus (même si ce serait de trop pour ce que j'ai besoin) ?
Je me pose aussi des questions sur comment lit-on les données dans un programme avec ce type de CI. Je programme en C, j'ai vu qu'il y avait des bibliothèques (WiringPi par exemple), j'ai également lu sur un forum anglais que c'était pas malin d'utiliser une librairie telle que WiringPi si on utilise que l'I2C et qu'il y avait des fonctions natives au kernel qui permettaient de faire ça facilement sans bibliothèque. J'ai aussi lu qu'il y avait un module à ajouter au noyau qui reproduisait la même arborescence que dans /sys/class/gpio/pour le MCP23017... Je n'ai pas trouvé grand chose sur l'utilisation du MAX128 dans un programme C.
J'ai un projet de domotique en tête qui utiliserait un Rasperry Pi, je n'ai pas encore acheté de Rasperry Pi maintenant car tout est encore au stade de réflexion sur papier et recherches.
La première chose à faire pour ce projet est d'avoir bien plus de GPIOs que sur le Pi de base. Après quelques recherches, j'ai rapidement trouvé les CI de la famille des MCP23017 qui fonctionnent en I2C pour ajouter des E/S numériques. J'ai aussi vu les MAX128 qui m'intéressent pour ajouter quelques entrées analogiques. Je souhaiterais savoir si il serait possible de mettre sur le même bus I2C plusieurs MCP23017 et plusieurs MAX128. À première vue on dirait que oui car si on en croit les données constructeur les MCP23017 ont une addresse I2C comme ça 0100xxx et les MAX128 0101xxx. Du coup on pourrait mettre 8 MAX128 et 8 MCP23017 sur le même bus (même si ce serait de trop pour ce que j'ai besoin) ?
Je me pose aussi des questions sur comment lit-on les données dans un programme avec ce type de CI. Je programme en C, j'ai vu qu'il y avait des bibliothèques (WiringPi par exemple), j'ai également lu sur un forum anglais que c'était pas malin d'utiliser une librairie telle que WiringPi si on utilise que l'I2C et qu'il y avait des fonctions natives au kernel qui permettaient de faire ça facilement sans bibliothèque. J'ai aussi lu qu'il y avait un module à ajouter au noyau qui reproduisait la même arborescence que dans /sys/class/gpio/pour le MCP23017... Je n'ai pas trouvé grand chose sur l'utilisation du MAX128 dans un programme C.