This is default featured slide 1 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 2 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 3 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 4 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 5 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

Showing posts with label webcam. Show all posts
Showing posts with label webcam. Show all posts

Sunday, September 23, 2018

Traffic Light Simulator Created with Visual Basic 2012


PEMOGRAMAN TRAFFIC LIGTH DENGAN VISUAL BASIC 2012

1. Desain Tampilan Awal

2. Program VB 2012


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CobaVisual01
{
    public partial class Form1 : Form
    {
        int A, B, C, start , start1, start2, pertama ,z=180 ,x=100 , coba ;

        public Form1()
        {
            InitializeComponent();
        }
        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            A = trackBar1.Value;
            box1.Text = Convert.ToString(A);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            start = 180 - 180 * (100 - A) / 100;
            start1 = 180 - 180 * (100 - B) / 100;
            start2 = 180 - 180 * (100 - C) / 100;
            box2.Text = Convert.ToString(start);
            timer1.Start ();
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            start = start - 1;
            box2.Text = Convert.ToString (start);

            if (start == 5)
            {
                oval2.Visible = true;
                oval3.Visible = false;
            }
            if (start == 0)
            {
                oval1.Visible = true;
                oval2.Visible = false;
                timer1.Stop ();
                timer3.Start();
            }}
    //###############################################################################//

        private void trackBar2_Scroll(object sender, EventArgs e)
        {
            B = trackBar2.Value;
            box3.Text = Convert.ToString(B);
         }
        private void timer2_Tick(object sender, EventArgs e)
        {
            start1 = 180 - 180 * (100 - B) / 100;
            box4.Text = Convert.ToString(start1);
            timer3.Start(); 
        }
        private void timer3_Tick(object sender, EventArgs e)
        {
             start1 = start1-1;
             box4.Text = Convert.ToString(start1);
             oval6.Visible = true;
             oval4.Visible = false;
             if (start1 <= 5)
             {
                 oval6.Visible = false;
                 oval5 .Visible = true;
             }
             if (start1 == 0)
             {
                 oval6.Visible = false;
                 oval4 .Visible = true;
                 oval5 .Visible = false;
                 timer3 .Stop();
                 timer5 .Start();
             } }

//###############################################################################//
        private void trackBar3_Scroll(object sender, EventArgs e)
        {
            C = trackBar3.Value;
            box5.Text = Convert.ToString(C);

        }
        private void timer4_Tick(object sender, EventArgs e)
        {
            start2 = 180 - 180 * (100 - C) / 100;
            box6.Text = Convert.ToString(start2);
            timer5.Start();
        }
        private void timer5_Tick(object sender, EventArgs e)
        {
            start2 = start2 - 1;
            box6.Text = Convert.ToString(start2);
            oval9.Visible = true;
            oval7.Visible = false;

            if (start2 <= 5)
            {
                oval9.Visible = false;
                oval8.Visible = true;
            }
            if (start2 == 0)
            {
                oval7.Visible = true;
                oval8.Visible = false;
                oval9.Visible = false;
                timer5.Stop();

                start = 180 - 180 * (100 - A) / 100;
                start1 = 180 - 180 * (100 - B) / 100;
                start2 = 180 - 180 * (100 - C) / 100;
                box2.Text = Convert.ToString(start);

                oval3.Visible = true;
                oval1.Visible = false;

                timer1.Start();

              
            }
        }
    }
}



Saturday, May 19, 2018

PENGENALAN APLIKASI KOMPUTER WONDERWARE INDUSOFT WEB STUDIO EDUCATION VERSI 8.0


A.    Tujuan Praktikum
1.      Mengenal icon-icon yang ada di software Wonderware 8.0
2.      Menerapkan fungsi dari masing-masing toolbar
3.      Membuat aplikasi sederhana yang menggunakan batas ukur
B.     Teori Singkat
Perkembangan ilmu pengetahuan dan teknologi yang semakin pesat mempunyai dampak yang sangat besar bagi masyarakat di seluruh negara maju dan berkembang. Salah satunya berdampak pada bidang automasi industri. Perkembangan yang semakin pesat ini, menuntut peserta didik untuk lebih mengenal bidang tersebut. Untuk itu akan sangat berman

faat sekali, apabila dalam kegiatan akademik ditunjukan dan diberikan simulasi dari module yang menyerupai sistem yang ada dalam industry.

