Arduino:Примеры/Гайд по использованию датчика газа/дыма MQ-2 с Arduino: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Гайд по использованию датчика газа/дыма MQ-2 с Arduino<ref>[http://randomnerdtutorials.com/guide-for-mq-2-gas-smoke-sensor-with-arduino/ randomnerdtutorials.com - Guide for MQ-2 Gas/Smoke Sensor with Arduino]</ref>= | =Гайд по использованию датчика газа/дыма MQ-2 с Arduino<ref>[http://randomnerdtutorials.com/guide-for-mq-2-gas-smoke-sensor-with-arduino/ randomnerdtutorials.com - Guide for MQ-2 Gas/Smoke Sensor with Arduino]</ref>= | ||
Строка 72: | Строка 72: | ||
===Код=== | ===Код=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
/******* | /******* | ||
Текущая версия от 12:35, 20 мая 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Гайд по использованию датчика газа/дыма MQ-2 с Arduino[1]
Это руководство объясняет, как сконструировать датчик, который будет пищать при обнаружении огнеопасного газа или дыма.
Описание датчика MQ-2
То, как выглядит датчик дыма MQ-2, можно наблюдать на картинке ниже:
![](/ruwiki/images/5/58/Smoke-sensor-r.jpg)
Датчик MQ-2 чувствителен к дыму и нижеследующим воспламеняющимся газам:
- Сжиженному природному газу
- Бутану
- Пропану
- Метану
- Спирту
- Водороду
Сопротивление датчика MQ-2 меняется в зависимости от типа газа. Чувствительность датчика настраивается при помощи встроенного потенциометра.
![](/ruwiki/images/a/ad/Smoke-sensor-label.jpg)
Как это работает?
Напряжение, выдаваемое датчиком, меняется в зависимости от уровня дыма/газа в окружающей атмосфере. Другими словами, выходное напряжение и концентрация дыма/газа пропорциональны друг другу:
- Чем выше концентрация газа, тем выше выходное напряжение
- Чем ниже концентрация газа, тем ниже выходное напряжение
![](/ruwiki/images/5/5a/Smokepicture.jpg)
На выходе может быть либо аналоговый сигнал (A0), который можно принять входным аналоговым контактом Arduino, или цифровой сигнал (D0), который можно принять входным цифровым контактом Arduino.
Подключение контактов
Датчик MQ-2 оснащен 4 контактами:
- Контакт A0 на MQ-2 нужно подключить к аналоговому контакту на Arduino
- Контакт D0 – к цифровому контакту
- Контакт GND – к контакту GND
- Контакт VCC – к контакту 5V
Скетч: Использование датчика газа вместе с Arduino
Мы сделаем проект, в котором Arduino будет считывать аналоговый сигнал, идущий от датчика, а затем, если концентрация газа достигнет определенного предела, бибикнет зуммером и включит красный светодиод. Однако если концентрация газа будет ниже заданного предела, у Arduino будет гореть зеленый светодиод.
Необходимые компоненты
Для этого проекта нам понадобятся следующие компоненты:
- Один датчик газа MQ-2 (см. на eBay)
- Одна плата Arduino (см. на eBay)
- Одна макетная плата (см. на eBay)
- Один красный светодиод
- Один зеленый светодиод
- Один зуммер
- Три резистора на 220 Ом
- Провода-перемычки
![](/ruwiki/images/0/0e/Guide_for_MQ-2_GasSmoke_Sensor_with_Arduino_1.jpg)
Схема
При подключении компонентов пользуйтесь следующей схемой:
![](/ruwiki/images/9/91/Guide_for_MQ-2_GasSmoke_Sensor_with_Arduino_2.png)
Код
/*******
Подробнее о проекте на:
http://randomnerdtutorials.com/
*******/
int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = A5;
// здесь задаем пороговое значение:
int sensorThres = 400;
void setup() {
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(9600);
}
void loop() {
int analogSensor = analogRead(smokeA0);
Serial.print("Pin A0: "); // "Контакт A0: "
Serial.println(analogSensor);
// проверяем, не превышено ли пороговое значение:
if (analogSensor > sensorThres)
{
digitalWrite(redLed, HIGH);
digitalWrite(greenLed, LOW);
tone(buzzer, 1000, 200);
}
else
{
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH);
noTone(buzzer);
}
delay(100);
}
Демонстрация
Вот так проект выглядит вживую:
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino