Arduino로 LED 대기 오염 측정기 회로를 만드는 방법

문제를 제거하기 위해 도구를 사용해보십시오





이 프로젝트에서는 MQ-135 센서와 arduino를 사용하여 대기 오염 측정기를 구축 할 것입니다. 대기 오염 수준은 일련의 12 개 LED로 표시됩니다. 발광하는 LED 수가 많을수록 대기 오염 함량이 높아지고 그 반대의 경우도 마찬가지입니다.



개요

이 프로젝트는 병원과 같이 공기질이 중요한 역할을하는 장소에서 매우 유용하다는 것을 증명할 수 있습니다. 또는 이것은 집을위한 또 다른 취미 프로젝트가 될 수도 있습니다.

이 프로젝트의 정확성을 기대할 수는 없지만 주변 환경의 오염 수준에 대해 합리적으로 좋은 아이디어를 제공 할 수 있습니다.



대기 오염은 이산화탄소, 일산화탄소, 부탄, 메탄 및 일부 무취 가스 일 수 있습니다. 센서는 가스를 구분할 수 없지만 이동 중에 공기에서 모든 가스 샘플을 가져옵니다.

대도시에 살고 있고 아파트가 바쁜 도로 근처에있는 경우이 프로젝트는 대기 분위기에 대한 대략적인 통찰력을 제공하는 데 유용 할 수 있습니다.

대부분의 사람들은 거주지의 대기 질 측정을 무시합니다. 인도에서만 매년 실내 및 실외 오염을 포함하여 159 만 명의 사망자가 발생하는 것으로 추정됩니다.

대다수의 사람들은 시장과 전자 상거래 사이트에서 쉽게 구할 수있는 공기 청정기를 모르고 있으며 스마트 폰보다 더 비싸지 않습니다.

좋습니다. 이제 경고를 따로하겠습니다. 회로에 대해 자세히 알아 보겠습니다.

디자인 :

LED가 직사각형 모양이고 위의 레이아웃 디자인이 사용되면 대기 오염 측정기가 더 흥미로울 것입니다. 그러나 상상력을 사용하여이 프로젝트를 더 흥미롭게 만들 수 있습니다.

LED 대기 오염 측정기 회로를 만드는 방법

위의 회로도는 센서를 arduino에 연결하는 방법을 보여줍니다. 센서의 히터 코일에 외부 전원 공급이 구현됩니다. 센서의 측면을 교체 할 수 있습니다.

arduino의 핀 A0은 공기 중 오염 물질의 변화로 인한 센서의 전압 변화를 감지합니다.

센서는 (오염에 대한 응답으로) 가변 저항으로 작동하고 10K는 고정 저항으로, 전압 분배기 역할을합니다. arduino에는 아날로그 기능인 대기 오염 수준에 따라 LED가 개별적으로 빛나도록하는 10 비트 ADC가 있습니다.

Arduino를 사용한 LED 대기 오염 측정기 회로

아날로그 전압 레벨이 프로그램에서 미리 결정된 특정 임계 값 레벨을 초과하면 LED가 켜집니다.

연속적인 LED는 더 높은 임계 값 레벨로 미리 결정됩니다.

LED 테스트로 시작하여 각 LED가 약간의 지연과 함께 순차적으로 켜지고 사용자는 연결되지 않은 LED 및 순차적으로 정렬되지 않은 LED와 같은 LED 연결의 오류를 확인할 수 있습니다. 프로그램이 5 분 동안 중지되고 모든 LED가 동시에 켜집니다.

이것은 센서가 예열되는 데 충분한 시간을 줄 것입니다. 직렬 모니터에서 arduino가 수행 한 일부 동작을 볼 수 있습니다. 센서가 최적의 온도에 도달하면 arduino는 일부 판독 값을 직렬 모니터로 보냅니다. 판독 값에 따라 LED가 켜지고 꺼집니다. 직렬 모니터에 값이 인쇄 될수록 더 많은 수의 LED가 켜집니다.

직렬 모니터는이 프로젝트에서 필수는 아니지만 테스트 목적으로 편리한 도구가 될 수 있습니다.

