RSS

PENGISIAN TANGKI (TANDON) AIR OTOMATIS MENGGUNAKAN ATMEGA8535

31 May

Beberapa bulan yang lalu saya telah membuat aplikasi pengisian tangki air otomatis menggunakan mikrokontroler. Mungkin aplikasi ini sangat sederhana dan terbilang cukup mahal jika menggunakan mikrokontroler, dikarenakan dipasaran sudah banyak yang menjual sensor level air menggunakan bandul dan sudah mempunyai output untuk relay. Tetapi tidak ada salahnya jika kita mencoba membuatnya menggunakan mikrokontroler, anggap saja sebagai latihan.

Pada aplikasi ini saya menggunakan prinsip penekanan push button sebagai cara untuk mendeteksi level air (sensor level air). Terdapat 2 buah sensor level air yaitu MAX dan MIN, sedangkan GND digunakan untuk mendeteksi sensor mana yang sedang terbaca. Cara kerjanya jika air berada dibawah sensor MIN maka sensor MIN (PC3) akan belogika high. Kemudian jika air berada diatas sensor MIN maka sensor MIN (PC3) akan berlogika low (terhubung ke GND karena terkena air). Begitu juga untuk sensor MAX (PC2), jika air sudah penuh (menyentuh sensor MAX) maka yang awalnya sensor MAX (PC2) berlogika high akan berubah menjadi low.

Dengan kata lain jika tangki air sedang kosong maka sensor MIN dan MAX akan berlogika high dan jika air sudah penuh sensor MIN dan sensor MAX akan berlogika low.

Kemudian terdapat duah buah saklar yaitu saklar MODE dan POMPA. Saklar MODE digunakan untuk pemilihan mode yaitu otomatis dan manual. Jika mode otomatis maka motor pompa akan bekerja (mengisi) jika tangki air sedang kosong (dibawah sensor MIN), dan akan berhenti mengisi ketika terdeteksi sensor MAX (penuh). Untuk mode manual motor pompa dapat dinyalakan secara manual menggunakan saklar POMPA, jika dinyalakan motor pompa tersebut dan air sudah penuh, maka saya buat motor pompa tersebut mati dengan sendirinya. Dan terdapat beberapa LED yang digunakan sebagai indikator untuk masing-masing parameter.


Berikut adalah listing program lengkapnya:

//kondisi=0 adalah keadaan kosong,
//kondisi=1 adalah keadaan penuh,
//penggunaan variabel kondisi berfungsi sebagai penghilang
//efek bouncing yg disebabkan oleh gelombang air
bit kondisi;

#include <mega16.h>

#define pompa PORTA.0
#define ind_pompa PORTA.5
#define ind_min PORTA.7
#define ind_max PORTA.6
#define mode PINC.0
#define on_off PINC.1
#define maxim PINC.2
#define minim PINC.3

void otomatis()//pemilihan mode otomatis
{
if  (mode==1)//mode otomatis
  {
    if (kondisi==0)
    {
        if (maxim==1)//kosong   
            {
            pompa=0;
            ind_pompa=0;       
            }  

         if (maxim==0)//penuh
            {        
            pompa=1;
            ind_pompa=1;
            kondisi=1;
            }
    }                 

    if (kondisi==1)
    {        
        if (minim==1)
        {
        kondisi=0;
        }
    }       
  }
}    

void manual()//pemilihan mode manual
{
if  (mode==0)//manual
    {
     if (maxim==0)
       {
              pompa=1;
              ind_pompa=1;
       }
    else
       {
        if (on_off==0)
            {  
            pompa=0;
            ind_pompa=0;
            }
        else  
            {
            pompa=1;
            ind_pompa=1;
            }
       }
    }
}

void indikator()//menyalakan indikator LED MIN dan MAX
{
if (maxim==0) ind_max=0;
    else ind_max=1;
if (minim==0) ind_min=0;  
    else ind_min=1;
}

void main(void)
{
DDRA=0xff;   //inisialisasi port mikro
PORTA=0xff;
DDRC=0x00;
PORTC=0xff;

while (1)
      {
      otomatis();
      manual();
      indikator();
      };
}

Untuk mendapatkan file program dalam bentuk CodeVision AVR silakan download pada link dibawah ini.

File program CodeVision AVR pengisian tangki air otomatis

Semoga bermanfaat…

 
Leave a comment

Posted by on May 31, 2011 in AVR Projects

 

Tags: , , , , ,

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

 
%d bloggers like this: