arduino的此代码是否有问题?

时间:2020-08-28 12:21:47

标签: arduino sensors

我一直在与Arduino合作进行一个小项目,以模拟我的房屋传感器! 现在,我遇到了一个问题,即如果尝试运行传感器,则串行监视器显示为空白。从配置布局到编写代码一百万次,我一直尝试所有操作,并且只专注于PIR传感器和Temp传感器。老实说,我对此感到困惑。任何帮助将不胜感激!

此刻的想法是每秒钟打印出每个传感器的活动或不活动状态,并每10秒钟左右打印一次温度。

电路: Arduino connected to 4 PIR sensors via breadboard

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;
}

1 个答案:

答案 0 :(得分:0)

当前您的代码无法运行,因为您没有loop函数。将int main重命名为void loop(并删除return 0)。

(同样,您目前根本不调用Temp,并且检查传感器的频率比每秒少,因为整个检查过程需要4秒钟。但是第一步将是使代码实际执行,那么您可以找出其余的内容。)