Система обнаружения газа с Arduino и ЖК-дисплеем 16×2 (обучение работе с Proteus)

В этой статье рассматривается проект на Arduino для обнаружения утечки газа с использованием MQ-2, LCD-дисплея 16×2 и светодиодов.
Пример создан специально для обучения работе с симулятором Proteus и демонстрирует практический способ контроля уровня газа с визуальной сигнализацией.

Система обнаружения газа на Arduino

Проект использует готовый скетч, который контролирует датчик газа MQ-2, управляет светодиодами и выводит сообщение на ЖК-дисплей. Система полностью совместима с Proteus и не требует подключения реального оборудования.

Назначение проекта

Цель проекта — показать, как Arduino может использоваться для мониторинга безопасности помещения и отображения состояния газового сенсора на ЖК-дисплее и светодиодах. Основные функции включают:

  • чтение данных с газового сенсора;
  • отображение состояния на ЖК-дисплее 16×2;
  • управление индикаторами состояния — красный и зелёный светодиоды;
  • вывод сообщений в монитор порта Serial для отладки.

Такой подход применяется в системах безопасности, умных домах и промышленных объектах, где требуется своевременное информирование о потенциальной опасности.

Используемые компоненты

  • Arduino UNO;
  • ЖК-дисплей 16×2;
  • Газовый датчик (модуль MQ-2, MQ-5 или аналогичный);
  • Светодиоды: красный и зелёный;
  • Proteus 8 или 9 с поддержкой Arduino.

Принцип работы системы

Проект контролирует газовый датчик MQ-2, подключённый к Arduino через цифровой вход. Когда уровень газа превышает допустимый порог, Arduino включает красный светодиод и выводит на дисплей сообщение тревоги. Если уровень газа в норме, включается зелёный светодиод, а на дисплее отображается сообщение о безопасном состоянии.

Система работает циклически с интервалом в одну секунду, обеспечивая непрерывный мониторинг помещения. Использование ЖК-дисплея позволяет отображать текстовые сообщения и мгновенно информировать пользователя о состоянии.

Особенности кода Arduino

Скетч использует библиотеку LiquidCrystal для работы с ЖК-дисплеем. Основные функции кода:

  • lcd.setCursor() — установка позиции курсора на дисплее;
  • lcd.print() — вывод текста на экран;
  • digitalWrite() — управление светодиодами;
  • Serial.println() — вывод сообщений в Serial Monitor;
  • lcd.clear() — очистка дисплея перед новым обновлением текста.

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

Arduino-скетч

#include <LiquidCrystal.h>
// LCD pins declarations
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Pins in use
int Gas = 9;
int redLed = 7;   // присутствие газа
int greenLed = 6; // нормальный режим, газа нет
int alarm = 8;    // сигнализация при газе

void setup() {
  Serial.begin(9600);

  // Настройка пинов
  pinMode(Gas, INPUT);
  pinMode(redLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(alarm, OUTPUT);

  // Инициализация LCD
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Gas Sensor Ready");
  delay(1500);
  lcd.clear();
}

void loop() {
  bool gasDetected = digitalRead(Gas) == HIGH;

  if (gasDetected) {
    lcd.setCursor(0, 0);
    lcd.print("ALERT: Gas!");
    lcd.setCursor(0, 1);
    lcd.print("Evacuate Area!");

    Serial.println("ALERT: Gas detected! Take precautions!");

    digitalWrite(redLed, HIGH);
    digitalWrite(greenLed, LOW);
    digitalWrite(alarm, HIGH);
  } else {
    lcd.setCursor(0, 0);
    lcd.print("Gas level normal");
    lcd.setCursor(0, 1);
    lcd.print("Safe to breathe");

    Serial.println("Gas level normal. Environment safe.");

    digitalWrite(redLed, LOW);
    digitalWrite(greenLed, HIGH);
    digitalWrite(alarm, LOW);
  }

  delay(1000); // обновляем раз в секунду
  lcd.clear();
}

Работа проекта в Proteus

В симуляции Proteus газовый датчик и светодиоды отображают текущее состояние системы. Сообщения на ЖК-дисплее меняются в зависимости от показаний датчика.

Arduino к компьютеру подключать не требуется — вся работа выполняется внутри симулятора.

Запуск проекта в Proteus

  • распакуйте архив с проектом, в котором есть две папки:
    • Gas Sensor Library for Proteus — содержит необходимые библиотеки;
    • GAS-Sensor-MQ-2 — содержит рабочий файл проекта.
  • Откройте запускающий файл Gas-Sensor MQ-2.pdsprj, который находится в папке GAS-Sensor-MQ-2;
  • Проверьте путь к файлу .hex в свойствах Arduino;
  • Нажмите Run Simulation;
  • Наблюдайте за показаниями датчика, светодиодами и сообщениями на ЖК-дисплее.

Если что-то не работает

Если возникают проблемы с запуском проекта или непонятен принцип работы, рекомендуется пройти базовый урок по Proteus.

Подробно разобран первый проект в Proteus:
Первый проект в Proteus — мигание светодиода

📁 Скачать примеры