산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

DSM501A 센서가 탑재된 Arduino 공기질 모니터

구성품 및 소모품

Arduino Nano R3
× 1
DSM501A 먼지 센서 모듈
× 1
영숫자 LCD, 16 x 2
× 1
팬 키트 40mm
× 1
LED(일반)
× 5
저항 221옴
× 1
단일 회전 전위차계 - 10k 옴
× 1

필요한 도구 및 기계

납땜 인두(일반)

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

대기 질 모니터링은 80년대에 시작된 잘 알려져 있고 확립된 과학입니다. 그 당시에는 기술이 상당히 제한적이었고, 복잡한 대기 오염을 정량화하는 데 사용되는 솔루션이 번거롭고 비용이 많이 들었습니다.

다행스럽게도 요즘에는 최신 기술과 최신 기술을 통해 대기 질 모니터링에 사용되는 솔루션이 더 정확할 뿐만 아니라 측정 속도도 빨라지고 있습니다. 장치는 점점 작아지고 있으며 그 어느 때보다 비용이 훨씬 저렴합니다. 제시된 장치는 시장에서 가장 저렴한 제품 중 하나이며 AliExpress에서 몇 달러에 구입할 수 있는 Samyoung "DSM501A" 먼지 센서를 사용합니다. 이 센서는 PM2.5 및 PM10 입자를 감지할 수 있습니다.

아래 그림에서 핀의 레이아웃을 볼 수 있지만 와이어의 색상이 다를 수 있으므로 주의하지 마십시오.

회로는 매우 간단합니다.

센서의 Vout1(PM2.5)은 Arduino의 D2에, Vout2(PM10)는 D3, Vcc는 Arduino +5V, GND는 Arduino Gnd 핀에 연결됩니다. LED 다이오드는 코드에서 출력으로 정의된 Arduino의 아날로그 핀 A1 ~ A5에 연결됩니다. 61x2 문자의 LCD 디스플레이는 Hitachi HD44780과 호환됩니다. pcs/0.01cf 단위의 PM10 입자 농도와 5가지 공기질 상태를 보여줍니다.

- 깨끗한

- 좋다

- 허용

- 헤비

- 위험

PM10과 PM2.5의 농도는 arduino 직렬 모니터에서 모니터링할 수 있습니다. 오염 정도(PM10)에 따라 특정 색상의 해당 LED가 점등되어 빠르고 쉽게 결과를 판독할 수 있습니다. 코드 작성에 대한 경험이 많지 않으므로 코드를 개선할 수 있습니다. 센서 배출구에서 공기를 빼내는 팬을 설치하여 원하지 않는 피크 값 영역의 특성을 크게 향상시킬 수 있음을 강조하는 것이 매우 중요합니다. 전체 장치는 전기 설치를 위해 플라스틱 상자에 조립됩니다.

