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.

Tuesday, May 23, 2017

Macam-macam gaya (style) bersepeda #bikersMania #Bikers #SepedaGunung

Produsen sepeda mengkategorikan sepeda gunung buatan mereka berdasarkan style atau gaya bersepeda dengan tujuan lebih memudahkan pesepeda dalam memilih tipe sepeda yang cocok buat mereka.



Cross-Country (XC)


Sepeda jenis Cross Country alias XC ini adalah tipe yang paling umum untuk sepeda gunung karena relatif serbaguna dan bobotnya cukup ringan. Sepeda ini umumnya dipakai untuk trek rata beraspal sampai ke trek tanah yang kasar. Sepeda XC didesain agar efisien dan mudah dikayuh sehingga dapat melaju dengan cukup cepat untuk menjangkau jarak yang lebih jauh.

Sepeda jenis ini umumnya dilengkapi dengan suspensi depan walau ada beberapa yang tidak dilengkapi suspensi sama sekali. Sepeda ini cocok untuk pesepeda pemula yang tertarik untuk mencoba bersepeda menggunakan sepeda gunung (MTB).


Trail

Sepeda jenis Trail adalah pengembangan dari jenis Cross Country. Sepeda Trail masih dapat menjangkau jarak yang jauh tetapi lebih nyaman dikontrol ketika dipakai melintasi jalanan kasar dengan variasi tanjakan dan turunan. Dibandingkan dengan jenis Cross Country, sepeda Trail biasanya sedikit lebih berat dan lebih kuat, sehingga lebih dapat diandalkan untuk melintasi jalanan yang berbatu.


Enduro / All Mountain (AM)

Untuk melewati jalanan yang lebih berat penuh dengan gundukan tanah yang lebih besar, melaju menaiki dan menuruni bukit dengan kecepatan yang tinggi sambil melompat turun (drop) atau melompat keatas (jump) pesepeda dapat menggunakan sepeda jenis All Mountain (AM) atau Enduro. Sepeda AM sedikit lebih berat dibandingkan dengan sepeda jenis Trail, namun dibuat agar lebih kuat menahan benturan yang lebih besar dari trek yang lebih menantang.

Untuk membantu meningkatkan stabilitas, sepeda AM dibuat lebih panjang dibandingkan dengan sepeda XC atau trail serta menggunakan stang yang lebih panjang dan stem yang lebih pendek untuk kemudi yang lebih reaktif.



Downhill (DH)

Sesuai dengan namanya, sepeda jenis Downhill (DH) dibuat khusus untuk menuruni lereng bukit atau gunung dengan kecepatan tinggi. Karena prioritas utamanya adalah kekuatan dan daya tahan, sepeda jenis DH ini biasanya lebih berat dibandingkan sepeda jenis lainnya. Untuk membawanya menaiki bukit atau gunung, sepeda ini tidak dikayuh melainkan didorong atau diangkut dengan mobil.


Free Ride (FR)

Sepeda jenis Free Ride (FR) mirip dengan sepeda jenis Downhill namun lebih ringan dan lebih mudah untuk dipakai bermanuver. Sepeda ini dibuat untuk melakukan lompatan tinggi (drop off) dan teknik-teknik ekstrim lainnya


Dirt Jump (DJ)

Sepeda jenis Dirt Jump boleh dikatakan semacam sepeda BMX yang dibuat lebih besar. Sepeda DJ dirancang untuk banyak melakukan atraksi akrobatik dan lompatan ekstrim diudara. Sepeda DJ tidak cocok digunakan untuk perjalanan jauh.


Macam macam Sepeda Gunung -MTB- HiIl

Sejak Baron von Drais menciptakan Draisine pada awal abad ke-19 sampai jaman modern awal abad ke-21 sekarang ini, sepeda telah mengalami perkembangan yang begitu pesat. Dari sekedar alat beroda dua yang dijalankan dengan kaki pengendaranya menjejak ke tanah sampai sekarang dengan berbagai tipe dan kegunaan yang bermacam-macam. Berbagai jenis sepeda dibuat dengan bentuk dan karakteristik tertentu. Salah satu jenis sepeda yang banyak dipakai adalah sepeda gunung.

Sepeda gunung atau dalam istilah bahasa Inggris dikenal sebagai Mountain bike (MTB) atau All Terrain Bike (ATB) adalah salah satu jenis sepeda yang diperuntukkan untuk bersepeda di medan off-road atau medan yang berat. Lintasan yang dilalui pada umumnya berupa jalan tanah yang tidak rata, berkerikil atau berbatu, becek, berlumpur, berpasir, dan memiliki beberapa tanjakan atau turunan yang tajam.

