如何用Java控制霍尔传感器

电子说

1.3w人已加入

描述

步骤1:硬件清单

3 *杜邦母对母

1 * pcDuino

1 *连接器霍尔传感器

上一张幻灯片

步骤2:接线图

霍尔传感器pcDuino

VCC 3.3V

GND GND

D1-D13之一必须与代码相同

步骤3:测试代码

GPIO控制实体类

package com.test;

import java.io.BufferedReader;

import java.io.File ;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

公共类GPIO_Pin {

private String modeURI =“/sys/devices/virtual/misc/gpio/mode/“;

私有字符串statusURI =”/sys/devices/virtual/misc/gpio/pin/“;

private int pin = 0;

public static final String高=“ 1”,低=“ 0”,输入=“ 0”,输出=“ 1”,输入_PU =“ 8 “;

public GPIO_Pin(int引脚){

modeURI + =” gpio“ +引脚;

statusURI + =” gpio“ +引脚;

this.pin =引脚;

}

public GPIO_Pin(String pin){

//终结文件路径

modeURI + =“ gpio” +引脚;

statusURI + =“ gpio” +引脚;

this.pin =整数。 parseInt(pin);

}

public int getPin(){

return pin;

}

public void overlayURI(String uri){

modeURI = uri +“ mode/gpio “ + pin;

statusURI = uri +” pin/gpio“ + pin;

}

public void setMode(字符串模式){

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(){

试试{

BufferedReader reader = new BufferedReader(new FileReader(getModeURI()));

字符串数据= reader.readLine();

reader.close();

返回数据;

} catch(IOException e){

}

return“”;

}

public String getPinStatus(){

试试{

BufferedReader reader = new BufferedReader(new FileReader (getStatusURI()));

字符串数据= reader.readLine();

reader.close();

返回数据;

} catch(IOException e){

}

返回“”;

}

私有无效writeToFile(String URI,String data){

试试{

File file = new File(URI);

file.delete();

文件newFile =新文件(URI);

newFile.createNewFile();

FileWriter writer =新FileWriter(URI);

writer.write(data);

writer.close() ;

} catch(IOException e){

e.printStackTrace();

}

}

public static void main(S tring [] args)抛出InterruptedException {

GPIO_Pin ledpin = new GPIO_Pin(1);

ledpin.setModeOUTPUT();

while(true){

ledpin.setHIGH();

线程.sleep(400);

ledpin.setLOW();

Thread.sleep(400);

}

}

}

测试类

包com.trc。 gpio;

公共类测试{

/**

* @param args

* @throws InterruptedException

*/

public static void main(String [] args)抛出InterruptedException {

//TODO自动生成的方法存根

GPIO_Pin buttenpin =新的GPIO_Pin(9);

GPIO_Pin ledpin =新的GPIO_Pin(8);

buttenpin.setModeINPUT();

ledpin.setModeOUTPUT ();

while(true){

System.out.println();

//ledpin.setLOW();

System.out.println(buttenpin.getPinMode());

Thread.sleep(4);

}

}

}

步骤4:测试结果

JAVA

有金属盖时,将显示不同的显示。
       责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分