프로토 타입 이미지 :

Arduino를 사용한 테스트 된 프로토 타입 LED 대기 오염 측정기 회로

테스트 방법 :

• arduino 및 외부 전원 공급 장치를 켭니다. LED 테스트가 시작되고 한 번만 실행됩니다.
• 프로그램은 센서가 가열 될 때까지 5 분 동안 기다립니다.
• 판독 값이 직렬 모니터에 표시되면 시가 라이터를 가져와 불에 타지 않고 가스를 누출하십시오.
• 곧 판독 값이 최고가되고 더 많은 수의 LED가 켜지 기 시작합니다.
• 센서에서 가스 흐름을 중지하면 LED가 점차적으로 꺼집니다. 이제 LED 대기 오염 측정기가 방을 제공 할 준비가되었습니다.

프로그램 코드 :

//--------------Program developed by R.Girish---------------//
int input=A0
int a=2
int b=3
int c=4
int d=5
int e=6
int f=7
int g=8
int h=9
int i=10
int j=11
int k=12
int l=13
int T=750
unsigned long X = 1000L
unsigned long Y = X * 60
unsigned long Z = Y * 5
void setup()
{
Serial.begin(9600)
Serial.println('Sensor is getting ready, please wait for 5 min.')
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
pinMode(g,OUTPUT)
pinMode(h,OUTPUT)
pinMode(i,OUTPUT)
pinMode(j,OUTPUT)
pinMode(k,OUTPUT)
pinMode(l,OUTPUT)
pinMode(a,HIGH)
delay(T)
digitalWrite(a,HIGH)
delay(T)
digitalWrite(b,HIGH)
delay(T)
digitalWrite(c,HIGH)
delay(T)
digitalWrite(d,HIGH)
delay(T)
digitalWrite(e,HIGH)
delay(T)
digitalWrite(f,HIGH)
delay(T)
digitalWrite(g,HIGH)
delay(T)
digitalWrite(h,HIGH)
delay(T)
digitalWrite(i,HIGH)
delay(T)
digitalWrite(j,HIGH)
delay(T)
digitalWrite(k,HIGH)
delay(T)
digitalWrite(l,HIGH)
delay(T)
delay(Z)
}
void loop()
{
Serial.println(analogRead(input))
if(analogRead(input)>=85) digitalWrite(a,1)
if(analogRead(input)>=170) digitalWrite(b,1)
if(analogRead(input)>=255) digitalWrite(c,1)
if(analogRead(input)>=340) digitalWrite(d,1)
if(analogRead(input)>=425) digitalWrite(e,1)
if(analogRead(input)>=510) digitalWrite(f,1)
if(analogRead(input)>=595) digitalWrite(g,1)
if(analogRead(input)>=680) digitalWrite(h,1)
if(analogRead(input)>=765) digitalWrite(i,1)
if(analogRead(input)>=850) digitalWrite(j,1)
if(analogRead(input)>=935) digitalWrite(k,1)
if(analogRead(input)>=1000) digitalWrite(l,1)
delay(1000)
if(analogRead(input)<=85) digitalWrite(a,0)
if(analogRead(input)<=170) digitalWrite(b,0)
if(analogRead(input)<=255) digitalWrite(c,0)
if(analogRead(input)<=340) digitalWrite(d,0)
if(analogRead(input)<=425) digitalWrite(e,0)
if(analogRead(input)<=510) digitalWrite(f,0)
if(analogRead(input)<=595) digitalWrite(g,0)
if(analogRead(input)<=680) digitalWrite(h,0)
if(analogRead(input)<=765) digitalWrite(i,0)
if(analogRead(input)<=850) digitalWrite(j,0)
if(analogRead(input)<=935) digitalWrite(k,0)
if(analogRead(input)<=1000) digitalWrite(l,0)
}
//--------------Program developed by R.Girish---------------//




이전 : MQ-135를 사용한 LPG 누출 SMS 경고 – 휴대폰에서 경고 메시지 받기 Next : LM317 SMPS (가변 스위치 모드 전원 공급 장치)