Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster

Komponen dan Perlengkapan

Arduino Yun1
Sharp Plasmacluster Air Purifier1
GP2Y1010AU0F Compact Optical Dust Sensor1
Relay Module1
Breadboard (generik)1
Kapasitor 220 µF1
Resistor 150Ω1
Kabel AC 1 meter1
Kabel Jumper Male/Male1
Kabel Jumper Male/Female1
Terminal Block1
Kawat Solder1

Alat dan Mesin yang Diperlukan

Multimeter
Pistol Solder
Wire Stripper

Aplikasi dan Layanan Online

Amazon Web Services AWS IoT
Arduino IDE
Terminal
Mosquitto MQTT

Tentang Proyek Ini

Kehadiran debu di rumah, kantor, dan lingkungan manusia lainnya tidak dapat dihindari. Faktanya, menurut Environmental Protection Agency, udara dalam ruangan dapat terpolusi 2 hingga 5 kali lebih dari udara luar. Polusi udara udara ini berkontribusi pada gangguan kecil seperti mata gatal, bersin, dan sakit kepala pada manusia. Lebih parah lagi, ini dapat menjadi faktor penyumbang utama alergi parah, asma yang mengancam nyawa.

Untuk mengatasi masalah ini, mesin pembersih udara yang bekerja akan mengatasi masalah ini. Tetapi, saya ingin memanfaatkan keuntungan IoT untuk membuat pembersih udara menjadi lebih cerdas. Alih-alih cara konvensional dengan menyalakan pembersih udara sepanjang hari, saya ingin menerapkan "otak - mikrokontroler" dan "sensor" untuk beroperasi hanya jika kehadiran debu mencapai tingkat kesadaran tertentu, hal ini dapat menghemat banyak listrik! Dan status operasional akan tersedia di "jendela terminal" saya di laptop atau perangkat klien "mengaktifkan MQTT" apa pun setiap kali saya bepergian ke mana saja di seluruh dunia.

Langkah 1: Kumpulkan Semua Komponen

Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster

Untuk melihat semua komponen, Anda dapat mengunduh Daftar Bahan (BOM) dari Dropbox saya.

Atau rujuk ke bagian komponen dan perlengkapan saya.

Langkah 2: Pastikan Semua Potongan Membuat Kesan

Hal pertama yang saya lakukan setelah mendapatkan semua komponen, saya mengujinya segera untuk memastikan fungsionalitas komponen saya berperilaku seperti yang seharusnya.

Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster

Untuk pengaturan GP2Y1010AU0F Sharp Dust Sensor, Anda dapat merujuk ke tutorial blog oleh Cyrille Médard de Chardon dan Christophe Trefois. Tutorial ini mencakup yang terbaik dari kabel-koneksi hingga pemrograman.

Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster

Untuk pengaturan Relay Module, saya hanya menggunakan status toggle (nyala dan mati) sederhana untuk menguji koneksi untuk fungsi relai.

Langkah 3: Pengkodean

Pengkodeannya sederhana. Tantangannya di sini adalah untuk menggunakan AWS IoT untuk berkomunikasi data dari sensor ke perangkat mana pun yang mengaktifkan MQTT (seperti kasus saya, saya menggunakan laptop). Silakan rujuk ke bagian pengkodean. Menarik sekali, saya juga membuat tutorial video untuk AWS CLI IoT, jadi siapa pun dapat mempelajarinya.

(Catatan: pada saat pembuatan video ini hanya mencakup versi beta)

Langkah 4: Pengkabelan

Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster

Langkah 5: Dapatkan Hasil

Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster
Sistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster

Demonstrasi Video

Perbaikan Masa Depan

Saya tahu masih banyak perbaikan yang dapat dilakukan untuk proyek ini, terutama "Proyek IoT". Tetapi karena pekerjaan saya selama siang hari, saya hanya dapat menggunakan sebagian waktu luang saya untuk pengembangan proyek ini. Namun, aplikasi "cara pemantauan data secara real-time" (petunjuk: NodeJS) memikat saya. Dan akan ditambahkan sebagai daftar keinginan (atau daftar tugas) untuk proyek ini di masa depan yang akan datang. Tetap menyimak!

