Maker : utiliser un capteur MQ-3
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/
Commentaires
Merci beaucoup pour votre
Merci beaucoup pour votre tutoriel cela m'a enormément aidé
Ajouter un commentaire