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



Minggu, 30 Desember 2012

OpenCV 2.3 dengan C++ Visual studio 2010

Pada pembahasan ini, aku mau share pengalaman menggunakan library OpenCV 2.3 di C++ Visual studio 2010. OpenCV itu merupakan sebuah library yang berisi fungsi-fungsi untuk pengolahan citra (image processing). sebenarnya masih banyak sih tools buat pengolahan citra yang lain. tapi karena tugas akhir ku menggunakan OpenCV jadi aku pilih library yang satu ini.

At this topic, I want to share about my experience using OpenCV 2.3 library with visual studio 2010 environment. OpenCV is a library that contain of image processing functions. Actually there are many tools in image processing activity. I choose OpenCV library because I have used this library on my thesis.

oke langsung aja ya....
download dulu

Ok, here we go...
you can download OpenCV library by click link below

 OpenCV-2.3.0-win-superpack.exe

kemudian execute dan extract semua file ke folder dengan nama OpenCV2.3. untuk lokasi extractnya sebenarnya bebas sih, namun dalam hal ini aku menggunakan lokasi ini C:\Program Files\OpenCV2.3. 
Buka visual studio, kemudian new project-->visual C++-->Win32 Console Application . setelah itu new window akan muncul, klik tab Application Setting dan pastikan Empty Project telah dicentang. Kemudian klik finish.

After finish download, please execute and extract all of files into folder which is given name OpenCV 2.3 before. the location of this folder is up to you, but my project use C:\Program Files\OpenCV2.3.    
Open visual studio, then go to new project-->visual C++-->Win32 Console Application. after that, a new window will appear, click application setting tab and make sure Empty project box has been checked. and then click finish.



Selanjutnya masuk ke project properties (ALT+F7). dan window baru akan muncul. lakukan beberapa langkah seperti berikut :

-- Pada kotak Configuration pilih All Configuration.
-- Buka Configuration Properties > C/C++ > General, dan tambahkan 3 buah path dibawah ini (untuk header file)  kedalam Additional Include. 

C:\OpenCV2.3\build\include\opencv
C:\OpenCV2.3\build\include\opencv2
C:\OpenCV2.3\build\include

Untuk lokasi diatas disesuaikan dengan lokasi yang temen-temen buat.

Go to the project properties (ALT+F7). then a new window will appear. please follow the steps below :

--On Configuration box, choose All configuration.
--Open Configuration Properties > C/C++ > General, please add 3 path below into additional include  

C:\OpenCV2.3\build\include\opencv
C:\OpenCV2.3\build\include\opencv2
C:\OpenCV2.3\build\include

 





 -- Selanjutnya, masukan path dari libraries pada Configuration Properties > Linker > General
dan pada Additional Library Directories tambahkan lokasi tempat folder "lib" berada.

C:\OpenCV2.3\build\x86\vc9\lib

--go to  Configuration Properties > Linker > General, Pleas add the location of folder "lib" on Additional Library Directories.

C:\OpenCV2.3\build\x86\vc9\lib


 
-- Dan Terakhir ialah memasukan libraries opencv_core230.lib dan opencv_highgui230.lib ke Configuration Properties > Linker > Input :

-- And the last is go to  Configuration Properties > Linker > Input, please add opencv_core230.lib and opencv_highgui230.lib


untuk aplikasi yang lebih komplek dimungkinkan untuk menggunakan libraries yang lebih dari yang dicontohkan diatas.

It is probably using many more libraries for more complex application.


sumber : http://stackoverflow.com/questions/7011238/opencv-2-3-c-visual-studio-2010



Sharing is caring

Salam ganteng....

Salam kenal pembaca....
Aku handa, nama lengkapku sih Handa Ramadhan,ST (heheheh)
sekarang ini aku tinggal di desa Asam-asam, kecamatan Jorong, kabupaten Tanah Laut, Kal-Sel.
mungkin kalau masih penasaran juga sama diriku ini, bisa kunjungi blog http://electricalhanda.blogspot.com

Blog ini berisi tentang sharing dari kegiatan yang dilakukan oleh handa ramadhan.
blog ini dibuat dalam rangka keinginan yang kuat oleh penulis untuk berbagi apapun itu yang telah dilakukan khususnya dalam hal teknologi.
Bidang Teknik elektro khususnya Instrumentasi, kontrol serta pengolahan citra merupakan bidang yang diminati oleh penulis.

Sebenarnya sih tujuan utama dari blog ini adalah sebagai dokumentasi kegiatan riset yang telah dilakukan. karena menurut senior saya, perbedaan yang significant antara riset dan kegiatan terletak di dokumentasinya.
ketika suatu kegiatan tersebut telah didokumentasikan dengan baik maka kegiatan tersebut menjadi bermanfaat bagi orang lain walaupun sekecil apapun itu. dan dengan kata lain, kegiatan tersebut dapat dikatakan sebagai riset.

ada suatu kata-kata bijak yang ku ambil dari salah satu drama jepang yang berjudul "Priceless" yang berbunyi

It is better memorize failure than unmemorize process 

aku anggap blog ini adalah salah satu proses pembelajaran dari diriku sendiri.

akhir kata, let's enjoy it....

salam ganteng....