Di jurusan Pendidikan Teknik Elektro Universitas Negeri Yogyakarta, dirasakan masih kurang tersedia peralatan-peralatan untuk proses pembelajaran sistem kontrol menggunakan Human Mechine Interface (HMI). Salah satu solusi untuk mengatasi kondisi itu maka perlu dibuat suatu model trainer simulator yang terintegrasi HMI SCADA. Dengan penambahan trainer pada pembelajaran automasi industri diharapkan mahasiswa lebih terampil dalam sistem kontrol automasi industri.

Laporan ini dirancang dengan memanfaatkan teknologi automasi yang dilengkapi antarmuka mesin manusia atau yang lebih dikenal dengan HMI. SCADA ialah sistem yang dapat melakukan pengawasan, pengendalian dan akuisis data terhadap sebuah plant.

HMI pada komputer sebenarnya ada banyak jenisnya dan kita dapat membuat HMI dengan konvensional programming seperti Visual Basic, Visual C++, Visual C#, Delphi, Java, dan lain lain. Namun pada industri banyak HMI engineer dan Perusahaan lebih memilih menggunakan sebuah tools instan untuk membuat software HMI seperti  Wonderware. Hal ini disebabkan perusahaan lebih memilih untuk menghemat waktu dan cost dalam pembuatan HMI, sedangkan dari sisi HMI engineer lebih dimudahkan dalam pembuatannya. karena tools-tools grafik dan animasi sudah banyak tersedia di dalam HMI maker seperti Wonderware. walaupun dari sisi harga Wonderware jauh lebih mahal ketimbang dengan harga lisensi pemrograman konvensional bahkan ada yang gratis/open source.

C.    Langkah Praktikum
1.       Open Aplikasi Wonderware v8.0




2.       Tampilan Awal




3.       New Project



4.       Klik pada project, lalu berikan nama sesuai selera dan jangan lupa menyimpan pada Folder yang anda buat Kemudian OK

5.       Pilih resolusi atau ukuran layar yang akan kita gunakan

6.       Setelah menentukan ukuran layar makan buatlah layar kerja atau Screen


7.       Atau bisa juga mengatur Ukuran screen


8.       Mesakukan symbol pada layar kerja, ke-3 klik 2x

9.       Hasil dari memasukan symbol

10.   Kemudian masukan komponen yang di butuhkan dan buatlah inisial program “klik 2 kali “


11.   Masukan inisial pada “Hint” lalu close






12.   Masukan juga inisial di symbol temperature

13.   Play program yang sudah jadi

14.   Hasil


D.    Hasil dan Pembahasan
Hasil dari Praktikum yang dilakukan mahasiswa :
Aplikasi yang saya Buat “ Pengenalan Indisoft Wonderware “. Nilai yang di atur melalui pengaturan termometer akan diikuti dengan nilai yg akan di tampilkan pada “TEXT” lalu bisa juga dilihat melalui screen ke 2. Cara menuju screen ke dua yaitu tinggal tekan pada tombol “Goto Screen 2” maka otomatis akan menuju ke Screen ke 2.





E.     Simpulan
Simpulan dari praktik yang sudah saya lakukan yaitu mengenal toolbar dan icon yang ada pada Aplikasi komputer wonderware versi 8.0. hasil dari praktik tersebut membuat sebuah sistem sederhana yang menggunakan batas ukur berupa suhu. Prinsip kerjanya ketika suhu dinaikan maka generator akan berkerja dan sistem yang lain juga ikut menaikan kinerjanya.

F.     Daftar Pustaka

Abadi, S.C. “Rancang Bangun Human Machine Interface (HMI) Pada Trainer Simulator Proses Kontrol”. JPTE FPTK UPI Bandung: tidak diterbitkan

Wicaksono, H. (2012). SCADA Sofware dengan Wonderware Intouch: Dasar-dasar Pemrograman. Yogyakarta: Graha Ilmu

Friday, March 31, 2017

TUTORIAL WEBCAM for OpenCv 2.410 and Visual Basic 2012 #Detector Obyek

TUTORIAL WEBCAM for OpenCv 2.410 and Visual Basic 2012


1.           Instal OpenCV 2.410 dan Visual Basic 2012
2.           Buka VB.12 lalu ikuti langkah-langkah berikut :

