Sabtu, 13 Februari 2016

Cara Membuat Alat Pengukur dan Pengontrol Ketinggian Air Berbasis Arduino Uno

Hai sobat, saya akan menjelaskan bagaimana cara membuat Alat Pengukur dan Pengontrol Ketinggian Air Berbasis Arduino atau Water Level Indicator atau Water Level Measure And Control With Arduino UNO.

Alat ini berguna untuk mengisi bak penampungan air yang bekerja secara otomatis, alat akan mengisi dan berhenti mengisi bak sesuai set poin yang telah ditentukan pada sketch arduino softwarenya.

Sebelumnya kita persiapkan terlebih dahulu alat dan bahan yang diperlukan.

Alat dan Bahan :
Arduino Uno
Project Board atau Breadboard
Sensor Ultra Sonik HC-SR04
Resistor 1k Potensiometer 10k
Buzzer
LCD 16x2
Kabel Jumper
Relay Modul 5V
Pompa Akuarium

Setelah alat dan bahan telah siap, buatlah rangkaian seperti pada diagram dibawah ini!



Untuk rangkaian pompa air nya :



Pin 8 pada arduino di masukan pada N1 atau N2 pada Relay Modul 5V dan VCC pada Relay Modul 5V dihubungkan pada pin VCC/5V arduino uno.


Untuk rangkaian buzzer nya :


Dibawah ini adalah Sketch Arduino :

#include <LiquidCrystal.h>

#define trigger 7
#define echo 6
#define motor 8
#define buzzer 13

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

float time=0,distance=0;
int temp=0;
void setup()
{
 lcd.begin(16,2);
 pinMode(trigger,OUTPUT);
 pinMode(echo,INPUT);
 pinMode(motor, OUTPUT);
 pinMode(buzzer, OUTPUT);
 lcd.print("  Water Level Indicator ");
 lcd.setCursor(0,1);
 lcd.print("   kelompok 2  ");
 delay(5000);
}

void loop()
{
 lcd.clear();
 digitalWrite(trigger,LOW);
 delayMicroseconds(2);
 digitalWrite(trigger,HIGH);
 delayMicroseconds(10);
 digitalWrite(trigger,LOW);
 delayMicroseconds(2);
 time=pulseIn(echo,HIGH);
 distance=time*340/20000;
 lcd.clear();
 lcd.print("Water Space In  ");
 lcd.setCursor(0,1);
 lcd.print("Tank is: ");
 lcd.print(distance);
 lcd.print("Cm");
 delay(5000);
 if(distance<2 && temp==0)
 {
     digitalWrite(motor, LOW);
     digitalWrite(buzzer, HIGH);
     lcd.clear();
     lcd.print("Water Tank Full ");
     lcd.setCursor(0,1);
     lcd.print("Motor Turned OFF");
     delay(5000);
     digitalWrite(buzzer, LOW);
     delay(3000);
     temp=1;
 }

  else if(distance<2 && temp==1)
 {
     digitalWrite(motor, LOW);
     lcd.clear();
     lcd.print("Water Tank Full ");
     lcd.setCursor(0,1);
     lcd.print("Motor Turned OFF");
     delay(5000);
 }

 else if(distance>10)
 {
   digitalWrite(motor, HIGH);
   lcd.clear();
   lcd.print("LOW Water Level");
   lcd.setCursor(0,1);
   lcd.print("Motor Turned ON");
   delay(5000);
   temp=0;
 }
}

Semoga bermanfaat sobat :-) 

Tidak ada komentar:

Posting Komentar