ATENTIE: Nu folositi rezultatele returnate de catre acest montaj daca ati baut si doriti sa conduceti un autovehicul! Autorul nu poate fi facut raspunzator pentru actiunile dvs.

    Pentru a detecta nivelul de alcool din aerul expirat vom folosi un modul cu senzorul MQ-3. 

    Acest senzor detecteaza si alte gaze dar noi vom detecta doar alcoolul din aerul expirat.

    Modulul se alimenteaza cu +5V si ofera 2 iesiri: 1 anaogica si una digitala. In acest exemplu vom folosi iesirea analogica deoarece vom afisa pe display valoarea citita de catre senzor.

    Pretul acestui modul este de 26 lei si poate fi achizitionat de aici.

    Pentru afisarea valorilor obtinute vom folosi un display LCD 2004.

    Inainte de a putea sa ne bazam pe rezultatele citite de catre senzor va trebui sa facem o preincalzire a senzorului de aproximativ 24-48 ore pentru a ne asigura ca valorile obtinute sunt corecte.

    Senzorul folosit este cel din pozele de mai jos:

 

    Sketchul folosit pentru acest montaj este urmatorl:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 20, 4);
int mq3 = A7;
int mq3_val;

void setup() {
  lcd.begin();
     lcd.backlight();
     lcd.setCursor(0, 0);
     lcd.print("Senzor alcool");
     lcd.setCursor(6, 1);
     lcd.print("cu MQ-3");
     lcd.setCursor(1, 3);
     lcd.print("electronicstore.ro");
     delay(1000);
     lcd.clear();
     lcd.setCursor(1, 3);
     lcd.print("electronicstore.ro");
     lcd.setCursor(0, 0);
     lcd.print("Initializare senzor");
     lcd.setCursor(0, 1);
     lcd.print("Incalzire: ");
     for (int i=0;i<=100;i++) {
      lcd.setCursor(12, 1);
      lcd.print(i);
      lcd.print("%");
      delay(1000);
     }
}

void loop() {
  mq3_val = analogRead(mq3);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Valoare citita:");
  lcd.print(mq3_val);
  afisare(mq3_val);
  lcd.setCursor(1, 3);
  lcd.print("electronicstore.ro");
  delay(500);
}

int afisare(int mq3_val) {
    lcd.setCursor(0, 1);
    if(mq3_val<200) {
      lcd.print("Alcool nedetectat");
    }
    if (mq3_val>=200 && mq3_val<280) {
      lcd.print("O bere...");
    }
    if (mq3_val>=280 && mq3_val<350) {
      lcd.print("Doua sau trei beri..");
    }
    if (mq3_val>=350 && mq3_val <450) {
      lcd.print("Peste patru beri...");
    }
    if(mq3_val>450) {
     lcd.print("Sunteti beat!");
  }
}

    Poze cu montajul in functiune mai jos:

 

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.