Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

dimich
2024-03-13 00:53:23

Або інший варіант - переплутали піни для червоного і зеленого. Ми ж не знаєм, які значення в redLed і greenLed, і як підключено насправді.

dimich
2024-03-12 00:08:22
CHAXLUK пише:

Але я не розумію, щому так?

Світлодіод можна підключити двома способами: або щоб з піна струм через світлодіод тік в мінус живлення, тоді світлодіод вмикається високим рівнем на піні. Або щоб струм з плюса живлення через світлодіод втікав в пін. Тоді він вмикається низьким рівнем.
Програма з інтернету розрахована на один спосіб підключення, а у вас, певно, світлодіоди підключені другим способом.

CHAXLUK
2024-03-11 23:30:50

В перше збирав на ардуїно детектор газу, та не можу дещо зрозуміти.

if (analogSensor > sensorThres)
  {
    digitalWrite(redLed, HIGH);
    digitalWrite(greenLed, LOW);
    tone(buzzer, 1000, 200);
  }
  else
  {
    digitalWrite(redLed, LOW);
    digitalWrite(greenLed, HIGH);
    noTone(buzzer);
Взяв код з интернета, але нормально не працювало. Зелений світлодіод працював лише тоді, коли концентрація дима була більша за sensorThres. А це не так, як повинно бути. Я змінив True та False місцями, та вийшло так:
if (analogSensor > sensorThres)
  {
    digitalWrite(redLed, LOW);
    digitalWrite(greenLed, HIGH);
    tone(buzzer, 1000, 200);
  }
  else
  {
    digitalWrite(redLed, HIGH);
    digitalWrite(greenLed, LOW);
    noTone(buzzer);

І тільки після цього все запроцювало, як треба. Але я не розумію, щому так? Начебто умова правди не виконана, чи я неправильно розумію?
Одразу вибачте за непорозуміння, я, дійсно, в перше цим займаюсь.

Підвал форуму