Pages

Subscribe:

Labels

Kamis, 28 Februari 2013

Mengenal progres proses dalam Instrumentasi

Dalam kehidupan sehari-hari, kita sudah sangat familiar dengan progres proses yang ada. Misalnya "Tingkat kematangan daging 50%", "buka jendela seperempatnya saja", Dll. Nah, dalam instrumentasi juga dikenal dengan istilah yang sejenis itu. seperti besar bukaan valve, nilai pembacaan sensor-sensor, dan lain sebagainya.
Didalam sebuah Plant, pasti ada sebuah sistem kontrol yang mengatur Plant tersebut agar bisa berjalan sebagaimana mestinya. Tentunya didalam sebuah sistem kontrol, diperlukan Input dari Plant untuk diolah dan kemudian memberi Output kepada Plant itu kembali.

In our daily activity, we have familiar with any process progress. for example  "the maturity level of meat is 50%", or "Please open that window just a quarter" etc. instrumentation world also knows a term like that. such as the value of opening valve, the value of sensor, etc 



Input dari Plant ini berupa data-data dari sensor yang ada dilapangan, sedangkan Output ke Plant ini berupa data ke aktuator, sebagai contoh dalam pengaturan pressure atau tekanan pada sebuah reservoir udara kontrol. Input yang diberikan ke sistem kontrol ialah berupa data tekanan reservoir, sedangkan Output yang diberikan berupa besar bukaan bypass valve kompressor udara kontrol.

Untuk mendukung sebuah sistem ini, maka diperlukanlah sebuah proses transmisi sinyal. baik dari plant ke sistem kontrol maupun dari sistem kontrol ke aktuator. Dalam Instrumentasi dikenal 2 buah standard transmisi sinyal, yaitu sinyal elektrik dan sinyal pneumatik.

Sinyal Pneumatik
Sinyal Pneumatik ini berupa tekanan udara yang bertekanan 3-15 Psi. besar nilai tekanan ini melambangkan posisi 0-100 % proses. jadi ketika proses tersebut sudah berjalan 100%, maka sinyal pneumatik yang diberikan sebesar 15 Psi.




Sinyal Elektrik
Ada dua besaran listrik yang dapat digunakan untuk merepresentasikan suatu proses, yaitu Tegangan dan Arus. Untuk Tegangan digunakan 0-5 Volt, sedangkan untuk Arus digunakan 4-20 mA. Namun karena pertimbangan susut tegangan saat perambatan sinyal, sehingga Besaran listrik yang sering dan paling banyak digunakan ialah Arus. yaitu 4-20 mA



Nah...sekarang pertanyaannya ialah berapa besar arus yang harus dikirimkan oleh transmitter sensor suhu ketika suhu yang di-sensing mencapai 60% skala maksimum ???....

Minggu, 17 Februari 2013

Mengkonversi Image dari format RGB ke Grayscale


Setelah berhasil menampilkan gambar dari webcam, langkah selanjutnya ialah melakukan konversi format gambar dari RGB menjadi Grayscale. Grayscale adalah suatu format citra atau gambar dimana tiap-tiap piksel gambar hanya terdiri dari 1 channel warna. Perbedaan mendasar dengan format RGB ialah pada tiap-tiap piksel gambar terdiri dari 3 channel warna, yaitu channel R(red), channel G(green), dan channel B(blue).

Salah satu Algoritma buat mengkonversi image dari format RGB ke Grayscale ialah dengan me-rerata nilai ketiga buah channel RGB.

Grayscale = (R+G+B) / 3.

Pada bahasan kali ini akan digunakan fungsi dari Library OpenCV untuk mengkonversi gambar dari RGB ke Grayscale.

cvCvtColor(image sumber,image tujuan,CV_RGB2GRAY);

image sumber adalah image RGB sedangkan image tujuan adalah image grayscale yang akan dibuat. Namun terlebih dahulu harus dibuat deklarasi pointer untuk image grayscale, yaitu dengan cara seperti berikut.

IplImage* gray = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1); 

maksud dari IPL_DEPTH_8U adalah tiap-tiap piksel bernilai 8 bit, sementara angka 1 setelahnya itu bermakna tiap-tiap piksel hanya terdiri dari sebuah channel. Berikut adalah listing program secara  lengkap

#include "stdafx.h"
#include <highgui.h>
#include <ml.h>
#include <cv.h>
#include <cxcore.h>

   
    int _tmain(int argc, _TCHAR* argv[])
    {
        int c;  

 //deklarasi pointer dengan nama img
        IplImage *img; 

  //capture video dari kamera dg ID "1
        CvCapture* capture = cvCaptureFromCAM(1);
 

 // membuat window dengan nama gambar gue dan gray image
        cvNamedWindow("gambargue", CV_WINDOW_AUTOSIZE);
        cvNamedWindow("gray image", CV_WINDOW_AUTOSIZE);
        while(1)
        {
            //memasukan gambar hasil capture ke pointer dengan nama img
            img=cvQueryFrame(capture);

             //deklarasi frame dengan nama grey, 8 bit, 1 channel
            IplImage* gray = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
            
            //melakukan konversi image dari format RGB menjadi Grayscale
            cvCvtColor(img,gray,CV_RGB2GRAY);
       
            //menampilkan gambar dari pointer img dan gray ke window gambargue dan gray image
            cvShowImage("gambargue", img);
            cvShowImage("gray image",gray);
           
            c=cvWaitKey(10);
            if(c == 27)
           
            break;
           
        }
       
     return 0;
    }






Selasa, 01 Januari 2013

Mengakses webcam dengan openCV

Pengaksesan webcam ini merupakan salah satu project dasar dari pembelajaran pengolahan citra (Image processing). karena sebagian besar pengolahan citra menggunakan kamera sebagai indra penglihatannya (vision element). salah satu vision element yang kita gunakan dalam pembelajaran pengolahan citra ini ialah webcam. alesannya karena murah meriah dan gampang diperoleh..hehehe..

Sekarang kita akan coba membuat program pengaksesan webcam dengan menggunakan library OpenCV yang sebelumnya telah diintegrasikan kedalam Visual C++ 2010. berikut adalah listing programnya :

#include <highgui.h>
#include <ml.h>
#include <cv.h>
#include <cxcore.h>

     
    int _tmain(int argc, _TCHAR* argv[])
    {
        int c;
        //deklarasi pointer dengan nama img
        IplImage *img;
        //capture video dari kamera dg ID "1"
        CvCapture* capture = cvCaptureFromCAM(1);
        // membuat window dengan nama gambargue
        cvNamedWindow("gambargue", CV_WINDOW_AUTOSIZE);
        while(1)
        {
            //memasukan gambar hasil capture ke pointer dengan nama img
            img=cvQueryFrame(capture);
       
            //menampilkan gambar dari pointer img ke window gambargue
            cvShowImage("gambargue", img);
           
            c=cvWaitKey(10);
            if(c == 27)
           
            break;
           
        }
       
     return 0;
    }

Kemudian Debug program dengan F5 maka akan nampak seperti gambar dibawah ini