Les capteurs sont nécessaires pour détecter les composants de l’air. Ils sont utilisés, par exemple, dans les détecteurs de fumée. Cependant, les instructions pour l’utilisation de ces capteurs de gaz au Raspberry Pi sont rares, c’est pourquoi ce tutoriel présente l’utilisation générale de ces modules MQ au Raspberry Pi. Ainsi, il est possible de construire des détecteurs de fumée ou des testeurs de qualité de l’air, par exemple.
Comment configurer un capteur MQ et le lire avec le Pi sera montré sur l’exemple du capteur de gaz MQ2 du Raspberry Pi dans ce tutoriel. Tous les autres capteurs (MQ3, MQ-135, etc.) peuvent également être adaptés en quelques étapes supplémentaires.
Accessoires
Tous les capteurs MQ-X renvoient des signaux analogiques, que nous ne pouvons pas lire facilement au Raspberry Pi. Une possibilité serait d’utiliser un Arduino, mais nous pouvons aussi utiliser un convertisseur analogique-numérique (ADC), qui peut être lu via le bus I2C. En outre, nous avons également besoin d’un convertisseur de niveau logique.
- Convertisseur analogique-numérique (8 ports)
- Convertisseur de niveau logique 5 V à 3,3 V
- Breadboard
- Câble Jumper
Ces composants sont indépendants du capteur de gaz sélectionné. Il existe également de nombreux capteurs différents pour le Raspberry Pi, qui sont déjà disponibles pour quelques dollars et qui conviennent à différents gaz:
- MQ-2 (Méthane, Butane, GPL, fumée)
- MQ-3 (Alcool, éthanol, fumée)
- MQ-4 (Méthane, gaz CNG)
- MQ-5 (Gaz naturel, GPL)
- MQ-6 (LPG, butane gas)
- MQ-7 (Monoxyde de carbone)
- MQ-8 (Gaz hydrogène)
- MQ-9 (Monoxyde de carbone, gaz inflammables)
- MQ-131 (Ozone)
- MQ-135 (Benzène, Alcool, fumée)
- MQ-136 (Gaz de sulfure d’hydrogène)
- MQ-137 (Ammoniaque)
- MQ-138 (Benzène, Toluène, Alcool, Acétone, Propane, Gaz formaldéhyde)
- MQ-214 (Méthane, Gaz naturel)
- MQ-216 (Gaz naturel, gaz de houille)
- MQ-303A (Alcool, éthanol, fumée)
- MQ-306A (GPL, gaz butane)
- MQ-307A (Monoxyde de carbone)
- MQ-309A (Monoxyde de carbone, gaz inflammables)
- MG811 (Dioxyde de carbone (CO2))
- AQ-104 (la qualité de l’air)
- AQ-2 (Gaz inflammables, fumée)
- AQ-3 (Alcool, benzène)
- AQ-7 (Monoxyde de carbone)
Vous pouvez trouver la liste complète avec des informations supplémentaires ici.
Je recommande d’utiliser un capteur avec une carte de circuit imprimé soudée, car aucun autre câblage et l’utilisation de résistances et de condensateurs n’est nécessaire.
Vous trouverez également des détails sur les différents capteurs de gaz Raspberry Pi dans les fiches techniques correspondantes. Il suffit de rechercher sur Google le nom du capteur, y compris « datasheet ». La tension à laquelle le capteur fonctionne est également mentionnée.
Si quelqu’un veut construire un testeur d’alcool ou quelque chose de similaire, vous devez également savoir que ces modules ne sont pas absolument précis et ne peuvent pas rivaliser avec une mesure professionnelle.
Connexion entre MQ-2 et Raspberry Pi
Dans cet exemple, nous utilisons une tension de 5V comme sortie. C’est trop pour les GPIO, c’est pourquoi nous utilisons un convertisseur de niveau logique (TTL) qui réduit la tension. Si vous utilisez un capteur autre que le MQ-2 et qu’il a une tension différente, il faut bien sûr ajuster la configuration.
Une fois que le MCP3008 est correctement connecté, nous utilisons le port 0 et le connectons à RX0 du TTL. Du côté opposé se trouve RX1, qui est connecté à la broche analogique (A0) du capteur MQ2. Connectez également 3,3V de la Raspberry Pi (LV) et 5V (HV) au TTL. De même, 5V à la broche VCC du capteur de gaz et GND de la Raspberry Pi vient à GND du côté LV et HV du TTL, ainsi qu’à GND du MQ2.
Schématiquement, l’ensemble se présente comme suit :
J’utilise la 5V des Raspberry Pi’s. Toutefois, une alimentation externe est recommandée si d’autres capteurs et modules ou dispositifs d’entrée (clavier, souris, écran tactile) sont utilisés. Pour cela, le capteur est simplement alimenté en courant par la source externe (côté HV du TTL) et la connexion à la terre (Moins / GND) est reliée à la GND du Raspberry Pi’s.
Configuration du capteur de gaz Raspberry Pi – Préparation
La concentration d’un gaz est donnée en PPM (parties par million). L’une des difficultés du MQ-2 est qu’une seule valeur analogique est donnée avec laquelle la teneur en gaz dans l’air doit être calculée pour les différents gaz supportés. Cependant, le capteur doit être configuré à cet effet. Comme ce manuel est également applicable à un autre capteur de gaz Raspberry Pi, la procédure est la suivante :
Tout d’abord, nous devons voir la fiche technique du module respectif, qui contient un schéma :
Cependant, la mise à l’échelle des valeurs n’est pas linéaire mais logarithmique jusqu’à la base 10 (log). Ainsi, le premier trait sur l’axe X est de 200, puis de 300, etc. Le premier trait après 1000 est 2000, etc. La distance entre les deux est linéaire. L’idée derrière ce script de calibration et de lecture est de créer une ligne droite et de calculer la quantité de gaz (en ppm). Pour ce faire, nous avons besoin de deux points pour calculer la pente.
Prenons l’exemple du GPL. Nous prenons donc le point P1 (x = 200, y = ~ 1,62) et P2 (x = 10000, y = ~ 0,26). Pour calculer les valeurs « réelles », nous appliquons le logarithme dix. En utilisant la forme à deux points, nous pouvons calculer la pente, qui dans notre cas est de -0,47 (lien vers le calcul). Avec la pente et le logarithme calculé à partir du point de gauche (x = 2,3, y = 0,21), nous pouvons maintenant déterminer la ligne droite.
Pour les autres gaz, le calcul est équivalent et peut être effectué de la même manière. Toute personne souhaitant disposer de plus de matériel de lecture peut le faire ici
Étalonnage du capteur de gaz Raspberry Pi – Code
Assez de théorie – nous voulons utiliser le capteur maintenant. Pour cela, vous pouvez utiliser le code que j’ai personnalisé, qui se trouve dans un dépôt GitHub. Un cours de lecture du MCP3008 est également inclus. D’abord, nous clonons le répertoire :
git clone https://github.com/tutRPi/Raspberry-Pi-Gas-Sensor-MQ
Ensuite, nous passons au répertoire et exécutons le fichier de test Python existant.
cd Raspberry-Pi-Gas-Sensor-MQ sudo python example.py
L’étalonnage est lancé automatiquement lors de l’initialisation. Il est important que le capteur soit en bon état / à l’air frais car la fumée / d’autres gaz pourraient fausser le calibrage. Le processus prend quelques secondes, mais la teneur en gaz peut déjà être mesurée par la suite (voir la vidéo). Certains capteurs sont assez chauds, mais cela ne devrait pas être une source d’inquiétude.
Certains utilisateurs ont indiqué que les valeurs ne deviennent exactes qu’après un certain temps. Je ne peux pas le vérifier, car je ne dispose pas d’un appareil de mesure professionnel. Si quelqu’un peut confirmer ou vérifier, puisqu’il a un tel appareil à la maison, je serais heureux de recevoir un commentaire:-)
Un commentaire
La commande de l’exemple ne fonctionne pas…
pi@PI4:~/MQ2/Raspberry-Pi-Gas-Sensor-MQ $ sudo python example.py
Traceback (most recent call last):
File « example.py », line 1, in
from mq import *
File « /home/pi/MQ2/Raspberry-Pi-Gas-Sensor-MQ/mq.py », line 6, in
from MCP3008 import MCP3008
File « /home/pi/MQ2/Raspberry-Pi-Gas-Sensor-MQ/MCP3008.py », line 1, in
from spidev import SpiDev
ImportError: No module named spidev
pi@PI4:~/MQ2/Raspberry-Pi-Gas-Sensor-MQ $
c’est ça qui fonctionne pas … from spidev import SpiDev
Quelle est la solution ???