Перейти к содержанию

MQ-3 Ардуино подключение датчика паров спирта

MQ-3 Ардуино подключение датчика паров спирта

Датчик MQ-3 Arduino может определять концентрацию паров алкоголя в воздухе. На основе модуля MQ-3 и дисплея 16×2 можно собрать алкотестер своими руками (устройство для определения концентрации алкоголя в крови по выдыхаемому воздуху). Датчик паров алкоголя (спирта) MQ-3 довольно просто подключить к микроконтроллеру, а также легко написать программу для платы Ардуино с жк дисплеем или тремя светодиодами.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • датчик паров спирта MQ-3
  • светодиоды и резисторы
  • дисплей LCD 1602 i2c
  • макетная плата
  • коннекторы
  • библиотека LiquidCrystal_I2C.h

Дополнительные материалы на эту тему:

  1. Подключение датчика углеводорода к Ардуино
  2. Подключение дисплея LCD 1602 к Ардуино
  3. Тестер батареек с LCD дисплеем Ардуино

Датчик MQ-3 представляет собой недорогое полупроводниковое устройство для измерения наличия паров алкоголя при их концентрации в воздухе от 0,05 мг/л до 10 мг/л. Модуль на основе элемента SnO2 использует химическую реакцию для определения содержания алкоголя (спирта). Алкодетектор имеет низкую проводимость в чистом воздухе, которая практически линейно увеличивается при появлении паров алкоголя в воздухе.

MQ-3 Arduino распиновка, характеристики

MQ-3 Arduino распиновка, характеристики

Характеристики MQ-3 Arduino (datasheet)

  • Источник питания: 5 В
  • Аналоговый выход
  • Размеры: 37 x 27 x 13 мм

Модуль MQ-3 обладает высокой чувствительностью и защищен от помех, таких как дым и пары углеводородов. Аналоговый датчик имеет 4 выхода: питание VCC и заземление GND, а также цифровой и аналоговый выход. Для точных измерений необходимо достичь рабочей температуры с помощью встроенного нагревателя (около 40 градусов), оставив включенным спиртовой модуль Arduino MQ-3 на 10 минут в режиме нагрева.

Подключение датчика паров спирта MQ-3 Ардуино

Как подключить датчик паров спирта MQ-3 Arduino

В первом варианте алкотестера на Ардуино мы будем использовать светодиоды для индикации уровня алкоголя в воздухе. При превышении допустимого значения алкоголя загорается оранжевый или красный светодиод. Обратите внимание, что датчик является аналоговым, поэтому его необходимо откалибровать. С помощью алкотестера можно узнать концентрацию спирта в долях на миллион (ppm) и в миллиграммах на литр (mG/L).

Скетч для алкотестера на Ардуино со светодиодами


#define 10 GRN
#define 11 ORG
#define 12 RED
int mq3;

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

  pinMode(GRN, OUTPUT);
  pinMode(ORG, OUTPUT);
  pinMode(RED, OUTPUT);

  Serial.begin(9600);
}

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

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

  if (mq3 < 100) {
     digitalWrite(GRN, HIGH);
     digitalWrite(ORG, LOW);
     digitalWrite(RED, LOW);
  }
 
  if (mq3 > 200 and mq3 < 200) {
     digitalWrite(GRN, LOW);
     digitalWrite(ORG, HIGH);
     digitalWrite(RED, LOW);
  }
 
  if (mq3 > 200) {
     digitalWrite(GRN, LOW);
     digitalWrite(ORG, LOW);
     digitalWrite(RED, HIGH);
  }
}

Подключение датчика MQ-3 к Ардуино с дисплеем

Подключение датчика MQ-3 к Arduino с дисплеем

LCD 1602 i2c Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VDD 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

Соберите схему, как показано на рисунке выше. Порты SDA и SCL дисплея Arduino подключены к контактам A4 и A5 у микроконтроллера Arduino Uno (Nano). Датчик должен быть подключен к 5 В и GND, а аналоговый выход — к контакту A1. При первом включении датчика может появиться неприятный запах, исходящий от MQ3 при нагревании — это нормально. Информация также будет выводиться на монитор порта Arduino IDE.

Скетч для алкотестера на Ардуино своими руками

#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();
}

Заключение. Если у вас нет в наличии дисплея LCD 1602 i2c, вы можете просто закомментировать или удалить ненужную часть кода. В этом случае информация с датчика MQ-3, подключенного к плате Ардуино, будет отображаться только на последовательном мониторе порта Arduino IDE. Если у вас есть вопросы по программированию датчика MQ-3 для сборки алкотестера на Arduino Uno, оставляйте их в комментариях к статье.

Комментарии 1

  • Здравствуйте!
    А можете написать скетч для платы ESP32 ? (под этот датчик спирта)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

newzaym
➜