Alcool Test - MQ-3 Sensor
Arduino
Électronique /
Electronic
Range de sortie de 0 à 4V / Output range from 0 to 4V

|
Le capteur de gaz MQ-3 présente une sensibilité élevée à l'alcool et une
bonne résistance aux perturbations causées par l'essence, la fumée et
les vapeurs. Ce capteur permet de détecter l'alcool à différentes concentrations ; son faible coût le rend adapté à diverses applications. Le matériau sensible du capteur de gaz MQ-3 est le SnO₂, dont la conductivité est faible dans l'air pur. En présence d'alcool, la conductivité du capteur est proportionnelle à la concentration du gaz. |
MQ-3 gas sensor has high sensitivity to alcohol, and has good resistance
to disturbances of gasoline, smoke and vapor. The sensor could be used to detect alcohol with different concentration; it is with low cost and suitable for different application. Sensitive material of MQ-3 gas sensor is SnO2, which with lower conductivity in clean air. When the target alcohol gas exists, sensor’s conductivity is proportional to the gas concentration. |
![]() |
![]() |
R2 = RL![]() |
|
Schematic Diagram![]() |
|
|
Caractéristiques typiques de la sortie de tension analogique MQ3 (à 5 V
VCC) Configuration initiale et rodage Mise sous tension : Connectez le MQ-3 (VCC à 5 V, GND à GND, AO à la broche analogique). Rodage : Le capteur doit être alimenté pendant au moins 24 heures (jusqu'à 72 heures pour une précision optimale) afin de stabiliser son élément chauffant interne, d'éliminer les polluants liés à sa fabrication et de garantir des mesures précises et fiables, notamment dans un environnement à air pur. Sans cette étape, le matériau semi-conducteur du capteur ne fonctionnera pas correctement, ce qui entraînera des mesures erronées. Pourquoi le rodage est crucial : Stabilisation : Le capteur utilise un élément chauffant pour détecter les gaz. Lors de la première utilisation, une longue période de fonctionnement continu est nécessaire pour atteindre une résistance de base stable. Élimination des contaminants : Les capteurs MQ contiennent souvent des polluants issus du processus de fabrication qui doivent être éliminés par combustion. Calibrage : Pour calibrer correctement le capteur à l’air pur, un rodage est indispensable afin de garantir la précision de la résistance de base. Précision : Négliger cette étape entraîne des données erronées. Temps de préchauffage : Outre le rodage initial, le capteur nécessite un temps de préchauffage de 2 minutes avant chaque utilisation. Il est recommandé de faire fonctionner le capteur sous 5 V pendant au moins 48 heures, notamment s’il a été stocké pendant une période prolongée, afin d’assurer son bon fonctionnement. Vérification initiale : À l’air pur, la lecture analogique doit se stabiliser. Ensuite: Lors des tests en laboratoire, le capteur nécessite 5 à 10 minutes pour atteindre sa température de fonctionnement optimale. Pendant cette phase de préchauffage, la valeur affichée par le capteur sera élevée, puis diminuera progressivement jusqu'à stabilisation. Concentration d'alcool (approx.) Gamme de détection : Alcool 0.04 mg/L à 4 mg/l (approprié pour les alcootests). Tension de sortie Air pur / Absence d'alcool ~0,1 V - 0,3 V : Valeur de base en air pur Faible concentration ~0,4 V - 0,9 V : Présence mineure d'alcool Point d'étalonnage standard ~1 V - 2,5 V Taux d'alcoolémie élevé. Forte concentration / Éthylotest ~3,0 V - 4,0 V et plus |
Typical MQ3 Analog Voltage Output Characteristics (at 5V VCC) Initial Setup and Burn-in Power On: Connect the MQ-3 (VCC to 5V, GND to GND, AO to Analog Pin). Burn-in: The sensor must be powered on for at least 24 hours (up to 72 hours for high accuracy) to stabilize its internal heating element clean off manufacturing pollutants, and ensure accurate, consistent readings, specifically in a clean air environment. Without this process, the sensor's semiconductor material will not function properly, resulting in false readings. Why Burn-In is Crucial: Stabilization: The sensor uses a heater to detect gases. Initial use requires a long, continuous power-on period to reach a stable baseline resistance. Removing Contaminants: MQ sensors often come with pollutants from the manufacturing process that must be burned off. Calibration Requirement: To properly calibrate the sensor in clean air, it must be burned in to ensure the base resistance is accurate. Accuracy: Skipping this step leads to unreliable data. Warm-up: In addition to the initial burn-in, the sensor needs a 2-minute warm-up time before each use. It is recommended to run the sensor at 5V for at least 48 hours, especially if it has been stored for some time, to ensure it properly functions. Initial Check: In clean air, the analog reading should stabilize. Afterwards: When bench-top testing, the sensor will take 5-10 minutes to fully warm up. During the warm-up time, the sensor will read high and slowly decrease until the reading stabilizes. Alcohol Concentration (approx.) Detection range: Alcohol 0.04 mg/L to 4 mg/L (suitable for breathalyzer tests). Output Voltage Clean Air / Zero Alcohol ~0.1V - 0.3V Baseline in clean air Low Concentration ~0.4V - 0.9V Minor alcohol presence Standard calibration point ~1V - 2.5V High intoxication level High Concentration / Breathalyzer ~3.0V - 4.0V+ |
|
Le potentiomètre sur le module capteur d'alcool MQ-3 ajuste la
sensibilité de la sortie numérique (D0) en définissant un seuil de
détection. Tournez dans le sens horaire pour augmenter la sensibilité (déclenchement plus facile) et antihoraire pour la diminuer. Le réglage optimal se fait en présence d'alcool, en tournant le potentiomètre jusqu'à ce que la LED de statut s'allume (Dout Led) (sortie basse/LOW). Procédure de réglage (Calibration) : Préchauffage : Laissez le capteur sous tension (5V) pendant au moins 20 secondes, voire 24 heures pour une première utilisation afin d'obtenir des lectures stables. Réglage du Seuil (D0) : Exposez le capteur à la concentration d'alcool souhaitée pour l'alarme. Tournez le potentiomètre dans le sens horaire jusqu'à ce que la LED de statut (indicatrice de seuil) s'allume. Tournez légèrement en sens inverse jusqu'à ce que la LED s'éteigne tout juste. Résultat : Le capteur enverra un signal numérique "LOW" (0) si la concentration dépasse ce seuil, et "HIGH" (1) en dessous. |
The potentiometer on the MQ-3 alcohol sensor module adjusts the
sensitivity of the digital output (D0) by setting a detection threshold. Turn clockwise to increase sensitivity (easier triggering) and counterclockwise to decrease it. Optimal adjustment is achieved in the presence of alcohol by turning the potentiometer until the status LED illuminates (Dout LED) (low output). Calibration Procedure: Warm-up: Leave the sensor powered (5V) for at least 20 seconds, or up to 24 hours for initial use, to obtain stable readings. Setting the Threshold (D0): Expose the sensor to the desired alcohol concentration for the alarm. Turn the potentiometer clockwise until the status LED (threshold indicator) illuminates. Turn slightly in the opposite direction until the LED just turns off. Result: The sensor will send a digital signal of "LOW" (0) if the concentration exceeds this threshold, and "HIGH" (1) if it falls below. |
|
La sortie numérique (DO) du capteur MQ-3 peut piloter directement un
transistor NPN (comme un BC547 ou un 2N2222) pour commander des
dispositifs externes tels que des relais, des avertisseurs sonores ou
des LED. Le module fonctionne sous 5 V et délivre un signal HAUT (5 V) en air pur et un signal BAS (0 V) en présence d'alcool, permettant ainsi un déclenchement simple, direct ou par inversion logique du transistor. Points clés concernant le pilotage des transistors : Inversion logique : La sortie numérique passe à l'état BAS (0 V) en présence d'alcool et à l'état HAUT (5 V) dans le cas contraire. Déclenchement : Pour déclencher un transistor en présence d'alcool, un transistor PNP (par exemple, un BC557) ou un inverseur peut être nécessaire. Il est également possible d'utiliser l'inversion logique dans la conception du logiciel ou du circuit. Protection du circuit : Il est recommandé d'utiliser une résistance de base (par exemple, 1 kΩ ou 10 kΩ) entre la broche DO du capteur et la base du transistor afin de protéger ce dernier. Sensibilité : Le seuil de la sortie numérique peut être ajusté à l'aide du potentiomètre intégré. |
The MQ-3 sensor digital output (DO) can directly drive a NPN transistor
(like a BC547 or 2N2222) to control external devices such as relays,
buzzers, or LEDs. The module operates at 5V, outputting a HIGH (5V) signal in clean air and a LOW (0V) signal when alcohol is detected, allowing for easy, direct, or logic-inverted transistor triggering. Key Considerations for Driving Transistors: Logic Inversion: The digital output goes LOW (0V) when alcohol is detected, and HIGH (5V) otherwise. Triggering: To trigger a transistor when alcohol is detected, a PNP transistor (e.g., BC557) or an inverter may be required, or simply use the inverted logic in software/circuit design. Circuit Protection: A base resistor (e.g., 1kΩ or 10kΩ) is recommended between the sensor's D0 pin and the transistor base to protect the sensor. Sensitivity: The threshold for the digital output can be adjusted using the on-board potentiometer. |
|
Le capteur MQ-3, lorsqu'il est configuré avec une résistance de charge
RL de
1kΩ , est adapté à la détection des vapeurs d'alcool dans
l'haleine. Cette configuration permet d'obtenir une plage de tension de sortie idéale pour couvrir les concentrations d'alcool typiques rencontrées dans l'air expiré (0,04 à 4 mg/L). Une résistance de charge plus faible (comme 1k) réduit la sensibilité à saturation pour des concentrations élevées, permettant de mieux distinguer les niveaux d'alcool dans l'haleine. En résumé, RL = 1k est un choix de conception courant pour optimiser le capteur pour les éthylotests personnels. |
The MQ-3 sensor, when configured with a 1kΩ load resistance (RL), is
suitable for detecting alcohol vapors in breath. This configuration provides an ideal output voltage range to cover typical alcohol concentrations found in exhaled air (0.04 to 4 mg/L). A lower load resistance (such as 1kΩ) reduces saturation sensitivity at higher concentrations, allowing for better differentiation of alcohol levels in breath. In summary, RL = 1kΩ is a common design choice for optimizing the sensor for personal breathalyzers. |
|
Compression de la sensibilité : Bien que le constructeur suggère souvent 10k pour détecter des traces infimes (jusqu'à 10 mg/L en limite de détection théorique), une telle valeur saturerait presque immédiatement en soufflant directement dessus. Adaptation à l'haleine : En abaissant à 1k, on diminue la sensibilité globale. Cela permet de "zoomer" sur la plage 0,05 - 4 mg/L, ce qui est idéal puisque la limite légale (ex: 0,25 mg/L d'air expiré en France) se situe pile dans cette zone de mesure stable. Résolution : Avec 1k, la variation de tension entre un sujet sobre et un sujet ayant consommé de l'alcool est plus étalée sur l'échelle 0-5V, facilitant la lecture par un microcontrôleur comme un Arduino. Avec une résistance de charge de 1k, la tension de sortie du MQ-3 s'étalonne généralement sur une plage de 0 à 4 V pour couvrir les concentrations d'alcool de l'haleine. Cette configuration est particulièrement efficace car elle laisse une marge de sécurité avant la saturation du signal (à 5V), évitant ainsi l'écrêtage des données lors de pics de concentration ou de souffles très chargés. Pourquoi s'arrêter à 4 V ? Limiter la plage utile à 4V plutôt que d'utiliser toute l'échelle jusqu'à présente deux avantages techniques majeurs : Linéarité relative : La réponse du capteur est logarithmique. En restant sous les 5V, on évite la zone où la courbe de sensibilité s'aplatit totalement, ce qui rend la conversion numérique plus précise. Protection du signal : Cela permet de détecter si le capteur est en surconcentration ou s'il y a un pic de tension parasite sans perdre la lecture réelle de la valeur maximale. |
Sensitivity compression: Although the manufacturer often suggests 10kΩ for detecting minute traces (up to 10 mg/L at the theoretical detection limit), such a value would saturate almost immediately if blown directly onto it. Breath adaptation: Lowering the sensitivity to 1kΩ reduces the overall sensitivity. This allows the device to "zoom" in on the 0.05–4 mg/L range, which is ideal since the legal limit (e.g., 0.25 mg/L of exhaled air in France) falls precisely within this stable measurement range. Resolution: At 1kΩ, the voltage variation between a sober subject and a subject who has consumed alcohol is spread more evenly across the 0–5V scale, making it easier for a microcontroller like an Arduino to read the reading. With a 1kΩ load resistor, the output voltage of the MQ-3 is typically calibrated to a range of 0 to 4V to cover breath alcohol concentrations. This configuration is particularly effective because it provides a safety margin before signal saturation (at 5V), thus preventing data clipping during concentration peaks or highly concentrated breath samples. Why stop at 4V? Limiting the usable range to 4V, rather than using the full range as previously stated, offers two major technical advantages: Relative linearity: The sensor's response is logarithmic. By remaining below 5V, we avoid the region where the sensitivity curve flattens completely, resulting in more accurate digital conversion. Signal protection: This allows detection of over-concentration or parasitic voltage spikes without losing the actual reading of the maximum value. |
|
Circuit avec un voltmètre |
Circuit with a voltmeter |
![]() |
|
![]() |
![]() |
|
Circuit avec un LM3915 LM3914 affiche une échelle linéaire. LM3915 affiche une échelle logarithmique. |
Circuit with an LM3915 LM3914 displays a linear scale LM3915 displays Log scale |
![]() |
|
|
Arduino Circuit de base |
Arduino Basic Circuit |
|
MQ-3_02.ino MQ-3_03.ino ![]() |
|
| Arduino 10 LED | |
|
MQ-3_Led.ino ![]() |
|
| Arduino LCD | |
|
MQ-3.ino |
|
![]() |
![]() |
Taux d'alcoolémie BAC / Blood Alcohol Concentration BAC
Vapeur Alcool Air -> Alcool dans le sang
Alcohol vapor Air -> Alcohol in the blood
g/L = mg/L * 2
g / 100 mL = g/L / 10
| mg/L (Air) g/dL | (Sang / BAC) | État typique | Typical state |
| 0.10 | 0.02 | Début d'effet |
Onset of effect |
| 0.25 | 0.05 | Limite légale (France) |
Legal limit (France) |
| 0.40 | 0.08 | Limite légale (QC/USA/UK) |
Legal limit (QC/USA/UK) |
|
0.50 |
0.10 | Ivresse manifeste | Obvious intoxication |


Taux d'alcoolémie BAC / Blood Alcohol Concentration BAC
Femme / Women

Taux d'alcoolémie BAC / Blood Alcohol Concentration BAC
Homme / Men


MQ-3 Formules / Formula
|
R0 = Rs dans un environnement à air pur Rs/R0 = 1 mg/L = 0 Comme R0 est la résistance du capteur dans l'air pur, alors par définition, dans l'air pur, Rs = R0, ce qui donne un ratio de Rs/R0 = 1. En utilisant la formule standard : mg/L = a x (Rs/R0)^b On observe qu'au lieu d'afficher 0 mg/L, le capteur renvoie la valeur de la constante a. Application de la correction de décalage Pour corriger ce comportement et forcer la courbe à passer par l'origine (1,0) dans le repère du ratio de résistance, on soustrait la valeur de décalage à l'ensemble de l'équation. Cela permet de compenser la lecture de base du capteur dans un environnement sans gaz cible. mg/L = a x (Rs/R0)^b - a L'ajustement de la formule en mg/L = a x (Rs/R0)^b - a est une technique de calibration nécessaire lorsque R0 est mesuré dans l'air pur. Cette soustraction de l'offset a assure que la concentration calculée est de 0 mg/L lorsque le ratio est égal à 1, améliorant ainsi la précision des mesures à faible concentration. |
R0 = Rs in a clean air environment Rs/R0 = 1 mg/L = 0 Since R0 is the sensor's resistance in clean air, then by definition, in clean air, Rs = R0, giving a ratio of Rs/R0 = 1. Using the standard formula: mg/L = a x (Rs/R0)^b We observe that instead of displaying 0 mg/L, the sensor returns the value of the constant a. Applying the offset correction To correct this behavior and force the curve to pass through the origin (1,0) in the resistance ratio coordinate system, we subtract the offset value from the entire equation. This compensates for the sensor's basic reading in an environment without a target gas. mg/L = a x (Rs/R0)^b - a Adjusting the formula to mg/L = a x (Rs/R0)^b - a is a necessary calibration technique when R0 is measured in pure air. This subtraction of the offset a ensures that the calculated concentration is 0 mg/L when the ratio equals 1, thus improving the accuracy of measurements at low concentrations. |
R0 = 15,026 = 312 mV = 0,312 V
RL = 1K
Rs = ((Vc x RL) / Vout) - RL
Rs = (Vc / Vout) - RL
Rs = (5 / Vout) - 1
mg/L = a x (Rs/R0)^b - a
a = Vout -> R0 = 0,312
b =log10 (4 mg/L / a) / log10(Rs/R0) -> Rs/R0 -> pour/for Vout -> 4 V = 0,0162
b =log10 (4/0,312) / log10(0,0162) = -0,6228
RS/R0 -> mg/L

