Developpez.com - Raspberry Pi

Le Club des Développeurs et IT Pro

Raspberry Pi : apprendre à exploiter un convertisseur analogique-numérique pour l'acquisition de température et visualisation des données

Par f-leb

Le 2017-08-30 18:28:24, par f-leb, Responsable Arduino et Systèmes Embarqués


Le Pi ne possédant pas de port analogique, je vous propose d'apprendre à faire de la conversion analogique-numérique avec Raspberry Pi grâce à un convertisseur externe (un Microchip MCP3208).
Pour illustrer avec un exemple d'application, j'ai ressorti un capteur de température analogique LM335 de mes tiroirs pour concevoir un prototype d'enregistreur de données de température :

La conversion analogique-numérique avec Raspberry Pi
Acquisition de température avec un capteur analogique et visualisation des données



Les points abordés dans ce tutoriel sont les suivants :

  • Caractéristique de transfert du convertisseur analogique-numérique.
  • Principe de la conversion analogique-numérique par approximations successives.
  • Communication par liaison série SPI (Serial Peripheral Interface).
  • Prototypage de la chaîne d'acquisition.
  • Programmation du port GPIO en langage C et la bibliothèque bcm2835.
  • Création d'un tableau de bord de visualisation des données de température en temps réel dans un navigateur avec Node-RED.

Bonne lecture
  Discussion forum
4 commentaires
  • Community Management
    Community Manager
    Merci pour cet excellent tutoriel, très bien présenté pédagogiquement
  • f-leb
    Responsable Arduino et Systèmes Embarqués
    Hello,

    Merci pour les encouragements déjà...

    Cet article était surtout pour montrer un exemple de programmation du port GPIO dans un autre langage que Python, parce que Python sur Raspberry Pi, des fois, y'en a marre Avec Raspberry Pi, il est donc possible à la fois d'accéder à du matériel à bas niveau un peu comme avec un microcontrôleur, et en même temps avoir une passerelle IoT avec un outil comme Node-RED que j'encourage à découvrir.

    Maintenant pour automatiser une piscine, c'est une autre paire de manches, beau projet !

    Si j'avais à le faire (et si j'avais une piscine donc), j'opterais pour une solution mixte. A savoir une carte microcontrôleur aux abords de la piscine, type Arduino. J'en fais un "noeud" de capteurs/actionneurs avec des ds18b20 pour la température, carte relais pour la pompe ou l'enrouleur, un petit écran LCD de contrôle, des boutons-poussoirs ou un clavier matriciel pour piloter, etc. L'ensemble serait déjà autonome.

    Puis dans la maison, un Pi comme passerelle IoT qui communiquerait avec l'Arduino en bluetooth/xbee. Le Pi reçoit les données de température et autres informations d'état de la piscine. Je te laisse imaginer les possibilités de solutions connectées.

    Il existe maintenant des plateformes domotiques ou pour l'Internet des Objets qui mâchent pas mal le travail : domoticz ou autres solutions cloud de stockage/traitement/visualisation de données (thingspeak, emoncms, xively...)

    Les solutions sont nombreuses et il faudra bien étudier le cahier des charges. Comme l'indique ta signature, en théorie ça marche...

    Au niveau des articles sur le Pi, nous n'avons "que ça" sur Dvp, beaucoup de tutos d'initiation et de découverte en langage Python, mais ton projet pourrait bien compléter nos ressources
  • Vincent PETIT
    Modérateur
    Super tuto mais aussi, superbe réalisation finale !!!

  • DotNET74
    Membre expérimenté
    Effectivement,

    je suis en plein dedans pour automatiser ma piscine et c'est grandement intéressant cet article.

    Auriez-vous un article similaire sur l'utilisation de plusieurs carte d'extension sur le Pi ?

    Merci