如何设置仅读取DHT11传感器的Arduino复位功能

如何设置仅读取DHT11传感器的Arduino复位功能,arduino,Arduino,在玩DHT11传感器时,我意识到Arduino在硬复位后发现传感器断开。我的问题是如何在保持变量不变的情况下每分钟重置Arduino,因为我有许多依赖于前一状态的变量。例如,当Arduino检测到传感器断开时,我希望变量(I)等于2。这就是我试过的。(这绝对是错误的,而且仍处于开发阶段)。可能吗 #include <dht11.h> int led1=10; //Green Light (Working) int i=0;//Status variable

在玩DHT11传感器时,我意识到Arduino在硬复位后发现传感器断开。我的问题是如何在保持变量不变的情况下每分钟重置Arduino,因为我有许多依赖于前一状态的变量。例如,当Arduino检测到传感器断开时,我希望变量(I)等于2。这就是我试过的。(这绝对是错误的,而且仍处于开发阶段)。可能吗

#include <dht11.h>
    int led1=10; //Green Light (Working)
    int  i=0;//Status variable
    int l=13;//Button Press indicator
dht11 DHT11;
#define DHT11PIN 7
    int  led2=12;//Red Light (Not working)
    int led3=11;//Warning Light (Yellow)
    int input=2; //LED Reset Button  
    int oldButtonState = LOW;
void setup()
{
   Serial.begin(9600);
   pinMode(input,INPUT);
   pinMode(led1,OUTPUT);
   pinMode(led2,OUTPUT);
   pinMode(led3,OUTPUT);
   pinMode(l,OUTPUT);  
}
void(* resetFunc) (void) = 0;
  void loop() {
for (int j=0;j<60;j++){
  int chk = DHT11.read(DHT11PIN);
Serial.print("Temperature (C): ");
  int temp=DHT11.temperature;   
  Serial.println((float)temp,2);
delay(100);
}
resetFunc();
  int newButtonState = digitalRead(input);
        if (newButtonState == HIGH && oldButtonState == LOW) {
    digitalWrite(l,HIGH);
    i+=1;}

    else if (newButtonState == LOW && oldButtonState == HIGH) digitalWrite(l,LOW);
    if (i == 3) {
      i = 0;
    }

    if(i==0){
      digitalWrite(led1,HIGH);
      digitalWrite(led3,LOW);
      digitalWrite(led2,LOW);
    }
    else if (i==1){
      digitalWrite(led1,LOW);
      digitalWrite(led3,HIGH);
      digitalWrite(led2,LOW);
    }
    else if(i==2){
      digitalWrite(led1,LOW);
      digitalWrite(led3,LOW);
      digitalWrite(led2,HIGH);
    }

     oldButtonState = newButtonState;

   }
#包括
int-led1=10//绿灯(工作)
int i=0//状态变量
int l=13//按钮按下指示器
dht11 dht11;
#在7中定义DHT11
int-led2=12//红灯(不工作)
int-led3=11//警告灯(黄色)
int输入=2//LED复位按钮
int oldButtonState=低;
无效设置()
{
Serial.begin(9600);
pinMode(输入,输入);
引脚模式(led1,输出);
引脚模式(led2,输出);
引脚模式(led3,输出);
pinMode(l,输出);
}
无效(*resetFunc)(无效)=0;
void循环(){

对于(int j=0;j为什么传感器断开?尝试将
dht11 dht11;
移动到loop()@Juraj它不会断开连接,我计划将此Arduino部署在一个有LED和互联网连接的远程位置。我将无法每天访问Arduino。我只想知道如果传感器无法正常工作,传感器何时断开连接。