Etilometro con Arduino e sensore di alcol MQ3

Il sensore MQ-3 di Arduino è in grado di rilevare la concentrazione di vapori di alcol nell’aria. Pertanto, sulla base dell’MQ-3 e del display LCD 16×2 i2c è possibile creare un etilometro (un dispositivo per determinare la concentrazione di alcol nel sangue attraverso l’aria espirata). Il sensore di vapori di alcol MQ-3 è abbastanza facile da collegare a un microcontrollore ed è anche facile scrivere un programma per questo dispositivo basato su Arduino.




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • modulo sensore di alcol MQ3
  • LED e resistenze
  • display LCD 1602 i2c
  • breadboard
  • cavi di collegamento
  • libreria LiquidCrystal_I2C.h

Modulo sensore di alcol MQ3 datasheet, pinout

Il sensore MQ-3 è un dispositivo a semiconduttore economico per misurare la presenza di vapori di alcol nell’alito umano. Reagisce a concentrazioni di vapore da 0,05 mg/l a 10 mg/l. MQ3 si basa su un elemento sensibile SnO2 che utilizza una reazione chimica per rilevare i livelli di alcol. Questo sensore ha una bassa conduttività in aria pulita, che aumenta linearmente con l’aumentare della concentrazione di vapore acqueo nell’alito.

Sensore di alcol MQ-3 Arduino pinout, datasheet
Modulo sensore di alcol MQ-3 Arduino pinout, datasheet

Caratteristiche del sensore di alcol MQ3 Arduino:

  • Tensione di alimentazione: 5V
  • Sortie analogique
  • Dimensioni: 37 x 27 x 13 mm

MQ-3 è altamente sensibile e protetto da interferenze quali fumo e vapori di gas idrocarburi. Il sensore analogico dispone di 4 uscite: alimentazione VCC e massa Gnd, nonché uscite digitali e analogiche. Per ottenere misure accurate, è necessario raggiungere la temperatura di esercizio con il riscaldatore incorporato (circa 40 gradi Celsius) tenendo acceso il modulo MQ3 per 10 minuti. Pertanto, il modulo si riscalderà parecchio durante il funzionamento.

Collegamento un sensore di alcol MQ3 ad Arduino

Come usare sensore di alcol MQ-3 Arduino Uno
Come usare sensore di alcol MQ-3 Arduino Uno

Nella prima versione dell’etilometro utilizzeremo dei LED per indicare il livello di vapore acqueo nell’aria. Quando il valore consentito viene superato, il LED arancione o rosso si accende. Si noti che il sensore è analogico, quindi deve essere calibrato per ottenere letture accurate. L’utilizzo di un etilometro digitale fornisce informazioni sulla concentrazione di vapore acqueo in frazioni per milione (ppm) e milligrammi per litro (mG/L).

Programma Arduino per etilometro con sensore MQ3 e LED




int mq3;

void setup() {
  pinMode(A1, INPUT);
  analogWrite(A1, LOW);

  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);

  Serial.begin(9600);
  LCD.init();
  LCD.backlight();
 }

void loop() {
  mq3 = analogRead(A1);

  Serial.print("Alcohol: ");
  Serial.println(mq3);

  if (mq3 < 100) {
    digitalWrite(10, HIGH);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
  }
 
  if (100 > mq3 < 200) {
    digitalWrite(10, LOW);
    digitalWrite(11, HIGH);
    digitalWrite(12, LOW);
  }
 
  if (mq3 > 200) {
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    digitalWrite(12, HIGH);
  }
}

Spiegazione del codice per etilometro con modulo MQ3 e LED Arduino:



  1. i valori dei sensori specificati nel programma devono essere calibrati;
  2. i dati del sensore saranno visualizzati sul monitor della porta seriale.

Collegamento un sensore MQ-3 e LCD 1602 ad Arduino

Collegamento un sensore MQ3 e LCD 1602 ad Arduino
Collegamento un sensore MQ3 e LCD 1602 ad Arduino
LCD 1602 i2c Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VCC 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

Assemblare il circuito come mostrato nell’immagine precedente. Le porte SDA e SCL del display LCD Arduino sono collegate ai pin A4 e A5 di Arduino Uno. Il sensore deve essere collegato a 5V e GND, mentre l’uscita analogica deve essere collegata al pin A1 del Arduino. Quando il sensore viene acceso per la prima volta, l’MQ3 può emettere odori estranei quando si riscalda. Dopo aver assemblato il breathalyser su Arduino, caricare il seguente sketch.

Programma Arduino per etilometro con MQ3 e LCD 1602 i2c

#include "Wire.h"
#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C LCD(0x27,16,2);

int mq3;

void setup() {
  pinMode(A1, INPUT);
  analogWrite(A1, LOW);

  Serial.begin(9600);
  LCD.init();
  LCD.backlight();
 }

void loop() {
  mq3 = analogRead(A1);

  Serial.print("Alcohol: ");
  Serial.println(mq3);

  LCD.setCursor(0,0);
  LCD.print("Alcohol: ");
  LCD.print(mq3);

  delay(100);
  LCD.clear();
}

Spiegazione del codice per etilometro con MQ3 e LCD 1602 Arduino:

  1. lo schema di cablaggio del display LCD 1602 con Arduino Mega sarà diverso, perché questo microcontrollore ha pin SDA e SCL separati.

Conclusione. Se non si dispone di un LCD 16×2 i2c, si può semplicemente commentare o eliminare una parte non necessaria del codice. In questo caso, le informazioni provenienti dal sensore MQ-3 collegato alla scheda Arduino verranno emesse solo sulla porta seriale dell’IDE Arduino. Se avete domande sul collegamento o sulla programmazione del sensore MQ-3 per il breathalyser Arduino Uno, non esitate a lasciarle nei commenti a questo articolo.

5/5 - (1 vote)


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.