a.    Klik kanan pada main VB // Properties //



b.   Muncul tampilan seperti dibawah, lalu klik edit ....



c.    Kemudian masukan file OpenCV 2.410, lalu tambahkan ::







Contoh alamat :
1.   D:\MASTER =kursor\OPENCV\INSTAL OPENCV 2.41\opencv\build\include\opencv
2.   D:\MASTER =kursor\OPENCV\INSTAL OPENCV 2.41\opencv\build\include

d.    Kemudian masukan Linker // input // Additional ,,, EDIT




Masukan data Tersebut : "D:\MASTER =KURSOR\OPENCV\ : menurut lokasi tempat Instal OpenCV anda...

"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_calib3d2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_calib3d2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_contrib2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_contrib2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_core2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_core2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_features2d2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_features2d2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_flann2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_flann2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_gpu2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_gpu2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_highgui2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_highgui2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_imgproc2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_imgproc2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_legacy2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_legacy2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ml2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ml2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_nonfree2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_nonfree2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_objdetect2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_objdetect2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ocl2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ocl2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_photo2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_photo2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_stitching2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_stitching2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_superres2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_superres2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ts2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_ts2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_video2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_video2410d.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_videostab2410.lib"
"D:\MASTER =KURSOR\OPENCV\INSTAL OPENCV 2.41\opencv\build\x86\vc10\lib\opencv_videostab2410d.lib"
e.    Terakhir silahkan masukan program dibawah ,,

3.           Done




Silahkah Email : Setiawan_alik@yahoo.com



#include <iostream>
#include<opencv/cvaux.h>
#include<opencv/highgui.h>
#include<opencv/cxcore.h>
#include <sstream>
#include <string>
#include <opencv\cv.h>

#include<stdio.h>
#include<stdlib.h>

#include <Windows.h>


int H_MIN = 0;
int H_MAX = 256;
int S_MIN = 0;
int S_MAX = 256;
int V_MIN = 0;
int V_MAX = 256;
using namespace cv;

const string trackbarWindowName = "Trackbars";

void on_trackbar( int, void* )
{//This function gets called whenever a
 // trackbar position is changed
}

void createTrackbars(){

    namedWindow(trackbarWindowName,0);
        char TrackbarName[50];
        sprintf( TrackbarName, "H_MIN", H_MIN);
        sprintf( TrackbarName, "H_MAX", H_MAX);
        sprintf( TrackbarName, "S_MIN", S_MIN);
        sprintf( TrackbarName, "S_MAX", S_MAX);
        sprintf( TrackbarName, "V_MIN", V_MIN);

    createTrackbar( "H_MIN", trackbarWindowName, &H_MIN, H_MAX, on_trackbar );
    createTrackbar( "H_MAX", trackbarWindowName, &H_MAX, H_MAX, on_trackbar );
    createTrackbar( "S_MIN", trackbarWindowName, &S_MIN, S_MAX, on_trackbar );
    createTrackbar( "S_MAX", trackbarWindowName, &S_MAX, S_MAX, on_trackbar );
    createTrackbar( "V_MIN", trackbarWindowName, &V_MIN, V_MAX, on_trackbar );
    createTrackbar( "V_MAX", trackbarWindowName, &V_MAX, V_MAX, on_trackbar );

}

