Попытка сделать датчик пламени - код дает мне противоположность желаемого эффекта - PullRequest
0 голосов
/ 27 октября 2019

Я действительно новичок в кодировании и Arduino, поэтому буду вечно благодарен за помощь.

Я пытаюсь создать действительно простой датчик пламени, который подает звуковой сигнал, загорается светодиод и отображает предупреждениесообщение, когда датчик обнаруживает пламя на последовательном мониторе. Моя проблема на данный момент в том, что он делает противоположное тому, что должен. Светодиод горит, а на последовательном мониторе отображается сообщение о пожаре, когда ничего не происходит. Одновременно датчик, похоже, ничего не обнаруживает. Я не хочу беспокоить вас слишком сильно, поэтому я просто хочу знать, есть ли какая-то причина, почему код каким-то образом дает мне эффект, противоположный желаемому, поскольку я исчерпал другие варианты.

ВУсилия по исправлению этой проблемы Я рассмотрел соответствующие вопросы на этом форуме и вернулся к оригинальному видео и веб-сайту, где я получил идею для этого проекта. Поскольку я объединил несколько элементов из разных источников, чтобы сделать проект своим собственным, я не уверен, в чем я ошибся. До сих пор любая попытка изменить код приводила к тому же результату. Поскольку я новичок в этом, я не уверен, что я мог попробовать, и надеялся на некоторую помощь, если это возможно.

Below is the code - any help is appreciated :)

int Led = 4;
int Buzz = 7;
int Sensor = 11;
int Fire = HIGH ;
int Serialprintln = 0;
void setup()
{
  Serial.begin(9600);
  pinMode(Buzz, OUTPUT);
  pinMode(Sensor, INPUT);
  pinMode(Led, OUTPUT);
}
void loop()
{
  Fire = digitalRead(Sensor);
  if (digitalRead(Sensor) == HIGH) {
    Serial.print("analog Read = ");
    Serial.print(analogRead(A0));
    Serial.println("HELP! A FIRE!");
    digitalWrite(Buzz, HIGH);
    digitalWrite(Led, HIGH);
    delay(200);
    digitalWrite(Led, LOW);
    delay(200);
    Serial.println(analogRead(A0));
  }
  else if (Sensor = LOW)
  {
    Serial.println("No fire detected");
    digitalWrite(Buzz, LOW);
    digitalWrite(Led, LOW);
  }
  delay(500);
}
...