Untuk menyesuaikan dengan jenis medan yang dilaluinya, konstruksi sepeda gunung berbeda dengan sepeda jenis lainnya. Pada sepeda gunung terdapat suspensi (shock breaker/shock), ban dengan kembangan (knob) besar, roda yang kuat, rem yang kuat dan tentunya frame yang kuat.



Jenis sepeda gunung berdasarkan tipe suspensi


Suspensi adalah suatu alat yang digunakan untuk mengurangi efek getaran yang dirasakan oleh pesepeda yang timbul akibat benturan sepeda dengan jalanan yang tidak rata. Suspensi depan di bagian fork berguna untuk mengurangi rasa lelah pada anggota badan bagian atas dan memudahkan handling kemudi sepeda, sedangkan suspensi belakang di bagian frame selain berguna untuk mengurangi rasa lelah, juga berguna untuk menyerap benturan, membantu roda tetap bersentuhan dengan tanah dan meningkatkan kontrol atas sepeda.

Rigid. Sepeda jenis ini tidak dilengkapi dengan suspensi. Sepeda ini biasanya digunakan untuk bersepeda santai cross country low end.


Hardtail. Sepeda jenis hardtail memiliki suspensi hanya di bagian depan (fork) saja. Sepeda ini biasanya digunakan untuk melewati trek yang bervariasi. Ketiadaan suspensi belakang dapat memudahkan pesepeda untuk meningkatkan kecepatan.



Softail. Sepeda jenis ini mempunyai suspensi belakang yang kecil. Sepeda softail dibuat untuk mendapatkan kenyamanan sepeda full suspension dan kecepatan seperti halnya sepeda hardtail.


Full Suspension. Sepeda ini dilengkapi dengan suspensi depan dan suspensi belakang. Pada sepeda jenis ini ban belakang dapat naik-turun mengikuti kontur medan yang dilalui. Sepeda full suspension cocok digunakan untuk trek offroad dengan kontur tanah yang tidak rata dan berbatu. Shock depan dan belakang akan meredam getaran sehingga pesepeda akan merasa lebih nyaman.

Tuesday, April 25, 2017

KENDALI IoT Menggunakan Laptop Versi Arduino UNO 1.6 // VB.6


Selamat membaca dan menikmati sajian lezat di atas LAPY dengan PC Arduino UNO ......

Semangat Mencoba :

1. Open Arduino UNO, Versi sesuka Hati 


2. Masukan Program berikut :


int ledPin = 13; // the number of the LED pin
char ser;

void setup() {
  Serial.begin(9600);  // komunikasi serial dari Arduino ke Komputer
    pinMode(13,OUTPUT);
    digitalWrite(ledPin,LOW);
 }

void loop() {

// Program Bottom
  ser = Serial.read();
  if (ser == 'H')
  {
    digitalWrite (ledPin,HIGH);
  }
  else  if(ser == 'M')
  {
   digitalWrite (ledPin,LOW);
  }
 
}


3. Setelah Verify pada arduino maka Open Visual Basic 2006, kemudian buat lah layout


4. settingan shape sebagai berikut : 




5. Setting Bottom : "Command"


6. Input Comm  atau hubungan serial pada arduino ke PC




7. Nah, Apabila terjadi kendala makan pastikan settingan pada COM ...


8. Tinggal masukan Program VB.6.0

    Private Sub Command1_Click()
    Shape1.BackColor = vbRed
    MSComm1.Output = "H"
    Text1.Text = "HIDUP" 
    End Sub

    Private Sub Command2_Click()
    Shape1.FillColor = vbWhite
    MSComm1.Output = "M"
    Text1.Text = "MATI"
    End Sub

    Private Sub Form_Load()
    MSComm1.PortOpen = True
    End Sub

9. Cek UP  ?  Selesai 

NB : Pastikan arduino Uno sudah tertancap di PC atau Laptop


 

#Aliksetiawan
#Zero_Alset
#Cahilangall

Thursday, April 6, 2017

Tutorial Menambahkan Library Arduino Ke Proteus 8.0

Tutorial Menambahkan Library Ke Proteus 8.0

Semagat pagi Bloggers, Semoga bermanfaat :


1.       Seaching di PC Lalu ketikan “ C:\programdata “

2.       Lalukan Muncul Programdata

3.       Kemudian cari File yang bernama “Labcenter Electronics “

4.       Masuk ke File Proteus

5.       Masuk ke Library

6.       Nah tinggal Copykan File Yang akan di ditambahankan “ Copy paste “

7.       Contoh Library Arduino

8.       Selesai,, Hasilnya




#Aliksetiawan
#Zero_Alset
#Cahilangall




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