Sistem Pemantauan Kualitas Air Real-Time dengan Arduino & GPRS/GPS
Komponen dan Perlengkapan
Arduino UNO – 1 buah
Modul A7 GPRS/GPS – 1 buah
Sensor Kualitas Air – 1 buah
Alat dan Mesin yang Diperlukan
Solder (umum)
Aplikasi dan Layanan Online
Microsoft Azure
Arduino IDE
Tentang Proyek Ini
Pendahuluan
Pada September 2016, sebuah pabrik pengolahan air harus ditutup karena air tercemar mengalir ke pabrik. Perusahaan penyedia air tidak dapat menentukan sumber kontaminasi dan ini menyebabkan gangguan serius pada layanan air.
Mata kuliah universitas saya meminta siswa untuk membangun sistem untuk memecahkan masalah masyarakat. Sistem pemantauan kualitas air otomatis akan memudahkan pekerjaan untuk menemukan sumber polusi!
Gambaran Sistem
4 sensor dihubungkan ke Arduino Genuino 101. Semua memerlukan rangkaian antarmuka karena mereka adalah sensor output arus. Arduino Genuino 101 mengumpulkan data pengukuran secara berkala, mendapatkan koordinat GPS, dan mengunggah paket data ke database menggunakan koneksi data GPRS. Pengguna dapat pergi ke situs web untuk melihat hasilnya seperti yang ditunjukkan di bawah.
Probe Sensor
Tiga sensor output arus dari Global Water, disediakan oleh pengawas dosen. Saya menggunakan sensor suhu, pH dan tingkat oksigen terlarut dalam proyek ini. Untungnya, sensor oksigen terlarut rusak.
Sensor lainnya adalah sensor kekeruhan, yang mengeluarkan level tegangan yang sebanding dengan jumlah partikel padat terpendam dalam air.
Antarmuka Sensor dan Arduino
Sebuah resistor mengonversi output arus menjadi level tegangan yang dapat diukur.
Modul A7 GPRS dan GPS
Saya memilih modul A7 ini karena relatif lebih murah dari varian SIM900, dan menggabungkan GPRS dan GPS dalam satu paket!
Namun, harga yang lebih murah datang dengan harga. Pertama, antena GPS yang datang dengan modul bukan sebenarnya antena GPS, Anda harus membeli satu sendiri. Kedua, itu hanya mendukung komunikasi UART 115200 bps secara default, dan bahkan jika Anda mengubahnya menggunakan perangkat lunak, itu akan kembali ke baud rate default setelah siklus daya, dan Software Serial pada 115200 bps sangat sangat tidak andal. Saya menggosok rambut saya selama 2 hari untuk masalah ini. Setelah itu saya mengimplementasikan fungsi perubahan baud rate dalam kode Arduino.
Dan, karena ini modul baru, saya perlu membuat perpustakaan saya sendiri untuk modul ini. Kode sumber dikumpulkan dari berbagai tempat, seperti SIM900, dan modul GPS Adafruit. Itu berantakan, tetapi bekerja, jangan menghakimi saya.
Rangkaian harus dirancang untuk menyala modul. Itu memiliki dua pin, pin RESET dan pin PWR_KEY yang harus dikontrol. Tegangan diterapkan ke PWR_KEY selama setidaknya 2s untuk menyala modul. Untuk mereset, tarik pin RESET ke GND. Jika tidak, pin RESET harus ditarik ke atas ke 5V. Saya pertama kali mereset modul, lalu melanjutkan untuk menyala modul untuk memastikan memulai dengan baik.
Sumber Daya
Sumber daya layak mendapat perhatian khusus di sini (saya pikir?) karena sensor output arus. Mereka memerlukan minimum 10V untuk beroperasi, lebih tinggi dari 5V yang kami sayangi. Karena saya ingin mendemonstrasikan kemampuan sistem ini untuk bekerja dari jarak jauh, saya memilih baterai Li-Ion.
2 baterai Li-Ion berseri akan memberikan 7.4-8.4V, satu konverter buck untuk menurunkannya ke 5V untuk Arduino dan modul A7, konverter boost lain untuk menyediakan rel daya 11V untuk sensor air tersebut. Dengan pengaturan ini, sistem tidak akan berjalan lama, tetapi itu bukan masalah utama untuk prototipe ini.
Papan
Sistem dibangun pada papan prototipe. Papan dan Arduino Genuino 101 pas dengan baik di dalam enclosure.
Enclosure
Dosen juga memberikan enclosure lama, dengan lubang yang dibuat oleh siswa sebelumnya untuk proyek terkait sensor air. Luar biasa!
Perhatikan konektor ke sensor. Saya menemukannya terpasang pada sensor, jadi saya mencari di sekitar konektor yang akan cocok dengan mereka. Saya menemukannya dengan kode GX16. Mereka sangat serbaguna dan tentu akan berguna di proyek masa depan!
Halaman Web
Akhirnya, bagian yang memakan waktu mingguan untuk saya bangun dari nol. Saya tidak punya pengetahuan tentang server, situs web dan selama proyek ini saya mempelajari PHP, kueri SQL, JavaScript, CSS dan HTML.
Saya meng-host situs web di Microsoft Azure karena mereka menyediakan layanan gratis untuk siswa. Ini datang dengan keterbatasan, tetapi cukup untuk aplikasi ini.
Database disediakan oleh ClearDB, dalam kemitraan dengan Azure juga. Lagi, keterbatasan memori, tetapi cukup untuk proyek ini.
Kode disediakan di repo, tetapi ingat untuk menambahkan kredensial Anda ke file username_password.php.
File log.php menumpahkan semua data yang diterima dari Arduino ke dalam database.
Lalu halaman web menampilkan Peta Google, dengan penanda yang ditampilkan di lokasi yang memiliki data pengukuran. File php lainnya adalah semua "alat" untuk mengakses database untuk mengambil data di database.
Respon situs web cukup lambat, dan karena saya hanya mengepel semuanya bersama, saya ingin meningkatkannya. Saran sangat dipersilakan. :)
Kode
Sistem Pemantauan Kualitas Air
Kode situs web di /Website, sketsa Arduino dan perpustakaan modul A7 di /Arduinohttps://github.com/JohnHJ01/Water-Quality-Monitoring-System