Ok. Comme je vois plus haut que tu as forcément besoin d'I2C pour autre chose, je pense que tu peux tout mettre dessus, sans forcément passer par des entrées analogiques ou des convertisseurs I2C/SPI vers entrées analogiques.
Tu as par exemple le capteur VCNL4020 (et plein d'autres, suffit de chercher les mots-clé "i2c photo sensor ir") tout intégré. Il a une LED infrarouge, le capteur juste à côté et l'interface I2C. L'idée c'est de tous les mettre en parallèle sur quatre fils (masse, alim, SDA et SCL). Pour faire simple, lorsque ta Raspberry souhaite récupérer la valeur associée à un capteur, il va interroger le bus et fournir une adresse. Chaque capteur a une adresse (qu'il faut programmer en avance de phase via ce même bus une bonne fois pour toute). Et tu obtiens une valeur (pour ce capteur c'est un nombre sur 3 bits). Ensuite tu compares la valeur à un seuil (que tu dois définir en faisant plein de tests), et tu as ton résultat logique.
C'est une façon de faire complètement différente de l'analogique. C'est un peu comme le bus CAN d'une voiture. L'avantage c'est que tout est sur un seul bus, il y a moins d'électronique, et on compense avec du traitement logiciel (demander à l'OS d'accéder au bus I2C, interroger le bus avec des fonctions kernel ou plus haut niveau à la python, etc.). Un peu difficile à comprendre au début, mais dès qu'on l'a pris en main, ça change la vie !
[^] # Re: GPIO
Posté par inky-full-bash . En réponse à la dépêche Ordinateur à carte unique : Raspberry Pi 4 et consort. Évalué à 4. Dernière modification le 24 août 2019 à 14:03.
Ok. Comme je vois plus haut que tu as forcément besoin d'I2C pour autre chose, je pense que tu peux tout mettre dessus, sans forcément passer par des entrées analogiques ou des convertisseurs I2C/SPI vers entrées analogiques.
Tu as par exemple le capteur VCNL4020 (et plein d'autres, suffit de chercher les mots-clé "i2c photo sensor ir") tout intégré. Il a une LED infrarouge, le capteur juste à côté et l'interface I2C. L'idée c'est de tous les mettre en parallèle sur quatre fils (masse, alim, SDA et SCL). Pour faire simple, lorsque ta Raspberry souhaite récupérer la valeur associée à un capteur, il va interroger le bus et fournir une adresse. Chaque capteur a une adresse (qu'il faut programmer en avance de phase via ce même bus une bonne fois pour toute). Et tu obtiens une valeur (pour ce capteur c'est un nombre sur 3 bits). Ensuite tu compares la valeur à un seuil (que tu dois définir en faisant plein de tests), et tu as ton résultat logique.
C'est une façon de faire complètement différente de l'analogique. C'est un peu comme le bus CAN d'une voiture. L'avantage c'est que tout est sur un seul bus, il y a moins d'électronique, et on compense avec du traitement logiciel (demander à l'OS d'accéder au bus I2C, interroger le bus avec des fonctions kernel ou plus haut niveau à la python, etc.). Un peu difficile à comprendre au début, mais dès qu'on l'a pris en main, ça change la vie !