Operate Linker Tilt by Java

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 .

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

Be the First to Share

    Recommendations

    • Magnets Challenge

      Magnets Challenge
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest

    Discussions