Что не так с моим ИК-датчиком?

ir

Я купил несколько ИК-датчиков «lucky dip» из Китая, понятия не имею, что это такое, но они, похоже, потерялись на почте, поэтому вместо этого я купил несколько из них в надежном месте в Великобритании, к которым прилагается техническое описание.

На следующий день оба товара прибыли вместе!

Я пытаюсь построить очень простой датчик приближения для робота. Я построил следующую схему:

схема

и украл этот код, чтобы проверить его:

#define IRledPin 8
#define D13ledPin 13
#define IRsensorPin 9

void IR38Write() {
  for(int i = 0; i <= 384; i++) {
    digitalWrite(IRledPin, HIGH);
    delayMicroseconds(13);
    digitalWrite(IRledPin, LOW);
    delayMicroseconds(13);
  }
}


void setup(){
  pinMode(IRledPin, OUTPUT);
  digitalWrite(IRledPin, LOW);
  pinMode(D13ledPin, OUTPUT);
  digitalWrite(D13ledPin, LOW);
}



void loop(){
  IR38Write();
  if (digitalRead(IRsensorPin)==LOW){
    digitalWrite(D13ledPin, HIGH);
  } else {
    digitalWrite(D13ledPin, LOW);
  }
}

Если я держу перед ним руку, ничего не происходит (светодиод на плате arduino должен загореться), однако если я направляю на него пульт от телевизора и нажимаю кнопку, светодиод загорается. Я протестировал 2 из тех «затейливых» датчиков, которые у меня были, и оба вели себя одинаково.

Затем я попробовал один из датчиков «счастливого падения», сразу же его подключил, и все заработало идеально — направляю пульт от телевизора, и светодиод загорается, держу руку на расстоянии около 10 см от него, и светодиод загорается!

Итак, где я ошибся?

, 👍2