Проблема Serial.println с датчиком пламени
Я новичок в программировании и Arduino, поэтому буду бесконечно благодарен за помощь.
Я пытаюсь сделать действительно простой датчик пламени, который издает звуковой сигнал, зажигает светодиод и отображает расстояние от датчика до пламени при активации. Я продолжаю получать сообщение об ошибке «Серийный номер не указывает тип» для строки, которая читается как Serial.println(analogRead(A0));
Я попытался выяснить это из информации на этом форуме с похожими вопросами, чтобы попытаться исправить проблему, но кажется, что каждый раз, когда я исправляю одну вещь, возникают две другие ошибки. Я застрял на этом некоторое время, поэтому я надеюсь, что смогу получить какую-то помощь от сообщества Arduino.
Ниже приведен весь код — любая помощь приветствуется, спасибо :)
int Led = 4;
int Buzz = 7;
int Sensor = 11;
int Fire = HIGH;
void setup()
{ Serial.begin(9600);
pinMode(Buzz,OUTPUT);
pinMode(Sensor,INPUT);
pinMode(Led,OUTPUT);
}
void loop()
{
Fire = digitalRead(Sensor);
if(Fire == HIGH);
Serial.print("analog Read = ");
Serial.print(analogRead);
}
Serial.println("HELP! A FIRE!");
digitalWrite(Buzz,HIGH);
digitalWrite(Led,HIGH);
delay(200);
digitalWrite(Led,LOW);
delay(200);
Serial.println(analogRead(A0));
}
else
{
Serial.println("No fire detected");
digitalWrite(Buzz,LOW);
digitalWrite(Led,LOW);
}
delay(500);
}
@user60250, 👍0
Обсуждение1 ответ
Самое главное; ПОЖАЛУЙСТА, ОТМЕТЬТЕ СВОЙ КОД. Код, который вы разместили, беспорядок, и мне потребовалось как минимум вдвое больше времени, чтобы исправить это.
Во-первых, у вас есть дополнительная закрывающая фигурная скобка в строке 17, а if (Fire == High);
следует изменить на if (Fire == High){
Фиксированный код:
int Led = 4;
int Buzz = 7;
int Sensor = 11;
int Fire = HIGH;
void setup()
{
Serial.begin(9600);
pinMode(Buzz,OUTPUT);
pinMode(Sensor,INPUT);
pinMode(Led,OUTPUT);
}
void loop()
{
Fire = digitalRead(Sensor);
if(Fire == HIGH){
//Serial.print("analog Read = ");
//Serial.print(analogRead);
Serial.println("HELP! A FIRE!");
digitalWrite(Buzz,HIGH);
digitalWrite(Led,HIGH);
delay(200);
digitalWrite(Led,LOW);
delay(200);
Serial.println(analogRead(A0));
}
else
{
Serial.println("No fire detected");
digitalWrite(Buzz,LOW);
digitalWrite(Led,LOW);
}
delay(500);
}
похоже, что ответ помог https://stackoverflow.com/questions/58576149/trying-to-make-a-flame-sensor-code-is-giving-me-the-opposite-to-the-desired-ef, @Juraj
@Jurag, ты можешь пометить это как обман?, @he77789
нет, это другой вопрос и другой сайт. это дополнительный вопрос, @Juraj
Ну, он взял мой ответ, добавил еще, если и сказал, что это его собственный код. У меня недостаточно представителей, чтобы прокомментировать, не могли бы вы помочь мне назвать это?, @he77789
у вас есть спасибо в вопросе :-). учетная запись user60250 не зарегистрирована, так что временно., @Juraj
- Какова работа pulseIn?
- Сколько датчиков может поддерживать один модуль Arduino?
- Получение BPM из данного кода
- Как подключить более 10 датчиков к Arduino uno r3
- Как использовать два ультразвуковых датчика для управления двигателем 5 Вольт?
- Чтение датчика давления от 4 до 20 мА с использованием uno
- Что выбрать между датчиками температуры и влажности: AM230x или DHT22?
- SRF04 Ультразвуковой датчик - неточные показания
Вы должны научиться правильно делать отступы в своем коде. Тогда вы скоро увидите проблему., @Majenko
Вы также должны узнать разницу между ( и {. Рекомендуется использовать учебник, такой как https://www.youtube.com/watch?v=QO_Jlz1qpDw или аналогичный., @MatsK