int main(int argc, char* argv[])
{
        // Setup serial port connection and needed variables.
        HANDLE hSerial = CreateFile(L"COM2", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

        if (hSerial !=INVALID_HANDLE_VALUE)
    {
        printf("Port opened! \n");

        DCB dcbSerialParams;
        GetCommState(hSerial,&dcbSerialParams);

        dcbSerialParams.BaudRate = CBR_9600;
        dcbSerialParams.ByteSize = 8;
        dcbSerialParams.Parity = NOPARITY;
        dcbSerialParams.StopBits = ONESTOPBIT;

        SetCommState(hSerial, &dcbSerialParams);
        }
        else
        {
                if (GetLastError() == ERROR_FILE_NOT_FOUND)
                {
                        printf("Serial port doesn't exist! \n");
                }

                printf("Error while setting up serial port! \n");
        }

        char outputChars[] = "c";
        DWORD btsIO;

        CvSize size640x480 = cvSize(640, 480);         
        CvCapture* p_capWebcam;                        
        IplImage* p_imgOriginal;       
        IplImage* p_imgProcessed;                      
        IplImage* p_imgHSV;

        CvMemStorage* p_strStorage;            
        CvSeq* p_seqCircles;                                   
        float* p_fltXYRadius;                          
                       
        char charCheckForEscKey;                       

        p_capWebcam = cvCaptureFromCAM(0);     

        if(p_capWebcam == NULL) {                       // if capture was not successful . . .
                printf("error: capture is NULL \n");    // error message to standard out . . .
                getchar();                     
                return(-1);                    
        }

                                               
        cvNamedWindow("Original", CV_WINDOW_AUTOSIZE);          // original image from webcam
        cvNamedWindow("Processed", CV_WINDOW_AUTOSIZE);        

        createTrackbars();
        p_imgProcessed = cvCreateImage(size640x480,            
        IPL_DEPTH_8U,           // 8-bit color depth
        1);             // 1 channel (grayscale), if this was a color image, use 3

        p_imgHSV = cvCreateImage(size640x480, IPL_DEPTH_8U, 3);

        // Variables for Arduino Control
        int servoPosition = 90;
        int servoOrientation = 0;
        int servoPosition1=90;
        int servoOrientation1=0;

        // Main program loop
        while(1) {                                     
                p_imgOriginal = cvQueryFrame(p_capWebcam);
               
                if(p_imgOriginal == NULL) {            
                        printf("error: frame is NULL \n");     
                        getchar();
                        break;
                }


                cvCvtColor(p_imgOriginal, p_imgHSV, CV_BGR2HSV);

                cvInRangeS(p_imgHSV,                            // function input
                                   cvScalar(H_MIN,  S_MIN,  V_MIN),
                                   cvScalar(H_MAX, S_MAX, V_MAX),
                                   p_imgProcessed);            

                p_strStorage = cvCreateMemStorage(0);

                                                       
                cvSmooth(p_imgProcessed,                // function input
                                 p_imgProcessed,                // function output
                                 CV_GAUSSIAN,          
                                 9,     // smoothing filter window width
                                 9);    // smoothing filter window height

                                       
                p_seqCircles = cvHoughCircles(p_imgProcessed,p_strStorage,CV_HOUGH_GRADIENT, 2,p_imgProcessed->height / 4,    100, 50, 10, 400);                              if (p_seqCircles->total == 0)
                {
                        if (servoOrientation == 0)
                        {
                                if (servoPosition >= 90)
                                        servoOrientation = 1;
                                else
                                        servoOrientation = -1;
                        }

                        if (servoOrientation == 1)
                        {
                                outputChars[0] = 'l';
                                WriteFile(hSerial, outputChars, strlen(outputChars), &btsIO, NULL);

                                // This code is identical to the one on the Arduino side
                                servoPosition+=1;

                                if (servoPosition > 180)
                                {
                                        servoPosition = 180;
                                        servoOrientation = -1;
                                }
                        }
                }
                    if (p_seqCircles->total == 1)
                        {
                        p_fltXYRadius = (float*)cvGetSeqElem(p_seqCircles, 1); 
                        printf("ball position x = %f, y = %f, r = %f \n", p_fltXYRadius[0], p_fltXYRadius[1],p_fltXYRadius[2]);     // radius of circle

                        cvCircle(p_imgOriginal, cvPoint(cvRound(p_fltXYRadius[0]), cvRound(p_fltXYRadius[1])),3,CV_RGB(0,255,0),CV_FILLED);               
                        cvCircle(p_imgOriginal, cvPoint(cvRound(p_fltXYRadius[0]), cvRound(p_fltXYRadius[1])), cvRound(p_fltXYRadius[2]),CV_RGB(255,0,0),3);                                  
                }       // end for

                cvShowImage("Original", p_imgOriginal);                 // original image with detectec ball overlay
                cvShowImage("Processed", p_imgProcessed);               // image after processing

                cvReleaseMemStorage(&p_strStorage);                    

                charCheckForEscKey = cvWaitKey(10);    
                if(charCheckForEscKey == 27) break;            
        }       // end while

        cvReleaseCapture(&p_capWebcam);                
        cvDestroyWindow("Original");
        cvDestroyWindow("Processed");
CloseHandle(hSerial);

        return(0);
}



Link MODUL : DOnwload