Как сделать датчик обнаружения дыма с помощью Arduino?
Arduino — это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. Платы Arduino могут считывать цифровые и аналоговые входы с датчиков, а датчик дыма MQ2 чувствителен к дымовым газам, таким как сжиженный нефтяной газ, бутан, пропан, метан, спирт, водород.
В этой статье мы узнаем, как мы можем сделать сигнализацию дымового извещателя с помощью Arduino. Когда датчик газа MQ2 обнаружит высокий уровень дыма, загорится красный светодиод и включится зуммер.
Требуемые компоненты
- Arduino UNO -> Плата микроконтроллера на базе ATmega328P
- Датчик газа MQ2 -> который определяет уровень дыма
- Зуммер -> Устройство, которое производит звук или тревогу
- 5V LED -> Светодиод, который излучает свет
- Резистор 100 Ом -> для сопротивления току
- Jumper Wires -> Для соединения элементов схемы
Принципиальная электрическая схема
В этой схеме датчик газа MQ2 определяет уровень задымления в помещении и отправляет аналоговое значение на Arduino. который сравнивает значение со стандартным значением, если значение выше, Arduino отправляет сигнал на светодиод, и загорается красный свет, и включается зуммер. в противном случае будет гореть зеленый светодиод.
Соединение контактов
- Цифровой контакт Arduino 0 соединен с контактом (+ ve) зуммера.
- Цифровой контакт 1 Arduino подключен к контакту (+ ve) светодиода 1 (зеленый).
- Arduino цифровой контакт 2 подключен к контакту (+ve) LED2 (красный)
- Аналоговый контакт Arduino A0 подключен к контакту A0 датчика газа MQ2.
- Контакт питания Arduino 5v подключен к Контакт VCC датчика газа
- Контакт питания Arduino GND соединяется с контактом GND датчика газа
- Контакт питания Arduino GND соединен с контактами (-ve) светодиодов с сопротивлением.
- Контакт питания Arduino GND соединен с контактами GND зуммера с сопротивлением.
Код Ардуино
//stored pins in variables
#define gasSensor A0
#define buzzer 0
#define ledGreen 1
#define ledRed 2
#define HIGH 600
void setup() {
//Initialising all pins
pinMode(gasSensor, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledRed, OUTPUT);
}
void loop() {
//Read data from the sensor
int gas_value = analogRead(gasSensor);
//check data from sensor if there is smoke, if will execute otherwise else will execute
if(gas_value > HIGH)
{
tone(buzzer,1000,500);
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen,LOW);
}
else
{
noTone(buzzer);
digitalWrite(ledGreen,HIGH);
digitalWrite(ledRed, LOW);
}
delay(200);
}Симулятор: