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

Sensor kualitas air berbasis IoT

Komponen dan persediaan

Arduino UNO
× 1
Kabel Jumper Pria/Wanita
× 1
Modul Bluetooth HC-05
× 1
Katoda Umum Difusi RGB
× 1
Resistor 330 ohm
× 3
Potensiometer putar (generik)
× 1
Kit Perisai LCD RGB, Tampilan Karakter 16x2
× 1
Resistor 1k ohm
× 1

Alat dan mesin yang diperlukan

Wire Stripper &Cutter, 26-14 AWG Solid &Stranded Wires

Aplikasi dan layanan online

Arduino IDE
Ardutooth

Tentang proyek ini

Air merupakan sumber daya yang penting dalam kehidupan kita sehari-hari. Jadi, kita harus memastikan kualitasnya bagus untuk digunakan.

Apa itu TDS?

TDS adalah singkatan dari Total Dissolved Solids. Seperti namanya, ini memberi kita jumlah padatan yang terlarut dalam sejumlah air, dalam ppm (bagian per juta). TDS dihitung berdasarkan konduktivitas listrik [S/m]. Semakin tinggi konduktivitas listrik, semakin tinggi nilai TDS. Berikut adalah daftar nilai TDS dari berbagai jenis air:

  • Air murni:80-150
  • Air keran:250-350
  • Air tanah:500-1000
  • Air laut:sekitar 30.000

Seperti yang direkomendasikan oleh WHO (World Health Organization), TDS air minum yang sesuai adalah di bawah 300. Namun, air TDS di bawah 100 tidak dapat dikonsumsi karena kekurangan mineral esensial. Air di atas 300 dianggap terlalu "keras", karena mengandung lebih banyak mineral daripada yang dibutuhkan.

Biasanya, kami menggunakan pena TDS untuk mengukur TDS air. Namun, kami tidak dapat mengintegrasikan pena dengan Arduino. Jadi, tersedia TDS meter khusus yang dapat diintegrasikan dengan Arduino. Namun, saya telah memutuskan untuk melakukan proyek ini tanpa menggunakan pena TDS.

Sirkuit

Arduino

  • Hubungkan 5V Arduino ke satu rel daya papan tempat memotong roti
  • Hubungkan ground Arduino ke power rail lain dari breadboard
  • Hubungkan salah satu ujung resistor 1k-ohm ke ground dan ujung lainnya ke breadboard. Hubungkan pin analog A0 pada Arduino ke resistor. Terakhir, sambungkan kabel ke resistor dan kabel lain ke 5V. Hubungkan ujung bebas kabel ini ke klip buaya.

LCD Tampilan

  • Hubungkan pin VSS ke ground rail
  • Hubungkan pin VDD ke rel 5V
  • Hubungkan V0 ke pin tengah potensiometer
  • Hubungkan ujung potensiometer ke 5V dan ground
  • Hubungkan pin RS ke pin Arduino 7
  • Hubungkan pin R/W ke ground rail
  • Hubungkan pin E ke pin Arduino 8
  • Hubungkan D4 ke pin Arduino 10
  • Hubungkan D5 ke pin Arduino 11
  • Hubungkan D6 ke pin Arduino 12
  • Hubungkan D7 ke pin Arduino 13

Modul Bluetooth HC-05

  • Hubungkan pin VCC ke rel 5V
  • Hubungkan pin GND ke ground
  • Hubungkan pin TX ke pin Arduino 3 (Berfungsi sebagai RX)
  • Hubungkan pin RX ke pin Arduino 2 (Berfungsi sebagai TX)

LED RGB

  • Hubungkan katoda umum (pin terpanjang) ke ground
  • Hubungkan pin merah (kanan pin katoda) ke PWM pin 9 pada Arduino melalui resistor 330-ohm
  • Hubungkan pin hijau (kiri pin katoda) ke PWM pin 6 pada Arduino melalui resistor 330-ohm
  • Hubungkan pin biru (paling kiri) ke pin 5 PWM pada Arduino melalui resistor 330-ohm

Derivasi untuk menghitung resistansi antar kabel bebas

Kita akan menggunakan hukum Ohm, yang menyatakan bahwa tegangan [V] melalui resistor dengan resistansi R berbanding lurus dengan arus [I] yang mengalir melalui resistor. Dengan kata lain, V =IR

Meskipun ada kabel yang terhubung antara 2 resistor [R₁ - 1000-ohm, dan R₂ - antara kabel bebas] ke pin Analog A0 pada Arduino, resistansi kabel itu dapat diabaikan, dan karenanya, kita dapat mengatakan bahwa arus minimal mengalir melalui kawat. Jadi, R₁ dan R₂ dihubungkan secara seri.

Jadi, kita dapat mengatakan bahwa V₁ =IR₁ dan V₂ =IR₂ .

Oleh karena itu, kita dapat mengatakan V₂/V₁=IR₂/IR₁ =R₂/R₁

. Namun, kami tidak tahu V₂.

Kita tahu bahwa pada rangkaian resistor, V₁+V₂ =V , di mana V =5 Volt. Dari sini, kita bisa mendapatkan V₂ =5-V₁