앞으로 더 저렴한 먼지 센서를 몇 개 더 테스트하여 다음 프로젝트 중 하나에서 결과를 찾을 수 있도록 할 계획입니다.

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 코드
  • 코드Arduino
     #include LiquidCrystal lcd(8, 9, 4, 5, 6, 7);int pin2 =3;int pin1 =2;unsigned long duration1;unsigned long duration2;unsigned long starttime;unsigned long sampletime_ms =3000;//샘플 1s;unsigned long lowpulseoccupancy1 =0;unsigned long lowpulseoccupancy2 =0;float ratio1 =0;float ratio2 =0;float 농도1 =0;float 농도2 =0;int wLed =A1;int gLed =A;int yLed =A3, int rLed =A4, int bLed =A5, 무효 설정() { Serial.begin(9600); 핀모드(2, 입력); 핀모드(3,입력); 핀모드(wLED, 출력); 핀모드(gLed, 출력); 핀모드(yLED, 출력); 핀모드(rLED, 출력); 핀모드(bLED, 출력); starttime =millis();//현재 시간을 가져옵니다. lcd.begin(16, 2);} 무효 루프() { duration1 =pulseIn(pin1, LOW); 지속 시간 2 =펄스 입력(핀 2, 낮음); 낮은 펄스 점유 1 =낮은 펄스 점유 1 + 지속 시간 1; 낮은 펄스 점유 2 =낮은 펄스 점유 2 + 지속 시간 2; if ((millis()-starttime)> sampletime_ms)//샘플 시간 ==30s { ratio1 =lowpulseoccupancy1/(sampletime_ms*10.0); // 정수 백분율 0=>100 농도1 =1.1*pow(ratio1,3)-3.8*pow(ratio1,2)+520*ratio1+0.62; // 사양서 곡선 사용 ratio2 =lowpulseoccupancy2/(sampletime_ms*10.0); // 정수 백분율 0=>100 농도2 =1.1*pow(ratio2,3)-3.8*pow(ratio2,2)+520*ratio2+0.62; // lcd.setCursor(0, 0); lcd.print("PM10"); lcd.setCursor(6, 0); lcd.print(농도1,3); Serial.print("농도1 ="); Serial.print(농도1); Serial.print(" pcs/0.01cf - "); Serial.print("농도2 ="); Serial.print(농도2); Serial.print(" pcs/0.01cf - "); if (concentration1 <1000) { lcd.setCursor (0, 1); (int i =0; i <16; ++i) { lcd.write(' '); } lcd.setCursor(4, 1); lcd.print("청소"); 디지털 쓰기(wLED, 높음); 디지털 쓰기(gLed, LOW); 디지털 쓰기(yLED, LOW); 디지털 쓰기(rLed, LOW); 디지털 쓰기(bLed, LOW); } if (농도1> 1000 &&농도1 <10000) { lcd.setCursor(0, 1); (int i =0; i <16; ++i) { lcd.write(' '); } lcd.setCursor(4, 1); lcd.print("좋습니다"); 디지털 쓰기(wLED, LOW); 디지털 쓰기(gLed, HIGH); 디지털 쓰기(yLED, LOW); 디지털 쓰기(rLed, LOW); 디지털 쓰기(bLed, LOW); } if (농도1> 10000 &&농도1 <20000) { lcd.setCursor(0, 1); (int i =0; i <16; ++i) { lcd.write(' '); } lcd.setCursor(4, 1); lcd.print("허용 가능"); 디지털 쓰기(wLED, LOW); 디지털 쓰기(gLed, LOW); 디지털 쓰기(yLed, HIGH); 디지털 쓰기(rLed, LOW); 디지털 쓰기(bLed, LOW); } if (농도1> 20000 &&농도1 <50000) { lcd.setCursor(0, 1); (int i =0; i <16; ++i) { lcd.write(' '); } lcd.setCursor(4, 1); lcd.print("무거운"); 디지털 쓰기(wLED, LOW); 디지털 쓰기(gLed, LOW); 디지털 쓰기(yLED, LOW); 디지털 쓰기(rLed, 높음); 디지털 쓰기(bLed, LOW); } if (concentration1> 50000 ) {lcd.setCursor (0, 1);for (int i =0; i <16; ++i){ lcd.write(' ');} lcd.setCursor(4, 1); lcd.print("위험"); 디지털 쓰기(wLED, LOW); 디지털 쓰기(gLed, LOW); 디지털 쓰기(yLED, LOW); 디지털 쓰기(rLed, LOW); 디지털 쓰기(bLED, 높음); } lowpulseoccupancy1 =0; 낮은 펄스 점유 2 =0; 시작 시간 =밀리초(); }}

    회로도


    제조공정

    1. OpenSensor의 공기질 측정 방법
    2. 헬륨 공기 품질 센서
    3. MPU-6050을 사용한 Arduino 자이로스코프 게임
    4. 다중 온도 센서
    5. K30 센서로 CO2 모니터링
    6. Arduino를 사용한 간단한 장애물 센서
    7. Arduino 또는 ESP8266이 있는 정전 용량 지문 센서
    8. Arduino, Yaler 및 IFTTT가 포함된 IoT 게이지
    9. Arduino 반발 전자기 부상
    10. 탄소 기반 공기질 센서