Tentang proyek ini
AirOwl adalah perangkat pemantauan kualitas udara waktu nyata. Ini digunakan untuk memantau kualitas udara dan mengambil data dari sensor dan memberikan output pada aplikasi Blynk menggunakan BLE dari Arduino/Genuino 101. Sebuah proyek yang dapat membantu kita mengetahui Apa yang Kita Bernapas!
Aktivitas manusia mempengaruhi Lingkungan. Jadi kami memutuskan untuk membuat perangkat yang membantu untuk mengetahui lingkungan sekitar dan mengambil langkah-langkah yang sesuai dengan itu.
Gambar di bawah ini adalah gambar AirOwl yang berjalan di arduino 101.
Kualitas udara dapat diketahui melalui 3 faktor:-
1) Aplikasi Blynk(BLE)
2) Warna mata Airowl
Jika warna mata adalah Hijau, Anda berada di lingkungan yang lebih aman.
jika warna mata biru, perlu berhati-hati.
jika warna mata merah, ada bahaya.
3) Monitor Serial
Untuk skema dan desain Airowl silahkan kunjungi:-
https://github.com/anithp/AirOwl_Genuino101
Setelah melalui skema rangkaian connect.
Diagram dasar untuk proyek ini ditunjukkan di bawah ini.
Lembar data sensor debu diberikan di bawah ini untuk informasi lebih lanjut tentang sensor:
https://goo.gl/17Vgeg
Sekarang mari kita mulai membuat sesuatu:-
Setelah membuat koneksi dari skema, unggah kode. (Dengan asumsi Anda telah menginstal pustaka yang diperlukan.)
Untuk informasi lebih lanjut, lihat:- http://docs.blynk.cc/
Sekarang mari kita siapkan blynk:
Instal blynk pertama dari playstore/appstore
Playstore - https://play.google.com/store/apps/details?id=cc.blynk&hl=id
Appstore - https://itunes.apple.com/us/app/blynk-iot-for-arduino-rpi-particle-esp8266/id808760481?mt=8
Setelah menginstal, buat akun.
Pertama Buat Proyek Baru di Blynk
Kemudian Pilih Papan dan beri nama proyek
Setelah memilih papan, klik buat.
Setelah Anda memilih buat, itu akan mengirim kunci otentikasi ke akun Anda yang terdaftar. Dan Anda juga dapat mengirim ulang email dari pengaturan.
Sekarang sebuah jendela akan terbuka di mana kita akan melihat ruang kerja kosong.
Klik tombol tambah dan tambahkan BLE, dan 3 Gauge.
Setelah memilih gauge, pada work space klik gauge dan pilih pin as V1, V2, V3 untuk semua gauge masing-masing.
Setelah pengaturan akhir ini ruang kerja akan terlihat seperti
Sekarang biarkan arduino 101 terhubung ke catu daya dan kemudian pilih ikon Bluetooth di ruang kerja untuk mengatur bluetooth (PS- Jauhkan bluetooth ponsel AKTIF).
Dan kemudian pergi ke ruang kerja utama dan mulai mensimulasikan proyek.
Data akan ditampilkan di jendela blynk.
Bagi yang ingin membuat prototipe ini menggunakan papan tempat memotong roti, skema berikut ini untuk Anda, semoga dapat membuat pengalaman Anda dengan Airowl menjadi luar biasa.
Data juga dapat dilihat di monitor serial.
Skema PCB ditunjukkan di bawah ini.
File papan ditunjukkan di bawah ini.
Gambar 3D dari pcb terlihat seperti.
Semua file gambar ini dapat ditemukan di tautan github yang disebutkan di bawah ini.
https://github.com/anithp/AirOwl_Genuino101
Sekarang Anda dapat menggunakan Airowl dan mengetahui apa yang Anda hirup, semoga membantu.
Terima kasih :)
Kode
Air_owlC/C++
/* Hak Cipta (C) 2017 Anith Patel dan Sohil Patel. Izin diberikan untuk menyalin, mendistribusikan dan/atau memodifikasi dokumen ini di bawah persyaratan Lisensi Dokumentasi Gratis GNU, Versi 1.3 atau versi yang lebih baru yang diterbitkan oleh Free Software Foundation; tanpa Bagian Invarian, tanpa Teks Sampul Depan, dan tanpa Teks Sampul Belakang. Salinan lisensi disertakan dalam bagian yang berjudul "Lisensi Dokumentasi Bebas GNU". */#include#include#define BLYNK_SERIAL Cetak //menulis data untuk data blynkbyte[24];//rujuk lembar data sensor debuunsigned int PM1 =0; //menginisialisasi nilai untuk materi partikulatunsigned int PM25 =0;unsigned int PM10 =0;unsigned int count =0;const int PIN1 =3;const int PIN2 =5;const int PIN3 =6;char auth[] ="Auth kunci"; //tempel kunci auth dari BlynkBLEPeripheral blePeripheral;void setup() { blePeripheral.setLocalName("Airowl"); //mengatur BLE untuk blynk blePeripheral.setDeviceName("Airowl"); blePeripheral.setAppearance(384); Blynk.begin(blePeripheral, auth); blePeripheral.begin(); Serial1.begin(9600); //inisialisasi komunikasi uart Serial.begin(9600); pinMode(PIN1, OUTPUT); //led setup pinMode(PIN2, OUTPUT); pinMode(PIN3, OUTPUT);}void loop() { Blynk.run(); //memanggil blynk blePeripheral.poll(); Serial.println("Konsentrasi PM1 adalah:"); //mencetak di serial monitor Serial.println(PM1/count); Serial.println("Konsentrasi PM25 adalah:"); Serial.println(PM25/hitung); Serial.println("Konsentrasi PM10 adalah:"); Serial.println(PM10/hitung); penundaan (500); TulisData(); //memanggil fungsi writedata if ((PM1+PM25+PM10)/3 <=100){ LedColor(0, 255, 0); penundaan (500); } else if ((PM1+PM25+PM10)/3 <=300 &&(PM1+PM25+PM10)/3> 100){ LedColor(255, 0, 0); penundaan (500); } else{ Warna Led(0, 0, 255); penundaan (500); } //logika untuk data led}void LedColor(int red, int blue, int green){ analogWrite(PIN1, red); analogWrite(PIN2, biru); analogWrite(PIN3, hijau); }void getWinsenData(void) //fungsi untuk mendapatkan data dari sensor{ //untuk memahami logika ini, lihat lembar data sensor byte i =0; int ceksum =0; Serial1.flush(); while (Serial1.available()) { data[i] =Serial1.read(); //membaca data serial dari sensor if (i <=21) //kondisi untuk data pembacaan sensor { checksum +=data[i]; } if (i ==23) { if (checksum ==((256 * data[22]) + data[23])) { if (data[0] ==66) { if (data[1] ==77) { if (i ==23) { PM1 +=((data[4] * 256) + data[5]); //mengambil dan menyimpan data untuk PM1 PM25 +=((data[6] * 256) + data[7]); //mengambil dan menyimpan data untuk PM2.5 PM10 +=((data[8] * 256) + data[9]); // mengambil dan menyimpan data untuk hitungan PM10++; Serial1.flush(); //menunggu data serial untuk mengirimkan break; } } } } else { istirahat; } } saya++; penundaan (10); } } void WriteData() //mengirim data ke blynk { getWinsenData(); //memanggil fungsi getWinsendata Blynk.virtualWrite(V1, PM1/count); //menulis data ke Blynk Blynk.virtualWrite(V2, PM25/count); Blynk.virtualWrite(V3, PM10/hitungan); penundaan (1000); }
Suku cadang dan penutup khusus
AirOwl
https://github.com/IndiaOpenDataAssociation/AirOwl Skema
AirOwl Genuino 101
https://github.com/anithp/AirOwl_Genuino101