所以我现在有一台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);
}发布于 2013-06-13 21:55:06
您可能已启用内部上拉电阻,因此当未连接任何东西时,它将显示为高电平。
此外,这两种说法是相互矛盾的:
由于某种原因,即使未连接传感器,程序也会始终读取传感器为高电平。
如果我将输出连接到带LED的电路板,我可以看到LED的开关。
因此,程序总是读高,但LED切换为开或关?是哪一个?
如果您手动将引脚拉到地面,您的程序是否按预期方式做出反应?如果是这样,那么你应该检查一下你的传感器电路。
你的感应器电路听起来很奇怪-你会说
I的传感器有3个引脚、5VDC、接地和传感器输出。我将传感器输出和接地接头连接到PORT0的两个引脚插槽
所以传感器输出和地连接到引脚0? 5v应该到5v,地应该到地,传感器输出应该到引脚0。
https://stackoverflow.com/questions/17076945
复制相似问题