Water level Sensor dengan Arduino


Peralatan:

Beardboard & Jumper
Arduino (saya menggunakan Uno)
Resistor 470 ohm (3)
Resistor 22 Kohm (4)
Transistor BC548C (3)
LED (3)
Kabel secukupnya

kali ini saya menggunakan sensor sebanyak 3 titik sebab itu resistor, transistor dan LED juga berjumlah 3. Khusus resistor 22 Kohm diperlukan 1 buah lagi.

Media percobaan
Botol bekas yang sudah dibolongi sebanyak 4 titik. Bolong 1 adalah tegangan referensi, bolong 2,3, dan 4 adalah sensor yang kita inginkan.

masukan keempat kabel kedalam lobang masing2 botol tersebut, gunakan lem plastik agar tidak keluar air. setelah itu sambungkan ke Breadboard untuk selanjutnya masuk kedalam rangkaian

untuk lebih jelasnya lihat rangkaian berikut

DSC_0659

untuk program arduino sebagai berikut


byte sensorPin[] = {8, 9, 10};
byte ledPin[] = {11, 12, 13}; 
const byte sensors = 3;
void setup() {
  for(int i = 0; i < sensors; i++) {
     pinMode(sensorPin[i], INPUT); 
     pinMode(ledPin[i], OUTPUT);
  }
 
}


 
void loop() {
 
  if(digitalRead(sensorPin[0]) == HIGH && digitalRead(sensorPin[1]) == LOW && digitalRead(sensorPin[2]) == LOW )   {                                                                                                                                                                                                                          
        digitalWrite(ledPin[0], HIGH);
        digitalWrite(ledPin[1], HIGH);
        digitalWrite(ledPin[2], HIGH);
     } 
  else if (digitalRead(sensorPin[0]) == HIGH && digitalRead(sensorPin[1]) == HIGH && digitalRead(sensorPin[2]) == HIGH){
        digitalWrite(ledPin[0], LOW);
        digitalWrite(ledPin[1], LOW);
        digitalWrite(ledPin[2], LOW);
       }    
       
  else if (digitalRead(sensorPin[0]) == HIGH && digitalRead(sensorPin[1]) == LOW && digitalRead(sensorPin[2]) == HIGH){
        digitalWrite(ledPin[0], HIGH);
        digitalWrite(ledPin[1], HIGH);
        digitalWrite(ledPin[2], LOW);
       }    
       
  else if (digitalRead(sensorPin[0]) == LOW && digitalRead(sensorPin[1]) == HIGH && digitalRead(sensorPin[2]) == HIGH){
        digitalWrite(ledPin[0], HIGH);
        digitalWrite(ledPin[1], LOW);
        digitalWrite(ledPin[2], LOW);
       }    
       
       
  delay(5);  
 }


kira-kira hasil yang akan dihasilkan sebagai berikut

untuk advancenya dapat mengunakan alarm, motor, pompa, LCD, dan lain lain

Link inspirasi: http://www.electroschematics.com/9964/arduino-water-level-indicator-controller/

Advertisements

Author: ridhobustami

orang ngak jelas

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s