Skip to main content

Water Level Monitoring System

Water level monitoring system merupakan suatu alat yang berguna untuk mengetahui posisi atau level air pada suatu wadah, tanki atau tempat penampungan air.

Alat ini dapat mengukur posisi air pada level mana? Low, Middle atau full. sehingga memudahkan kita untuk.mengetahui posisi air dari luar.

Uji coba ini sangat sederhana, dan mudah-mudahan uji coba ini berguna dan dapat diaplikasikan dan dikembangkan.

Video lengkap dibawah ini:



Script Kalibrasi:

const int analogInPin = A0;
int sensorValue = 0;
 
void setup() {
 Serial.begin(9600); 
}
 
void loop() {
 sensorValue = analogRead(analogInPin); 
 
 Serial.print("Sensor = " ); 
 Serial.println(sensorValue); 
 
 delay(1000); 
}

---------------------------------------------

Script Water Level Sensor:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);
int lowerThreshold = 280;
int upperThreshold = 320;

// Sensor pins
#define sensorPower 7
#define sensorPin A0
int val = 0; // Angka level air

void setup() {
  lcd.init();
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.backlight();
  pinMode(sensorPower, OUTPUT);
  digitalWrite(sensorPower, LOW);
}

void loop() {
  int level = readSensor();

  if (level == 0) {
    Serial.println("Water Level: Empty");
    lcd.setCursor(0,0);
    lcd.print("   WATER LEVEL ");
    lcd.setCursor(0,1);
    lcd.print("     EMPTY      ");
  }
  else if (level > 0 && level <= lowerThreshold) {
    Serial.println("Water Level: Low");
    lcd.setCursor(0,0);
    lcd.print("   WATER LEVEL ");
    lcd.setCursor(0,1);
    lcd.print("      LOW       ");
    
  }
  else if (level > lowerThreshold && level <= upperThreshold) {
    Serial.println("Water Level: Medium");
    lcd.setCursor(0,0);
    lcd.print("   WATER LEVEL ");
    lcd.setCursor(0,1);
    lcd.print("     MEDIUM     ");
  }
  else if (level > upperThreshold) {
    Serial.println("Water Level: High");
    lcd.setCursor(0,0);
    lcd.print("   WATER LEVEL ");
    lcd.setCursor(0,1);
    lcd.print("     FULL       ");
  }
  delay(1000);
}

//This is a function used to get the reading
int readSensor() {
  digitalWrite(sensorPower, HIGH);
  delay(10);
  val = analogRead(sensorPin);
  digitalWrite(sensorPower, LOW);
  return val;
}



by Arnold H Simanjuntak

Comments

Popular posts from this blog

Motor Servo dengan Sensor Ultrasonic

Coding: #include <Servo.h> #define trigPin 12 #define echoPin 11 Servo servo; int sound = 250; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); servo.attach(9); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; if (distance < 10) { Serial.println("the distance is less than 10"); servo.write(180); delay(1500); } else { servo.write(0); } if (distance > 60 || distance <= 0){ Serial.println("The distance is more than 60"); } else { Serial.print(distance); Serial.println(" cm"); } delay(500); }

Automatic Fish Feed, Pemberi Makan Ikan Otomatis Dengan Timer

Automatic Fish feeder adalah alat untuk memberi makan ikan secara otomatis dengan menggunakan timer. Kita dapat mengatur jadwal pemberian makan ikan berdasarkan waktu, misalkan memberi makan ikan 2 kali sehari, artinya alat akan secara otomatis akan terbuka setiap 12 Jam sekali atau 4 kali sehari, 6 jam sekali. Waktu ini dapat kita atur sesuai dengan keinginan kita. Berikut coding lengkapnya, silahkan di copas dibawah ini: #include <Servo.h> Servo motor; void setup() {   motor.attach(9); } void loop() {   motor.write(200);   delay(8000); /* sama dengan setiap 6 jam atau sehari 4 kali*/   motor.write(120);   delay(200); }

Menghidupkan Lampu Menggunakan Handphone

 Menghidupkan lampu dengan menggunakan handphone  Berikut Videonya: Script: #include <SoftwareSerial.h>  SoftwareSerial module_bluetooth(0, 1); // pin RX | TX   char data = 0;              void setup()  {   Serial.begin(9600);            pinMode(2, OUTPUT);  //PIN 2 Menjadi Output   pinMode(3, OUTPUT);   pinMode(4, OUTPUT);   pinMode(5, OUTPUT);   digitalWrite(2, HIGH); // awal dibuat high supaya relay mati (karena modul relay aktif low)   digitalWrite(3, HIGH);   digitalWrite(4, HIGH);   digitalWrite(5, HIGH);    } void loop() {   if(Serial.available() > 0)     {     data = Serial.read(); //Kirim data           if(data == '1'){     digitalWrite(2, LOW); //Hidupkan Lampu 1     }     else if(data == '2'){           dig...