[vc_row][vc_column width=”1/1″][vc_tour][vc_tab title=”Introduction” tab_id=”1393938574-1-83″][vc_column_text]The Hall effect is the production of a voltage difference (the Hall voltage) across an electrical conductor, transverse to an electric current in the conductor and a magnetic field perpendicular to the current.
In this post, we will look at how to read the status of Linker hall module using Java.
[/vc_column_text][/vc_tab][vc_tab title=”Parts List” tab_id=”1393938574-2-91″][vc_column_text]
- Several make to female jumper wires
- 1 x [bigcommerce link=”/pcduino-an-minipc-with-arduino-headers-ubuntu-android-google-tv/” target=”_blank”]pcDuino[/bigcommerce]
- 1 x [bigcommerce link=”/hall-module-of-linker-kit-for-pcduino-arduino/” target=”_blank”]Linker Hall Sensor[/bigcommerce]
[/vc_column_text][/vc_tab][vc_tab title=”Wiring Diagram” tab_id=”1393939180791-2-0″][vc_column_text]
Linker Hall module | pcDuino |
VCC | 3.3V |
GND | GND |
RX | one of D1-D13 must be the same as the code |
[/vc_column_text][/vc_tab][vc_tab title=”Sample Code” tab_id=”1393939346967-3-7″][vc_column_text]GPIO control 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 code:
package com.trc.gpio; public class test { /** * @param args * @throws InterruptedException */ public static void main(String[] args) throws InterruptedException { // TODO Auto-generated method stub GPIO_Pin buttenpin=new GPIO_Pin(9); GPIO_Pin ledpin=new GPIO_Pin(8); buttenpin.setModeINPUT(); ledpin.setModeOUTPUT(); while (true) { System.out.println(); //ledpin.setLOW(); System.out.println(buttenpin.getPinMode()); Thread.sleep(4); } } }
[/vc_column_text][/vc_tab][vc_tab title=”Test Result” tab_id=”1393939565117-4-1″][vc_column_text]When there is a magnet nearby, we will have a different reading.
Leave a Reply
You must be logged in to post a comment.