Akhirnya, mengganti nilai yang kita dapatkan untuk V₂ dalam V₂/V₁ =R₂/R₁ , kita dapat mendefinisikan buffer variabel menjadi 5-V₁/V₁ , sebagai ganti V₂/V₁ .

Akhirnya, kita dapat mengatakan bahwa R₂ =buffer * R₁ .

Bekerja

Kami akan menghitung resistansi air yang diuji, dan dari situ, kami akan mendapatkan resistivitas. Kita harus mempertimbangkan panjang dan luas penampang wadah kita untuk ini.

R =r L/A=> r =R A/L 

Dari resistivitas, kita dapat memperoleh konduktivitas

c =1/r 

Akhirnya, kami mendapatkan TDS dari konduktivitas

TDS =c*7000 

Perpustakaan

  • Perpustakaan kristal cair:https://www.arduinolibraries.info/libraries/liquid-crystal
  • Perpustakaan serial perangkat lunak:https://pdfpunk.weebly.com/softwareserial-library-download.html

Anda dapat mengunduh perpustakaan ini dan menambahkannya ke Arduino IDE Anda, atau Anda dapat membuka Alat -> kelola perpustakaan -> cari perpustakaan yang ingin Anda unduh

Kode

  • Kode pemantauan kualitas air
Kode pemantauan kualitas airArduino
//include libraries#include #include //for bluetooth - buat objek bernama BTserial, dengan pin RX di 3 dan pin TX di 2SoftwareSerial BTserial(3,2); // RX | TX//dekrarasi semua variabel kitafloat membaca;int pin =A0;float vOut =0;//voltage drop di 2 titikfloat vIn =5;float R1 =1000;float R2 =0;float buffer =0;float TDS;float R =0;//resistansi antara 2 kawat terapung r =0;//resistivitas pelampung L =0,06;//jarak antar kawat dalam mganda A =0,000154;//luas penampang kawat dalam m^2float C =0;//konduktivitas dalam S/mfloat Cm =0;//konduktivitas dalam mS/cmint rPin =9;int bPin =5;int gPin =6;int rVal =255;int bVal =255;int gVal =255;// kita akan menggunakan rumus ini untuk mendapatkan resistivitas setelah menggunakan hukum ohm -> R =r L/A => r =RA/L//membuat objek lcd dari perpustakaan Kristal CairLiquidCrystal lcd(7,8,10,11,12,13 );void setup() { //inisialisasi serial BT dan serial monitor Serial.begin(9600); BTserial.begin(9600); //inisialisasi lcd lcd.begin(16, 2); //set pin rgb led (semuanya menjadi pin pwm di Arduino) sebagai output pinMode(rPin,OUTPUT); pinMode(bPin,OUTPUT); pinMode(gPin,OUTPUT); pinMode(pin,INPUT); //Mencetak pesan stagnan ke LCD lcd.print("Konduktivitas:");}void loop() { reads =analogRead(A0); vOut =membaca*5/1023; Serial.println(membaca);// Serial.println(vOut); buffer =(vIn/vOut)-1; R2 =R1*penyangga; Serial.println(R2); penundaan (500); //mengubah tegangan menjadi resistansi //Menerapkan rumus yang disebutkan di atas r =R2*A/L;//R=rL/A //mengubah resistivitas menjadi kondiktivitas C =1/r; Cm =C*10; //mengubah konduktivitas dalam mS/cm ke TDS TDS =Cm *700; //Mengatur kursor LCD ke baris berikutnya lcd.setCursor(0,1); lcd.println(C); //menampilkan warna yang sesuai pada led rgb sesuai dengan analog read if( reads <600 ) { if (read <=300){ setColor( 255, 0, 255 ); } if (membaca> 200){ setColor( 200, 0, 255 ); } } else{ if( membaca <=900 ) { setColor( 0, 0, 255 ); } if( membaca> 700 ) { setColor( 0, 255, 255 ); } }//mengirim data ke aplikasi Ardutooth di ponsel melalui bluetoothBTserial.print(C);BTserial.print(",");BTserial.print(TDS);BTserial.print(";");delay(500); }void setColor(int merah, int hijau, int biru){ analogWrite( rPin, 255 - red ); analogWrite( gPin, 255 - hijau ); analogWrite( bPin, 255 - biru ); }

Suku cadang dan penutup khusus

Saya menggunakan tabung reaksi lama saya harus membuat ini. Saya membuat lubang di kedua ujung tabung dan memasukkan kabel dari kedua ujungnya. Akhirnya, untuk menahan kabel di tempatnya, saya memasang beberapa dempul.

Skema


Proses manufaktur

  1. IoT Dasar – RaspberryPI HDC2010 cara
  2. Proyek IoT Berbasis Raspberry PI Menghubungkan Sensor DHT11
  3. IoT Seluler:Tempat Sampah Cerdas
  4. Sensor Kualitas Udara Helium
  5. Sensor Air Sensitivitas Tinggi pada MCP3008
  6. Windows 10 IoT Core dan SHT15
  7. Sensor Multi Suhu
  8. Botol Air Bertenaga Arduino
  9. Sensor Gerakan Pistol Air
  10. Sensor Kualitas Udara Berbasis Karbon