Introduction: Operate Linker Tilt by Java

Linker Tilt is one of the tilt sensor of  Linker series product.

It makes up of metal ball with two touching point inside and it can work without the precise tilt test environment.

It cost less and easier to use compared to  gyroscope .

Step 1: Part List

1. 1  x  pcDuino V2 v2

2. 1  x  Linker base shield

3. 1 x pcDuino linker kit 20cm cable

4. 1  x  Linker tilt

Step 2: Diagram Wire

linker tilt   –  > GPIO 9 with  linker kit 20cm  cable     then  power on the pcDuino

Step 3: Test Code


//GPIO Control entity class
package com.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class GPIO_Pin {

    private String modeURI = "/sys/devices/virtual/misc/gpio/mode/";
    private String statusURI = "/sys/devices/virtual/misc/gpio/pin/";
    private int pin = 0;
    public static final String HIGH = "1", LOW = "0", INPUT = "0", OUTPUT = "1", INPUT_PU = "8";

    public GPIO_Pin(int pin) {
        modeURI += "gpio" + pin;
        statusURI += "gpio" + pin;
        this.pin = pin;
    }

    public GPIO_Pin(String pin) {
        // Finalize file paths
        modeURI += "gpio" + pin;
        statusURI += "gpio" + pin;
        this.pin =Integer.parseInt(pin);
    }

    public int getPin() {
        return pin;
    }

    public void overrideURI(String uri) {
        modeURI = uri + "mode/gpio" + pin;
        statusURI = uri + "pin/gpio" + pin;
    }

    public void setMode(String mode) {
        writeToFile(getModeURI(), mode);
    }

    public void set(String state) {
        writeToFile(getStatusURI(), state);
    }

    public void setHIGH() {
        writeToFile(getStatusURI(), HIGH);
    }

    public void setLOW() {
        writeToFile(getStatusURI(), LOW);
    }

    public void setModeINPUT() {
        writeToFile(getModeURI(), INPUT);
    }

    public void setModeOUTPUT() {
        writeToFile(getModeURI(), OUTPUT);
    }

    public void setModeINPUT_PU() {
        writeToFile(getModeURI(), INPUT_PU);
    }

    public String getModeURI() {
        return modeURI;
    }

    public String getStatusURI() {
        return statusURI;
    }

    public String getPinMode() {
        try {
            BufferedReader reader = new BufferedReader(new FileReader(getModeURI()));
            String data = reader.readLine();
            reader.close();
            return data;
        } catch (IOException e) {
        }
        return "";
    }

    public String getPinStatus() {
        try {
            BufferedReader reader = new BufferedReader(new FileReader(getStatusURI()));
            String data = reader.readLine();
            reader.close();
            return data;
        } catch (IOException e) {
        }
        return "";
    }

    private void writeToFile(String URI, String data) {
        try {
            File file = new File(URI);
            file.delete();
            File newFile = new File(URI);
            newFile.createNewFile();
            FileWriter writer = new FileWriter(URI);
            writer.write(data);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) throws InterruptedException {
        GPIO_Pin ledpin=new GPIO_Pin(1);
        ledpin.setModeOUTPUT();
        while (true) {
            ledpin.setHIGH();
            Thread.sleep(400);
            ledpin.setLOW();
            Thread.sleep(400);
        }
    }
}
test class
package com.test;

public class test {
    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub
        GPIO_Pin buttenpin=new GPIO_Pin(9);
        buttenpin.setModeINPUT();

        while (true) {
            System.out.println(buttenpin.getPinStatus()                                                                                                                        );
            Thread.sleep(4);
            }
    }

}

Step 4: Test Result

you can see the output at the console

Comments

About This Instructable

771views

6favorites

License:

More by Yanny Guo:Use pcDuino as Photo Booth ControllerUse Si4703 FM Breakout Board on Arduino UnoUse SIM900 GPRS/GSM Shield on pcDuino
Add instructable to: