资讯详情

如何用Java控制霍尔传感器

第一步:硬件清单

3*杜邦母对母

1*pcDuino

上一张幻灯片

步骤2:接线图

5f01e2a6593d43304611e576ab0d6181.png

霍尔传感器pcDuino

VCC3.3V

GNDGND

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

第三步:测试代码

GPIO控制实体类

packagecom.test;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileReader;

importjava.io.FileWriter;

importjava.io.IOException;

公共类GPIO_Pin{

privateStringmodeURI=“/sys/devices/virtual/misc/gpio/mode/“;

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

privateintpin=0;

publicstaticfinalString高=“1”,低=“0”,输入=“0”,输出=“1”,输入_PU=“8“;

publicGPIO_Pin(int引脚){

modeURI =”gpio“ 引脚;

statusURI =”gpio“ 引脚;

this.pin=引脚;

}

publicGPIO_Pin(Stringpin){

///终结文件路径

modeURI =“gpio” 引脚;

statusURI =“gpio” 引脚;

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

}

publicintgetPin(){

returnpin;

}

publicvoidoverlayURI(Stringuri){

modeURI=uri “mode/gpio“ pin;

statusURI=uri ”pin/gpio“ pin;

}

publicvoidsetMode(字符串模式){

writeToFile(getModeURI(),mode);

}

publicvoidset(Stringstate){

writeToFile(getStatusURI(),state);

}

publicvoidsetHIGH(){

writeToFile(getStatusURI(),HIGH);

}

publicvoidsetLOW(){

writeToFile(getStatusURI(),LOW);

}

publicvoidsetModeINPUT(){

writeToFile(getModeURI(),INPUT);

}

publicvoidsetModeOUTPUT(){

writeToFile(getModeURI(),OUTPUT);

}

publicvoidsetModeINPUT_PU(){

writeToFile(getModeURI(),INPUT_PU);

}

publicStringgetModeURI(){

returnmodeURI;

}

publicStringgetStatusURI(){

returnstatusURI;

}

publicStringgetPinMode(){

试试{

BufferedReaderreader=newBufferedReader(newFileReader(getModeURI()));

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

reader.close();

返回数据;

}catch(IOExceptione){

}

return“”;

}

publicStringgetPinStatus(){

试试{

BufferedReaderreader=newBufferedReader(newFileReader(getStatusURI()));

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

reader.close();

返回数据;

}catch(IOExceptione){

}

返回“”;

}

私有无效writeToFile(StringURI,Stringdata){

试试{

Filefile=newFile(URI);

file.delete();

文件newFile=新文件(URI);

newFile.createNewFile();

FileWriterwriter=新FileWriter(URI);

writer.write(data);

writer.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

publicstaticvoidmain(String[]args)抛出InterruptedException{

GPIO_Pinledpin=newGPIO_Pin(1);

ledpin.setModeOUTPUT();

while(true){

ledpin.setHIGH();

线程.sleep(400);

ledpin.setLOW();

Thread.sleep(400);

}

}

}

测试类

包com.trc。gpio;

公共类测试{

/**

*@paramargs

*@throwsInterruptedException

*/

publicstaticvoidmain(String[]args)抛出InterruptedException{

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

GPIO_Pinbuttenpin=新的GPIO_Pin(9);

GPIO_Pinledpin=新的GPIO_Pin(8);

buttenpin.setModeINPUT();

ledpin.setModeOUTPUT();

while(true){

System.out.println();

//ledpin.setLOW();

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

Thread.sleep(4);

}

}

}

步骤4:测试结果

有金属盖时,会显示不同的显示。

责任编辑:wv

标签: trc传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台