Проблемы с управлением светодиодом с датчиком влажности почвы
Я новичок в Arduino.
У меня есть датчик влажности почвы, и я сопоставил самое низкое и самое высокое значение влажности со значением от 0 до 100.
Что я пытался сделать, так это то, что если значение меньше 50, светодиод должен загореться. Но даже если значение меньше 50 (например, 25), светодиод не загорается.
Обнаружение влажности или сопоставление значений работают отлично.
В чем проблема: в моем коде или в проводке светодиодов?
Код:
int mostMoist = 180;
int leastMoist = 600;
int percent;
int raw;
const int threshold = 50;
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
raw = analogRead(A0);
percent = map(raw,leastMoist,mostMoist,0,100);
if (percent < 0){
percent = 0;
}
if (percent < threshold){
digitalWrite(LED_BUILTIN,HIGH);
} else {
digitalWrite(LED_BUILTIN,LOW);
}
Serial.println(percent);
delay(2);
}
@Jeffrey Chan, 👍0
Обсуждение1 ответ
Хороший способ начать отладку такого рода проблем – распечатать операторы отладки, в которых говорится, что должно делать оборудование. Если операторы отладки распечатываются, как и ожидалось, то это, вероятно, аппаратное обеспечение, если нет, то, вероятно, это ваш код, например
if (percent < threshold){
Serial.prinln("LED on.");
digitalWrite(LED_BUILTIN,HIGH);
}
else {
Serial.prinln("LED off.");
digitalWrite(LED_BUILTIN,LOW);
}
Спасибо, после добавления оператора отладки все работает нормально, светодиод загорается в нужное время!, @Jeffrey Chan
Пожалуйста, рад помочь. Если это отвечает на ваш вопрос, вы можете пометить ответ как принятый: https://stackoverflow.com/help/someone-answers, @fractious
- Количество мигающих светодиодов с датчиком LDR
- KY-022 ИК-приемник, светодиод всегда горит, нет выхода
- Проблемы с кнопками
- Как установить таймеры, используя миллисекунды на 3 датчиках PIR?
- Включить светодиодный индикатор, если значение датчика влажности >= MaxDryness в течение более 20 минут.
- Почему светодиоды влияют на аналоговый вход?
- Игнорирование первого высокого выходного сигнала датчика
- Одновременное использование двух датчиков с задержкой
загрузите и запустите код мерцания светодиода, чтобы проверить светодиод, @jsotola
проблема в стороне: вы должны включать питание датчика только тогда, когда собираетесь делать показания; постоянный заряд очень быстро разъедает металл датчика., @dandavis