使用Pic32和MPIDE读取传感器输入

时间:2013-06-12 23:17:23

标签: arduino sensor pic

所以我目前有一个pic32 arduino。我对这些东西很陌生,所以任何提示都会受到赞赏。

我的传感器有3个引脚,5VDC,接地和传感器输出。我将传感器输出和接地接头连接到PORT0处的两个引脚插槽。

由于某种原因,即使未连接传感器,程序也会始终读取传感器HIGH

如果我将输出连接到带LED的面包板,我可以看到LED打开和关闭。

这是我的代码:

const int sensor = 0; //sensor port
int sensorState = LOW;

void setup(){ 
pinMode(ledPin, OUTPUT);
pinMode(piezo, OUTPUT);
pinMode(sensor,  INPUT);
Serial.begin(9600);
}

void loop(){
sensorState = digitalRead(sensor);
if(sensorState == HIGH)
   alarm();
digitalWrite(ledPin, sensorState);
Serial.println(sensorState);
}

1 个答案:

答案 0 :(得分:1)

您可能启用了内部上拉电阻,因此当未连接任何内容时,它将读为高电平。

此外,这两个陈述是矛盾的:

  

由于某种原因,即使未连接传感器,程序也会始终读取传感器为高电平。

     

如果我将输出连接到带LED的面包板,我可以看到LED打开和关闭。

所以程序总是读高,但LED会打开或关闭?哪一个?

如果您手动将引脚拉到地,您的程序是否会按照预期的方式做出反应?如果是,那么你应该看看你的传感器电路。

你的传感器电路听起来很奇怪 - 你说

  

我的传感器有3个引脚,5VDC,接地和传感器输出。我将传感器输出和接地接头连接到PORT0的两个引脚插槽

因此传感器输出和接地连接到引脚零点? 5v应该到5v,接地应该接地,传感器输出应该到零引脚。