Arduino detektor alkoholu v dechu

V tomto návodu si ukážeme, jak zapojit modul pro detekci alkoholu společně s Arduinem. Pro zjednodušení zapojení byla vyrobena speciální deska plošných spojů, ale pro otestování lze vše zapojit i na nepájivém poli.
Arduino detektor alkoholu dokáže z dechu zjistit množství alkoholu, které přibližně máme v naší krvi a tento údaj zobrazí na připojeném LCD displeji. A při překročení nastavené hranice také zapne připojenou sirénku.

Seznam součástek:

  • Arduino UNO
  • PCB z JLCPCB (volitelné)
  • Senzor alkoholu MQ3
  • Rezistor 10k
  • Rezistor 1k
  • LCD displej 16×2 znaků
  • Napájecí zdroj
  • Potenciometr 10k
  • LED dioda
  • Integrovaný obvod LM358
  • Mikrospínač (tlačítko do plošného spoje)

Components for Arduino Alcohol Detector Circuit

Schéma zapojení a popis:

Arduino Alcohol Detector Circuit diagram

V tomto projektu používáme MQ3 senzor pro detekci hladiny alkoholu v dechu. Pro zobrazení naměřených výsledků v PPM slouží připojený LCD displej 16×2 znaky. A obvod LM358 slouží k převedení výstupního analogového signálu ze senzoru na digitální pro Arduino (tato funkce je volitelná). Sirénka pak slouží pro případnou zvukovou detekci překročení nastavené hranice.

Jak si můžete všimnout na schématu, výstup obvodu pro porovnání analogového výstupu s nastavenou hranicí je připojen na digitální pin D7. Senzor alkoholu je pak přímo připojen na analogový pin A0. Sirénka je zapojena na pin D9. A LCD displej je zapojen jako v dříve uvedeném návodu na piny D12, D11, D5, D4, D3 a D2. Tlačítko je pak zapojeno na pin D6.
Poznámka: Pro výpočet hladiny PPM je nutné zkratovat všechny 3 piny konektoru J2.

Výpočet hladiny alkoholu v dechu:

Podle údajů v datasheetu senzoru MQ3 je v čistém prostředí přibližně 0,04 mg alkoholu na 1 litr vzduchu.
Po zapnutí obvodu v čistém prostředí si můžeme všimnout, že naměříme výstupní napětí 0,6 V. A díky tomu si můžeme zapsat, že hladina alkoholu 0,04 mg/l odpovídá napětí 0,6V.
Pro nalezení násobku pro následný výpočet hladiny alkoholu v okolí senzoru pak stačí vypočítat rovnici:

Nasobitel  = 0,4/0,6 = 0,67

A nyní jsme získali velmi orientační rovnici pro získání hladiny alkoholu:

Alkohol = 0,67 * Napeti

Poznámka: Tato rovnice je pouze orientační a pro přesnější měření je nutné zkalibrovat s přesnějším přístrojem.

MQ3 senzor alkoholu

Tento senzor používá jako měřící materiál SnO2, který má malou vodivost v čistém prostředí. Při zvýšené koncentraci alkoholu se ale jeho vodivost zvyšuje, což je jev, kterého využíváme. Můžeme totiž následně měřit změnu napětí na výstupu a tu přepočíst na hladinu alkoholu v okolí.
Tento senzor také může najít využití v dalších zařízeních jako domácí senzor alkoholových výparů, přenosný alkoholtester, analýzátor dechu a podobně.

MQ3-Alcohol gas sensor

 Ukázkový kód:

#include 
LiquidCrystal lcd(12,11,5,4,3,2);
#define sensor A0
#define led 13
#define buz 9
void setup() 
{
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.print("Alcohol Detector");
  lcd.setCursor(0,1);
  lcd.print(" Circuit Digest ");
  delay(2000);
  pinMode(sensor, INPUT);
  pinMode(buz, OUTPUT);
  pinMode(led, OUTPUT);
  lcd.clear();
}
void loop() 
{
  float adcValue=0;
  for(int i=0;i<10;i++) { adcValue+= analogRead(sensor); delay(10); } float v= (adcValue/10) * (5.0/1024.0); float mgL= 0.67 * v; Serial.print("BAC:"); Serial.print(mgL); Serial.print(" mg/L"); lcd.setCursor(0,0); lcd.print("BAC: "); lcd.print(mgL,4); lcd.print(" mg/L "); lcd.setCursor(0,1); if(mgL > 0.8)
    { 
      lcd.print("Drunk   ");
      Serial.println("    Drunk");
      digitalWrite(buz, HIGH);
      digitalWrite(led, HIGH);
    }
    else
    {
      lcd.print("Normal  ");
      Serial.println("    Normal");
      digitalWrite(buz, LOW);
      digitalWrite(led, LOW);
    }
    delay(100);
}

Arduino Alcohol Detector Circuit in action

Videoukázka:

Převzato a přeloženo z https://circuitdigest.com/microcontroller-projects/arduino-alcohol-detector-circuit-board

Arduino Uno, Mega, Senzory, Moduly za

VÝHODNOU CENU

Luboš