Maker : utiliser un capteur MQ-3

Par :
ftonic
jeu, 26/03/2015 - 19:18
Niveau :
Facile

L’idée de ce petit tutoriel est de créer en quelques minutes un éthylotest (très simple) avec une carte compatible Arduino. 

Prérequis

1 carte Arduino ou Intel Galileo gen2 (notre choix)

1 shield de type Grove Base

1 capteur MQ-3

2 LEDs (verte et rouge) avec le support de branchement (notre choix : Grove Led Socket)

1 câble USB pour connecter la carte à son PC ou Mac

3 câbles de branchement entre la shield et les capteurs

Pour le développer et chargement du code sur la carte, nous utiliserons la dernière version du logiciel Arduino IDE

Branchements

Ce projet est simple. Après avoir enfiché la Grove Base sur la carte Intel Galileo gen2 (même procédure avec une Arduino), nous branchons les différents modules :

-       capteur MQ-3 sur le connecteur A0 (entrée analogique)

-       LED verte en D5

-       LED rouge en D8

Pour le MQ-3, nous utilisons un câble 4 pins femelles (jumpers) vers le connecteur 4 pins de la Grove Shield :

-       câble rouge : connecteur VCC

-       câble noir : connecteur GND

-       câble jaune : A0 (sur le port A0) et la broche AOUT du capteur

-       nous ne branchons pas le câble blanc, et laissons libre la broche DOUT (digital) du capteur

En résumé, nous branchons le capteur MQ-3 sur une entrée analogique de la carte Galileo. Souvent, il est conseillé d’utiliser une entrée analogique et non numérique.

Le capteur de gaz MQ-3

Il existe de nombreux capteurs de gaz utilisables avec une Arduino. Pour l’alcool, il faut utiliser un capteur MQ-3. Nous avons pris un capteur peu cher (5,23 € sur Amazon.fr). Il est très rapide à connecter et à utiliser. Il ne nécessite aucun calibrage particulier. Il permet de mesurer l’alcool dans l’air ambiant ou en analysant l’haleine. Il s’agit d’un capteur électro-chimique.

Le code

Le code est très simple. Sur une Arduino, la lecture d’un capteur simple comme le MQ-3 ne nécessite aucune librairie supplémentaire. Il suffit de lire la donnée du capteur avec un simple « analogRead ». Seule précaution : brancher les capteurs sur les ports déclarés dans le code.

Pour voir immédiatement les données, nous utilisons le moniteur série. On déclare dans le setup (Serial.begin) puis on affiche les données voulues (Serial.println).

Notre exemple est très simple, vous pouvez affiner les mesures et utiliser une barre à led pour avoir une mesure visuelle plus précise. Si le MQ-3 indique 0 ou un chiffre très faible, il y a absence d’alcool. Plus le chiffre sera haut, plus il y a présence d’alcool. Le capteur est sensible et réactif.

// on déclare les 2 LED en D5 et D8

// le capteur MQ-3 en A0

#define LED 8

#define LEDa 5

const int analogPin = 0;   

// on configure les 2 leds et on prépare le moniteur série

void setup() {

  pinMode(LED, OUTPUT);

  pinMode(LEDa, OUTPUT);

  Serial.begin(9600);

}

void loop() {

  //sensorReading sera notre variable de lecture MQ-3

  int sensorReading = analogRead(analogPin);

  Serial.println(sensorReading);

  if (sensorReading>300) {

    digitalWrite(LEDa, LOW);

    digitalWrite(LED, HIGH);

  }

  else {

    digitalWrite(LED, LOW);

    digitalWrite(LEDa,HIGH);

  }

}

Compilez et téléversez sur la carte.

Exemple de codes :

http://www.danielandrade.net/2010/03/07/building-an-breathalyzer-with-mq-3-and-arduino/

 

 

Ajouter un commentaire

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
                                                                            
88 88 ,ad8888ba, 8b d8 88888888ba 888b 88
88 88 d8"' `"8b Y8, ,8P 88 "8b 8888b 88
88 88 d8' `8b `8b d8' 88 ,8P 88 `8b 88
88aaaaaaaa88 88 88 Y88P 88aaaaaa8P' 88 `8b 88
88""""""""88 88 88 d88b 88""""88' 88 `8b 88
88 88 Y8, "88,,8P ,8P Y8, 88 `8b 88 `8b 88
88 88 Y8a. Y88P d8' `8b 88 `8b 88 `8888
88 88 `"Y8888Y"Y8a 8P Y8 88 `8b 88 `888