Kesimpulan

Ada banyak kesenangan saat melakukan proyek ini, terutama dengan "IoT - Internet of Things". Kemungkinan dan perbaikan masih luas dalam IoT. Juga, saya menikmati belajar cara menggunakan layanan IoT yang disediakan oleh AWS, karena sangat nyaman digunakan (setup sederhana dengan dasbor AWS IoT) dan mengamankan setiap koneksi dengan enkripsi.

Masalah | Pertanyaan | Komentar | Saran

Mungkin, ada beberapa masalah teknis dalam proyek ini yang tidak saya ketahui, Anda dapat meninggalkan komentar atau mengirim pesan pribadi kepada saya, umpan balik Anda sangat dihargai!

Jika ada pertanyaan atau masalah dalam mereplikasi proyek ini, Anda dapat menghubungi saya atau meninggalkan komentar di bawah. Saya akan mencoba sebaik-baiknya untuk membantu Anda, lagi-lagi kami di sini untuk belajar perangkat keras bersama!

Semua macam komentar dan saran dipersilakan.

Kode

Simple-and-Smart-Air-Purifier-System.inoArduino
Kode Utama Arduino
/* Source Code for Simple and Smart Air Purifier System Written by Aaron Kow Licence: MIT Licence */ #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 result; void setup() { pinMode(ledPower, OUTPUT); pinMode(relayPin, OUTPUT); aws_iot.config(); } void loop() { // set dust density result result = dust_sensor.init(measurePin, ledPower); // AWS IoT MQTT for real-time data monitoring aws_iot.data(result); // if dust density more than 0.25 mg/m3, turn on air filter if (result > 0.25){ digitalWrite(relayPin, HIGH); } else { digitalWrite(relayPin, LOW); } delay(1000); } 
iot_config.hC/C++
File Header untuk Konfigurasi IoT Saya
/* Source Code for Simple and Smart Air Purifier System Written by Aaron Kow Licence: MIT Licence */ #ifndef iotconfig_h #define iotconfig_h #include <Arduino.h> #include <aws_iot_mqtt.h> #include <aws_iot_version.h> #include "aws_iot_config.h" class aws_iot_setup { public: void config(void); void test(void); void data(float); }; #endif 
iot_config.cppC/C++
File Konfigurasi IoT Saya
/* * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. * ... */ /* * This Source Code is Modified for Simple and Smart Air Purifier System * Written by Aaron Kow */ #include "iot_config.h" aws_iot_mqtt_client myClient; char msg[32]; int cnt = 0; int rc = -100; void msg_callback(char* src, int len) { Serial.println("CALLBACK:"); int i; for(i = 0; i < len; i++) { Serial.print(src[i]); } Serial.println(""); } void aws_iot_setup::config(void){ Serial.begin(115200); char curr_version[80]; sprintf(curr_version, "AWS IoT SDK Version(dev) %d.%d.%d-%s\n", VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_TAG); Serial.println(curr_version); if((rc = myClient.setup(AWS_IOT_CLIENT_ID)) != 0) { Serial.println("Setup failed!"); Serial.println(rc); } if((rc = myClient.config(AWS_IOT_MQTT_HOST, AWS_IOT_MQTT_PORT, AWS_IOT_ROOT_CA_PATH, AWS_IOT_PRIVATE_KEY_PATH, AWS_IOT_CERTIFICATE_PATH)) != 0) { Serial.println("Config failed!"); Serial.println(rc); } if((rc = myClient.connect()) != 0) { Serial.println("Connect failed!"); Serial.println(rc); } if((rc = myClient.subscribe("dustlevel", 1, msg_callback)) != 0) { Serial.println("Subscribe failed!"); Serial.println(rc); } delay(2000); } void aws_iot_setup::test(void){ char msg[32]; sprintf(msg, "new message %d", cnt); if((rc = myClient.publish("dustlevel", msg, strlen(msg), 1, false)) != 0) { Serial.println("Publish failed!"); Serial.println(rc); } if((rc = myClient.yield()) != 0) { Serial.println("Yield failed!"); Serial.println(rc); } sprintf(msg, "loop %d done", cnt++); Serial.println(msg); delay(1000); } void aws_iot_setup::data(float data){ char msg[32], mqtt[32]; dtostrf(data , 3, 2, msg); if(atof(msg) > 0.25){ sprintf(mqtt, "Dust density: %s mg/m3, air filter is ON", msg); } else { sprintf(mqtt, "Dust density: %s mg/m3, air filter is OFF", msg); } if((rc = myClient.publish("dustlevel", mqtt, strlen(mqtt), 1, false)) != 0) { Serial.println("Publish failed!"); Serial.println(rc); } Serial.print("Dust density: "); Serial.print(data); Serial.println(" mg/m3"); } 
dust_config.hC/C++
File Header untuk Konfigurasi Sensor Debu
/* Source Code for Simple and Smart Air Purifier System Written by Aaron Kow Licence: MIT Licence */ #ifndef dustconfig_h #define dustconfig_h #include <Arduino.h> class dust_setup { public: float init(int, int); }; #endif 
dust_config.cppC/C++
Kode Sumber Konfigurasi Sensor Debu
/* Standalone Sketch to use with a Arduino Fio and a Sharp Optical Dust Sensor GP2Y1010AU0F ... */ /* * This Source Code is Modified for Simple and Smart Air Purifier System * Written by 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); delayMicroseconds(samplingTime); voMeasured = analogRead(measurePin); delayMicroseconds(deltaTime); digitalWrite(ledPower,HIGH); delayMicroseconds(sleepTime); calcVoltage = voMeasured * (5.0 / 1024); dustDensity = 0.17 * calcVoltage - 0.1; return dustDensity; } 
aws_iot_config.hC/C++
File Header untuk Konfigurasi AWS IoT
/* * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. ... */ #ifndef config_usr_h #define config_usr_h // Copy and paste your configuration into this file //=============================================================== #define AWS_IOT_MQTT_HOST "<your-endpoint>" #define AWS_IOT_MQTT_PORT 8883 #define AWS_IOT_CLIENT_ID "<your-client-ID>" #define AWS_IOT_MY_THING_NAME "<your-thing-name>" #define AWS_IOT_ROOT_CA_FILENAME "<your-rootCA-filename>" #define AWS_IOT_CERTIFICATE_FILENAME "<your-certificate-filename>" #define AWS_IOT_PRIVATE_KEY_FILENAME "<your-private-key-filename>" //=============================================================== // SDK config, DO NOT modify it #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_PATH_PREFIX AWS_IOT_PRIVATE_KEY_FILENAME #endif 
LICENSEMarkdown
MIT Licence
The MIT License (MIT) ... 
Source Code for Simple and Smart Air Purifier System
Repositori GitHub untuk Simple and Smart Air Purifier Systemhttps://github.com/AaronKow/Simple-and-Smart-Air-Purifier-System

Skematik

Saya menggunakan schematic.com untuk menggambar skematik iniSistem Pembersih Udara Cerdas Berbasis Arduino Yun dengan Sharp Plasmacluster

Proses manufaktur

  1. Penapis Udara: Desain, Sejarah, dan Tren Masa Depan
  2. Dasar-dasar Sistem Operasi: Komponen Utama dan Fungsi
  3. Sistem Sensor Suhu Multi-Posisi untuk Integrasi Rumah Cerdas
  4. Sistem Pemantau Kualitas Udara & Sampah Indoor Cerdas
  5. MotionSense: Deteksi Intrusi Cerdas dengan Arduino & ESP8266
  6. Detektor Termal CoroFence: Sensor PIR Canggih & Integrasi IoT
  7. Panduan Pengaturan dan Operasi Mudah untuk Sistem Kontrol SYNTEC
  8. Komponen Utama Sistem Udara Terkompresi yang Terpercaya
  9. Sistem Suspensi Udara: Gambaran Umum, Komponen, dan Manfaat untuk Kendaraan Beban Berat
  10. Panduan Langkah demi Langkah untuk Menghadapi Musim Dingin pada Sistem Udara dan Gas Terkompresi Anda