Translate

Membuat Alat Dengan Kendali Gesture Leap Motion & Arduino

Membuat Alat Dengan Kendali Gesture Leap Motion & Arduino


            Kali ini saya akan bercerita mengenai bagaimana cara membuat alat dengan kendali Leap Motion, jika belum tahu apa itu Leap Motion silahkan tanyakan mbah gugel atau om yutub, Leap Motion adalah alat yang digunakan untuk mendeteksi gesture tangan atau juga bisa digunakan untuk deteksi jari2 secara real time, sehingga alat ini bisa difungsikan sebagai sensor gerak, pada contoh kali ini saya menjelaskan tentang kendali 4 buah led menggunakan gesture Leap Motion, berikut program dan skemanya.



a. Arduino Uno





b. Leap Motion 





c. Program Processing IDE

    // An array of LEDs lit up by LEAP motion on an ARDUINO

    // LEAP libraries
    import de.voidplus.leapmotion.*;
    LeapMotion leap;

    // Serial Port Output
    import processing.serial.*; // Serial libraries, send OUTPUT through USB
    Serial myPort;

    int ledPin;
    int checkPin;

    void setup() {
    size(800, 500, P3D);
    background(255);
    noStroke();
    fill(50);
    // New port object
    myPort = new Serial(this, Serial.list()[0], 9600);

    // New leap object
    leap = new LeapMotion(this);
    }

    void draw() {
    background(255);

    // Leap magic
    int fps = leap.getFrameRate();

    // Clean LEAP Hand position
    for (Hand hand : leap.getHands()) {

    hand.draw();
    PVector hand_position = hand.getPosition();
     println("Hand on X: " + hand.getPosition().x );
     println("Hand on Y: " + hand.getPosition().y );
    // Determine ledPin according to mapped hand x position

    checkPin = (int) map(hand.getPosition().x, 0, 700, 8, 14);
    if (ledPin != checkPin) {
    assignPin();
    }

    // Send ledPin number through port

    }
    }
   
    void assignPin() {
    ledPin = checkPin;
    myPort.write(ledPin);
    println("Serial Output: " + ledPin);

    }
   
    void leapOnInit() {
    // println(“Leap Motion Init”);
    }
    void leapOnConnect() {
    // println(“Leap Motion Connect”);
    }
    void leapOnFrame() {
    // println(“Leap Motion Frame”);
    }
    void leapOnDisconnect() {
    // println(“Leap Motion Disconnect”);
    }
    void leapOnExit() {
    // println(“Leap Motion Exit”);
    }
   
   
   

d. Program Arduino IDE

     // Arduino sketch turn LED on via serial input from Processing

    // Define main variables
 int ledPin = 0;
 int currentRead;

    // Slowing down the process
    //unsigned long millisCounter = 0;
    //int interval = 10;

    // activate the pins I want to use on my board
 int myPins[5] = {
 9, 10, 11, 12, 13};

 void setup() {
    // Activate all Digital pins on my board
 for (int i = 0; i < 5; i++) {
 pinMode(myPins[i], OUTPUT);
    }
 Serial.begin(9600);
    }
   
 void loop() {

    if (Serial.available()) {
    currentRead = Serial.read();
    if(currentRead != ledPin) {
    digitalWrite(ledPin, LOW);
    ledPin = currentRead;
    digitalWrite(ledPin, HIGH);
    }
    }
    }
   


e. Cara Menginstal Library

- Pertama buka procssing -> sketch -> import library -> add library
- lalu pilih seperti di gambar dan install




f. VIDEO HASILNYA










No comments:

Post a Comment