Arduino с ИК-подсветкой - PullRequest
       31

Arduino с ИК-подсветкой

0 голосов
/ 30 апреля 2019

Никогда ранее не кодировался. У меня проблемы с добавлением функции затухания в этот код. Я добавил ограничение в 50. Я хочу, чтобы светодиод становился тусклее, чем ближе предел. Тем не менее, свет выключается после 50, что я тоже ищу. Я использую ИК-датчик SHARP 2Y0A02 F 26 для измерения расстояния.

Я играл с разными петлями IF и не имел успеха. Когда я пробовал код без ограничения, он довольно хорошо затухал, но мне нужен тот же эффект в пределах лимита.

#define sensor A0 // Sharp IR 2Y0A02 F 26
int led = 6;
int brightness = 0;

void setup() {
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}

void loop() {

analogWrite(led, brightness);

  // 5v
float volts = analogRead(sensor) * 0.0048828125; // value from sensor     * (5/1024)
int distance = 9462/(analogRead(sensor) - 16.92); // Distance in CM
int fade = distance;

delay(1000); // slow down serial port

if (distance <= 50) {
  brightness = -distance;
}
else {
  brightness = 0;
}

Serial.println(distance);   // print the distance
}

Я ожидаю, что свет будет очень тусклым в 50 и постепенно станет ярче, когда объект приближается к 0.

...