我一直在与Arduino合作进行一个小项目,以模拟我的房屋传感器! 现在,我遇到了一个问题,即如果尝试运行传感器,则串行监视器显示为空白。从配置布局到编写代码一百万次,我一直尝试所有操作,并且只专注于PIR传感器和Temp传感器。老实说,我对此感到困惑。任何帮助将不胜感激!
此刻的想法是每秒钟打印出每个传感器的活动或不活动状态,并每10秒钟左右打印一次温度。
void setup()
{
Serial.begin(9600);
pinMode(7, INPUT);
pinMode(6, INPUT);
pinMode(5, INPUT);
pinMode(4, INPUT);
}
void Nsensor()
{
if (digitalRead(7) == HIGH)
{
Serial.println("N:Active");
} else {
Serial.println("N:Inactive");
}
}
void Esensor()
{
if (digitalRead(6) == HIGH)
{
Serial.println("E:Active");
} else {
Serial.println("E:Inactive");
}
}
void Ssensor()
{
if (digitalRead(5) == HIGH)
{
Serial.println("S:Active");
} else {
Serial.println("S:Inactive");
}
}
void Wsensor()
{
if (digitalRead(4) == HIGH)
{
Serial.println("W:Active");
} else {
Serial.println("W:Inactive");
}
}
void Temp()
{
int tmp = analogRead(A0);
float voltage = (tmp * 5.0)/1024;
float milliVolt = voltage * 1000;
float temperature = (milliVolt-500)/10 ;
Serial.print("The temperature is: ");
Serial.println(temperature);
}
int main()
{
Nsensor();
delay(1000);
Esensor();
delay(1000);
Ssensor();
delay(1000);
Wsensor();
delay(1000);
return 0;
}
答案 0 :(得分:0)
当前您的代码无法运行,因为您没有loop
函数。将int main
重命名为void loop
(并删除return 0
)。
(同样,您目前根本不调用Temp
,并且检查传感器的频率比每秒少,因为整个检查过程需要4秒钟。但是第一步将是使代码实际执行,那么您可以找出其余的内容。)