Что не так с моим ИК-датчиком?
Я купил несколько ИК-датчиков «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 см от него, и светодиод загорается!
Итак, где я ошибся?
@MalphasWats, 👍2
0
- Использование VS1838B с Arduino
- Как выбрать вывод передачи в библиотеке IRremote для Arduino Uno?
- Как увеличить расстояние обнаружения на датчике обхода препятствий Arduino KY-032?
- Ошибка "collect2.exe: error: ld returned 1 exit status"
- Как подключить ИК-передатчик и модуль приемника?
- Tone() конфликтует с библиотекой IRremote (множественное определение `__vector_7')
- Как остановить вращение сервопривода?
- ESP32 ИК-пульт