Mengukur Ketinggian Air menggunakan MPX5010DP dan Arduino UNO
Pada persamaan sebelumnya nilai-nilai yang kita gunakan adalah nilai pendekatan untuk memudahkan pembacaan. Sekarang kita coba gunakan nilai gravitasi, dan massa jenis air yang lebih mendekati dengan nilai sesungguhnya, dimana untuk sensor MPX5010DP dapat membaca hingga tekanan 10kPa, nilai 10kPa = 10.000 Pa kita masukkan dalam persamaan, sehingga persamaan menjadi sebagai berikut :
Dari nilai h = 1,023m, kita dapat mengetahui bahwa tinggi maksimum yang dapat dibaca oleh sensor adalah sekitar 1 meter (10kPa). Berikut ini script yang dapat kita gunakan untuk membaca nilai dari sensor berupa ketinggian, tegangan output, nilai tekanan Pa.
double Level,Vout,P,Vs=5.0;
double aux;
double tolP=0.04; // nilai tolerasi yang perlu di adjust berdasarkan penggaris/ meteran
int i, rho = 997;
double g=9.8;
void setup()
{
Serial.begin(9600);
}
void loop()
{
//Tegangan Output dari Sensor MPC5010DP
aux=0;
for(i=0;i<10;i++){
aux = aux + (float(analogRead(A0))*5.0/1023.0); //v
delay(5);
}
Vout=aux/10.0;
// Formula berdasarkan grafik datasheet
P = ( Vout - 0.04*Vs ) / (0.09 * Vs) + tolP; //kPa
Level = ((P*1000)/(rho*g))*100; // ketinggian air dalam tangki
Level = 1.081349*Level + 0.219574;
Serial.print("\n\nVoltaje:");
Serial.print(Vout);
Serial.println(" v");
Serial.print("PresiΓ³n:");
Serial.print(P);
Serial.println(" kPa");
Serial.print("Nivel:");
Serial.print(Level);
Serial.println(" cm");
delay(3000);
}
Post Comment
You must be logged in to post a comment.