Как сделать датчик обнаружения дыма с помощью 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); }
Симулятор: