Senzor de alcool

A. Scopul proiectului

Vom realiza un etilotest folosind un senzor care detectează nivelul de alcool din aer.

B. Componentele necesare

  • Arduino Uno;
  • Senzor de alcool gazos MQ-3;
  • Fire.

C. Diagrama de conectare

Diagrama de conectare a unui senzor de alcool cu placa Arduino Uno

D. Conexiunea firelor

  • GND la GND;
  • 5V la 5V;
  • Pinul de semnal la A0;

E. Codul sursă – 3 variante

Varianta 1. Afișare simplă a datelor

void setup() {
  Serial.begin(9600);
}
void loop() {
  int nivelAlcool = analogRead(A0);
  Serial.print("Nivelul de alcool este: ");
  Serial.println(nivelAlcool);
  delay(1000);}

Varianta 2. Afișare elegantă a datelor

#define  MQ3pin  0 //Definim senzorul MQ3
float sensorValue;  //variabila pentru valoarea senzorului
void setup() {
  Serial.begin(9600); 
// Afișăm mesajul de mai jos
  Serial.println(" Așteptăm 20 de secunde pentru încălzirea senzorului MQ3"); 
// Așteptăm 20 de secunde
  delay(20000); 
}
void loop() {
  sensorValue = analogRead(MQ3pin); //Citim valoarea senzorului
  Serial.print("Valoarea senzorului: "); // Afișăm valoarea
  Serial.println(sensorValue);  
  delay(2000); // Așteptăm 2 secunde pentru următoarea citire
}

Varianta 3. Alcooltest

#define Sober 350   // Definim valoarea maximă pentru care nu avem alcoolemie
#define Drunk 450   // Definim valoarea minimă pentru care suntem cu alcoolemie
#define MQ3pin 0
float sensorValue;  //variabila pentru senzor
void setup() {
  Serial.begin(9600); 
  Serial.println("Așteptăm 20 de secunde pentru încălzirea senzorului MQ3!");
  delay(20000); // Așteptăm 20 de secunde
}
void loop() {
  sensorValue = analogRead(MQ3pin); // Citim valoarea senzorului
  Serial.print("Valoarea senzorului: ");
  Serial.print(sensorValue);
  // Afișăm starea
  if (sensorValue < Sober) {
    Serial.println("  |  Stare: Fără alcoolemie");
  } else if (sensorValue >= Sober && sensorValue < Drunk) {
    Serial.println("  |  Stare: Cu alcoolemie");
  } else {
    Serial.println("  |  Stare: Alcoolemie ridicată");
  }  
  delay(2000); // Așteptăm 2 secunde pentru următoarea citire
}

F. Informații

Așezarea pinilor la senzorul MQ3

Senzorul este acționat în interiorul său de către un încălzitor. Dispozitivul este alcătuit din carcasă (partea portocalie) și din 2 straturi de plasă din oțel inoxidabil fină, numită și antiexplozie, deoarece alcoolul este inflamabil.

Fiind un senzor analogic, chiar dacă nu există alcool în respirația noastră, valoarea senzorului nu va fi egală cu 0. Cât timp valoarea citită este sub 500 înseamnă că nu există alcool în respirație, dacă se trece de valoarea 500 înseamnă că senzorul sesizează un anumit grad de alcool în aer.

De obicei modelele de tip brick vin incorporate cu un mic potențiometru atașat pentru a ajusta sensibilitatea dispozitivului.

Observație! Pentru o precizie mai bună de citire a valorilor de pe senzor trebuie să așteptăm 24-48 de ore pentru încălzirea acestuia.