J'examine les options d'ADC sur le Rasbperry Pi. Je me demande ce qui est possible jusqu'à présent. Bien sûr, c'est facile et bon marché.
J'examine les options d'ADC sur le Rasbperry Pi. Je me demande ce qui est possible jusqu'à présent. Bien sûr, c'est facile et bon marché.
Réponses:
Adafruit a un joli tutoriel sur l'utilisation du MCP3008 (3,75 $) - ADC 8 canaux 10 bits avec interface SPI pour contrôler le volume d'un fichier mp3, mais il devrait vous donner un bon point de départ pour tout projet analogique-numérique.
Les ADS1113, ADS1114 et ADS1115 sont des convertisseurs analogiques-numériques (ADC) de précision avec 16 bits de résolution proposés dans un boîtier QFN-10 ultra-petit et sans plomb ou MSOP-10. Les ADS1113 / 4/5 sont conçus avec précision, puissance et facilité de mise en œuvre. L'ADS1113 / 4/5 dispose d'une référence embarquée et d'un oscillateur. Les données sont transférées via une interface série compatible I²C; quatre adresses esclaves I²C peuvent être sélectionnées. L'ADS1113 / 4/5 fonctionne à partir d'une seule alimentation allant de 2,0 V à 5,5 V.
Vous devez d'abord vous assurer que les modules I²C sont chargés . Connectez ensuite l'ADS1115 comme indiqué ci-dessous. Il y a 4 adresses différentes possibles en fonction de la broche ADDR qui est connectée. Cela signifie que vous pouvez connecter un total de 16 canaux à un seul bus I²C.
GND = 0x48, VDD = 0x49, SDA = 0x4A, SCL = 0X4B
Vous pouvez voir le résultat de la dernière conversion comme ceci
# i2cget -y 0 0x49 0 w
0x0000
La valeur par défaut de 0x0000 est renvoyée ici car aucune conversion n'a encore été effectuée. Jetons maintenant un œil au registre de configuration
# i2cget -y 0 0x49 1 w
0x8385
Le LSB est le premier, donc cela équivaut à 0b1000010110000011
Je voudrais faire une conversion asymétrique sur AIN0, donc je dois écrire des bits [14:12] en tant que 0b100
. c'est à dire0b1100010110000011
# i2cset -y 0 0x49 1 0xC385 w
# i2cget -y 0 0x49 0 w
0xa30b
Le LSB est le premier, il est donc égal à 2979 décimal
Eh bien, tant que votre utilisation souhaitée ne nécessite pas de débits ou de résolution très élevés, vous pouvez probablement simplement utiliser un Arduino. Les Arduinos sont sympas car ils ont une énorme communauté de support, ils existent depuis un certain temps, et la communication via USB pas de GPIO!
Voici un lien vers le blog de Simon Monk avec des instructions sur la façon dont il communique avec l'Arduino à partir d'un Raspberry Pi avec python.
Juste au cas où vous n'auriez jamais entendu parler d'un Arduino auparavant (peut-être que vous avez vécu sous un rocher), voici un lien vers leur page d'introduction et un exemple d'entrée analogique de niveau débutant .
Dans un mois ou deux, (en raison de l'expédition en Afrique), je recevrai une carte I2C PCF8591 qui prend en charge le site WiringPi et la carte utilise 3.3v (généralement) J'ai obtenu la version WaveShare sur Amazon Amazon Link De ce que je '' ve lu, le PCF8591 est assez sympa mais tant que je n'ai pas la carte devant moi, je ne peux pas dire si c'est bon ou pas
Une solution intéressante ici: http://www.theremino.com/en/blog/standalone-applications/#raspberry
Non seulement ADC, mais tout type de sortie d'entrée configurable pour le Raspberry Pi.