🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


🍺 Проект: алкотестер на MQ-3 с выводом на LCD1602

Схема алкотестера на MQ-3 с выводом на LCD1602

MQ-3 реагирует на пары этанола, аналоговое значение с датчика выводится на дисплей в реальном времени.

Как это работает

MQ-3 — полупроводниковый газовый датчик на основе диоксида олова (SnO2): при нагреве встроенной нитью накала чувствительный слой меняет своё электрическое сопротивление в присутствии паров этанола, и чем выше концентрация — тем сильнее падает сопротивление. Это изменение сопротивления схема датчика преобразует в аналоговое напряжение на выходе AO, которое Arduino считывает через АЦП как число от 0 до 1023.

Важная особенность всех MQ-датчиков: нити накала нужно время, чтобы выйти на рабочую температуру — сразу после подачи питания показания нестабильны и завышены. Обычно рекомендуют прогрев 1-2 минуты для разовых измерений и около суток непрерывной работы для действительно точной предварительной калибровки базовой линии (это не обязательно для развлекательного проекта, но стоит знать).

Датчик не избирателен исключительно к этанолу — он реагирует и на другие летучие органические пары (ацетон, некоторые растворители), поэтому результат стоит воспринимать как индикатор "в воздухе есть пары спирта", а не как точный измеритель промилле в крови.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Подключите MQ-3: AO → A0, VCC → 5V, GND → GND (цифровой выход DO, если есть на плате, в этом проекте не используется).
  2. Подключите LCD1602 с I2C-переходником: SDA → A4, SCL → A5, VCC → 5V, GND → GND.
  3. После подачи питания дайте датчику прогреться минимум 60 секунд, прежде чем ориентироваться на показания — в первые секунды они будут завышены и нестабильны.
  4. Поднесите датчик к источнику паров спирта (например, к открытой бутылке со спиртосодержащей жидкостью) и убедитесь, что число на экране заметно растёт — так вы проверите, что датчик и подключение исправны.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

const int mq3Pin = A0;               // аналоговый выход датчика MQ-3
LiquidCrystal_I2C lcd(0x27, 16, 2);  // адрес 0x27 — самый частый, у некоторых плат 0x3F

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();

  lcd.setCursor(0, 0);
  lcd.print("Progrev dvatchika");
  delay(5000); // короткая пауза-напоминание, реальный прогрев дольше и идёт в фоне
  lcd.clear();
}

void loop() {
  int value = analogRead(mq3Pin); // 0-1023, условные единицы АЦП, не промилле

  lcd.setCursor(0, 0);
  lcd.print("Alcohol level:");
  lcd.setCursor(0, 1);
  lcd.print(value);
  lcd.print("      "); // затираем хвост от предыдущего более длинного числа

  Serial.print("Уровень (АЦП): ");
  Serial.println(value);

  delay(500);
}

Значение на экране — условные единицы АЦП (0-1023), а не промилле: без лабораторной калибровки под эталонный газоанализатор это развлекательный проект, а не сертифицированный прибор (см. подробности в статье про сам датчик).

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 💨 газосигнализатор на MQ-2 с автовентиляцией☀️ УФ-метр на GUVA-S12SD с выводом на LCD1602 →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 370 ₽ 333 ₽ (экономия 37 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA