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

간단하고 스마트한 공기 청정기 시스템

구성품 및 소모품

Arduino 윤
× 1
샤프 플라즈마 클러스터 공기 청정기
× 1
GP2Y1010AU0F 소형 광학 먼지 센서
× 1
릴레이 모듈
× 1
브레드보드(일반)
× 1
커패시터 220μF
× 1
저항 150Ω
× 1
1미터 AC 케이블
× 1
남성/남성 점퍼 와이어
× 1
남성/여성 점퍼 와이어
× 1
터미널 블록
× 1
납땜 와이어
× 1

필요한 도구 및 기계

멀티미터
납땜 건
와이어 스트리퍼

앱 및 온라인 서비스

Amazon Web Services AWS IoT
Arduino IDE
터미널
모기 MQTT

이 프로젝트 정보

가정, 사무실 및 기타 인간 환경에 먼지가 존재하는 것은 불가피합니다. 실제로 환경보호청에 따르면 실내 공기는 실외 공기보다 2~5배 더 오염될 수 있습니다. 이러한 공기 중 오염은 사람에게 눈의 가려움, 재채기, 두통과 같은 경미한 성가심을 유발합니다. 최악의 경우 심각한 알레르기, 생명을 위협하는 천식의 주요 원인이 될 수 있습니다.


이 문제를 해결하기 위해 작동하는 공기 청정기 기계가이 문제를 잘 해결합니다. 하지만 IoT의 장점을 살려 공기청정기를 더 스마트하게 만들고 싶습니다. 하루 종일 공기 청정기를 켜는 기존 방식 대신 '두뇌-마이크로 컨트롤러'와 '센서'를 구현하여 먼지의 존재 여부가 일정 수준의 의식 수준에 도달해야 작동하므로 많은 전기를 절약할 수 있습니다. ! 그리고 전 세계를 여행할 때마다 노트북의 '터미널 창'이나 'MQTT 지원 클라이언트' 기기에서 작동 상태를 확인할 수 있습니다.


1단계:모든 구성요소 수집

모든 구성 요소를 보려면 내 Dropbox에서 BOM 목록을 다운로드할 수 있습니다.

또는 내 구성 요소 및 소모품 섹션을 참조하십시오.

2단계:모든 부분이 의미가 있는지 확인

가장 먼저 모든 구성 요소를 얻은 후 즉시 테스트하여 구성 요소의 기능이 제대로 작동하는지 확인합니다.

GP2Y1010AU0F 날카로운 먼지 센서 설정, Cyrille Médard de Chardon 및 Christophe Trefois의 이 블로그 가이드를 참조할 수 있습니다. 이 튜토리얼은 배선 연결부터 코딩까지 최고의 내용을 다룹니다.

릴레이 모듈용 설정, 릴레이 기능에 대한 연결을 테스트하기 위해 간단한 토글(켜기 및 끄기) 상태를 사용합니다.


3단계:코딩

코딩은 간단합니다. 여기서 문제는 AWS IoT를 사용하여 센서의 데이터를 MQTT 지원 장치로 전달하는 것입니다(예:랩톱을 사용하고 있음). 코딩 섹션을 참조하십시오. 흥미롭게도, 누구나 배울 수 있도록 AWS CLI IoT용 동영상 자습서도 만들었습니다.

(참고:이 비디오를 제작할 당시에는 베타 버전만 다룹니다.)


4단계:배선


5단계:결과 가져오기


비디오 데모


향후 개선

이 프로젝트, 특히 'IoT 프로젝트'에 대해 아직 개선할 점이 많다는 것을 알고 있습니다. 그러나 낮에는 일을 했기 때문에 이 프로젝트 개발에 여가 시간의 일부만 사용할 수 있었습니다. 그러나 "실시간 데이터 모니터링 방법" 앱(힌트:NodeJS)이 흥미롭습니다. 그리고 향후 이 프로젝트의 위시리스트(또는 할일)로 추가될 것입니다. 계속 지켜봐 주세요!


결론

특히 "IoT - 사물 인터넷"을 사용하여 이 프로젝트를 수행할 때 많은 재미가 있습니다. IoT의 가능성과 개선은 여전히 ​​무궁무진합니다. 또한 AWS에서 제공하는 IoT 서비스를 사용하는 방법을 배우는 것을 즐깁니다. 사용이 매우 편리하고(AWS IoT 대시보드로 간단한 설정) 모든 연결을 암호화로 보호하기 때문입니다.


문제 | 질문 | 댓글 | 제안

아마도 이 프로젝트에 제가 알지 못하는 기술적인 문제가 있을 것입니다. 댓글이나 개인 메시지를 남겨주세요. 귀하의 피드백은 매우 소중합니다!

이 프로젝트를 복제하는 데 질문이나 문제가 있으면 저에게 연락하거나 아래에 의견을 남길 수 있습니다. 나는 당신을 돕기 위해 최선을 다할 것입니다. 다시 우리는 함께 하드웨어를 배우기 위해 왔습니다!

모든 종류의 의견과 제안을 환영합니다.



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

