Как установить функцию сброса Arduino для чтения только датчика DHT11 - PullRequest
0 голосов
/ 08 января 2020

Играя с датчиком 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;

   }

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...