코드

<울>
  • 간단하고 스마트한 공기 청정기 시스템.ino
  • iot_config.h
  • iot_config.cpp
  • dust_config.h
  • dust_config.cpp
  • aws_iot_config.h
  • 라이센스
  • 간단하고 스마트한 공기 청정기 시스템.inoArduino
    Arduino 메인 코드
    /* 간단하고 스마트한 공기 청정기 시스템용 소스 코드 작성:Aaron Kow 라이선스:MIT 라이선스*/#include "iot_config.h#include "dust_config.h"aws_iot_setup aws_iot;dust_setup dust_sensor;int measurePin =4; int ledPower =12; int relayPin =13; float 결과; 무효 setup() { pinMode(ledPower, OUTPUT); 핀모드(릴레이핀, 출력); aws_iot.config();}void loop() { // 먼지 밀도 설정 결과 result =Dust_sensor.init(measurePin, ledPower); // 실시간 데이터 모니터링을 위한 AWS IoT MQTT aws_iot.data(result); // 먼지 밀도가 0.25 mg/m3 이상인 경우 공기 필터를 켭니다. if (result> 0.25){ digitalWrite(relayPin, HIGH); } else { digitalWrite(릴레이핀, 낮음); } 지연(1000);}
    iot_config.hC/C++
    내 IoT 구성을 위한 헤더 파일
    /* 간단하고 스마트한 공기 청정기 시스템용 소스 코드 작성:Aaron Kow 라이선스:MIT 라이선스*/#ifndef iotconfig_h#define iotconfig_h#include #include  #include #include "aws_iot_config.h"class aws_iot_setup { public:void config(void); 무효 테스트(무효); 무효 데이터(float);};#endif
    iot_config.cppC/C++
    내 IoT 구성 파일
    /* * Copyright 2010-2015 Amazon.com, Inc. 또는 그 계열사. 판권 소유. * * Apache 라이선스 버전 2.0("라이선스")에 따라 라이선스가 부여됩니다. * 라이선스를 준수하지 않는 한 이 파일을 사용할 수 없습니다. * 라이선스 사본은 * * http://aws.amazon.com/apache2.0 * * 또는 이 파일과 함께 제공되는 "라이선스" 파일에 있습니다. 이 파일은 * 명시적이든 묵시적이든 어떤 종류의 보증이나 조건 없이 "있는 그대로" 배포됩니다. * 라이선스에 따른 권한 및 제한 사항을 관리하는 특정 언어는 라이선스를 참조하십시오. *//* * 이 소스 코드는 간단하고 스마트한 공기 청정기 시스템을 위해 수정되었습니다. * 작성자:Aaron Kow*/#include "iot_config.h"aws_iot_mqtt_client myClient; // iot_mqtt_clientchar msg[32] 초기화; // 읽기-쓰기 버퍼int cnt =0; // 루프 countsint rc =-100; // 반환 값 placeholdervoid msg_callback(char* src, int len) { Serial.println("CALLBACK:"); 정수 나; for(i =0; i  0.25){ sprintf(mqtt, "먼지 밀도:%s mg/m3, 공기 필터가 ON", msg); } else { sprintf(mqtt, "먼지 밀도:%s mg/m3, 공기 필터가 꺼져 있습니다", msg); } if((rc =myClient.publish("dustlevel", mqtt, strlen(mqtt), 1, false)) !=0) { Serial.println("게시 실패!"); 직렬.println(rc); // fail =-6 } // 디버그용 print Serial.print("Dust density:"); Serial.print(데이터); Serial.println(" mg/m3");}
    dust_config.hC/C++
    먼지 센서 구성용 헤더 파일 소스 코드
    /* 간단하고 스마트한 공기 청정기 시스템용 소스 코드 작성:Aaron Kow 라이선스:MIT 라이선스*/#ifndef dustconfig_h#define Dustconfig_h#include class Dust_setup { public:float 초기화(int, int);};#endif
    dust_config.cppC/C++
    먼지 센서 구성 소스 코드
    /* Arduino Fio 및 Sharp 광학 먼지 센서와 함께 사용할 독립 실행형 스케치 GP2Y1010AU0F 블로그:http://arduinodev.woofex.net/2012/12/01/standalone-sharp-dust-sensor / 코드:https://github.com/Trefex/arduino-airquality/ 핀 연결에 대해서는 블로그 또는 github 프로젝트 페이지를 확인하십시오. 작성자:Cyrille Mdard de Chardon(serialC), Christophe Trefois(Trefex) 변경 로그:2012-12월 -01:​​정리된 코드 이 작업은 Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License에 따라 사용이 허가되었습니다. 이 라이선스의 사본을 보려면 http://creativecommons.org/licenses/by-nc-sa/3.0/을 방문하거나 Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA로 편지를 보내십시오. .*//* * 이 소스 코드는 간단하고 스마트한 공기 청정기 시스템을 위해 수정되었습니다. * Aaron Kow 작성*/#include "dust_config.h" int samplingTime =280;int deltaTime =40;int sleepTime =9680; float voMeasured =0; float calcVoltage =0; float dustDensity =0; float Dust_setup::init(int measurePin, int ledPower){ digitalWrite(ledPower,LOW); // LED 전원을 켭니다. delayMicroseconds(samplingTime); voMeasured =analogRead(측정 핀); // 먼지 값을 읽습니다. delayMicroseconds(deltaTime); digitalWrite(ledPower,HIGH); // LED 끄기 delayMicroseconds(sleepTime); // 0 - 5V가 0 - 1023 정수 값에 매핑됨 // 전압 복구 calcVoltage =voMeasured * (5.0 / 1024); // http://www.howmuchsnow.com/arduino/airquality/에서 가져온 선형 방정식 // Chris Nafis (c) 2012 DustDensity =0.17 * calcVoltage - 0.1; 반환 먼지밀도; // 단위:mg/m3}
    aws_iot_config.hC/C++
    AWS IoT 구성용 헤더 파일
    /* * Copyright 2010-2015 Amazon.com, Inc. 또는 그 계열사. 판권 소유. * * Apache 라이선스 버전 2.0("라이선스")에 따라 라이선스가 부여됩니다. * 라이선스를 준수하지 않는 한 이 파일을 사용할 수 없습니다. * 라이선스 사본은 * * http://aws.amazon.com/apache2.0 * * 또는 이 파일과 함께 제공되는 "라이선스" 파일에 있습니다. 이 파일은 * 명시적이든 묵시적이든 어떤 종류의 보증이나 조건 없이 "있는 그대로" 배포됩니다. * 라이선스에 따른 권한 및 제한 사항을 관리하는 특정 언어는 라이선스를 참조하십시오. */#ifndef config_usr_h#define config_usr_h// 구성을 복사하여 이 파일에 붙여넣기//==============================================================#define AWS_IOT_MQTT_HOST "#define AWS_IOT_MQTT_PORT 8883 // port#define AWS_IOT_CLIENT_ID ""#define AWS_IOT_MY_THING_NAME ""#define AWS_IOT_ROOT_CA_FILENAME ""#define AWS_IOT_CERTIFICATE_FILENAME " 정의 AWS_IOT_PRIVATE_KEY_FILENAME "<개인 키 파일 이름>"//==============================================================// SDK 구성, 수정하지 마세요#define AWS_IOT_PATH_PREFIX "./certs/#define AWS_IOT_ROOT_CA_PATH AWS_IOT_PATH_PREFIX AWS_IOT_ROOT_CA_FILENAME // 구성 호출에서 사용#define AWS_IOT_CERTIFICATE_PATH AWS_IOT_PATH_PREFIX AWS_IOT_CERTIFICATE_FILENAME // 구성 호출에서 사용#define AWS_IOT_PRIVATE_KEY_PATH AWS_IOT_PRIVATE_KEY_PATH AWS_IOT_PATH_PREFIX AWS_IOT_PATH_PREFIX AWS_IOT_PRIVATE 호출에서 사용 // 
    라이센스마크다운
    MIT 라이선스
    MIT 라이선스(MIT)저작권(c) 2015 AaronKow이 소프트웨어 및 관련 문서 파일("소프트웨어")의 사본을 얻는 모든 사람에게 제한 없이 소프트웨어를 취급할 수 있는 권한이 무료로 부여됩니다. , 다음 조건에 따라 소프트웨어의 사용, 복사, 수정, 병합, 출판, 배포, 서브라이센스 및/또는 사본 판매 권리를 포함하되 이에 국한되지 않고 소프트웨어가 제공되는 사람에게 그렇게 하도록 허용합니다. 위의 저작권 통지 및 이 허가 통지는 소프트웨어의 모든 사본 또는 상당한 부분에 포함됩니다. 소프트웨어는 상품성, 특정 목적에의 적합성에 대한 보증을 포함하되 이에 국한되지 않는 어떠한 종류의 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 그리고 비침해. 어떠한 경우에도 저자 또는 저작권 소유자는 계약, 불법 행위 또는 기타 행위에 관계없이 소프트웨어 또는 소프트웨어 사용 또는 기타 거래로 인해 또는 이와 관련하여 발생하는 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다. /사전> 
    간단하고 스마트한 공기 청정기 시스템용 소스 코드
    심플하고 스마트한 공기청정기 시스템용 GitHub 저장소https://github.com/AaronKow/Simple-and-Smart-Air-Purifier-System

    회로도

    나는 schema.com을 사용하여 이 회로도를 그립니다.

    제조공정

    1. 공기 청정기
    2. 운영 체제 및 구성 요소란
    3. 다중 온도 센서
    4. 실내 공기질 및 쓰레기 모니터링 시스템
    5. 모션센스
    6. CoroFence - 열 감지기🖖
    7. SYNTEC 제어 시스템의 간단한 연결 및 작동
    8. 압축 공기 시스템의 구성 요소는 무엇입니까?
    9. 에어 서스펜션 시스템의 이해
    10. 압축 공기 및 가스 시스템의 방한 처리 방법