Простой ИК-датчик препятствий на Arduino: ИК-светодиод и фотодиод
Компоненты и материалы
- Arduino UNO — 1 шт.
- ИК-светодиод (IR LED) — 1 шт.
- Фотодиод — 1 шт.
- Резистор 150 Ом (для ИК-светодиода) — 1 шт.
- Резистор 3 кОм (нагрузка фотодиода) — 1 шт.
- Макетная плата, перемычки
- 2 обычных светодиода (индикация) — 2 шт.
Сборка
- ИК-светодиод: анод → 150 Ом → 5V, катод → GND.
- Фотодиод: анод → GND, катод → 3 кОм → D2 И параллельно → A0.
- Зелёный светодиод → D13, красный → D12 (с резисторами).
Принцип работы
ИК-светодиод постоянно светит. Фотодиод в обратном смещении работает как фоторезистор: чем больше падающего ИК-излучения (отражённого от препятствия), тем ниже сопротивление и выше напряжение на A0. Порог SenseRate = 905 (подбирается экспериментально).
Код
int photoDiode = A0;
int greenLed = 13;
int redLed = 12;
int senseRate = 905;
void setup() {
pinMode(greenLed, OUTPUT);
pinMode(redLed, OUTPUT);
Serial.begin(9600);
}
void loop() {
int val = analogRead(photoDiode);
Serial.println(val);
if (val <= senseRate) {
digitalWrite(redLed, HIGH); // препятствие близко
digitalWrite(greenLed, LOW);
} else {
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH); // свободно
}
delay(20);
}
Настройка
Откройте Serial Monitor, наблюдайте значения при разном расстоянии. Подстройте senseRate. Работает на ближние расстояния (несколько см).
Схема
Файл схемы (Fritzing): obstacl_GeLzd2U2jr.fzz.
Производственный процесс
- Управление яркостью LED с ШИМ через кнопку на Arduino Mega
- Устройство точного измерения давления и расхода воздуха на аналоговом датчике
- Создание игры в реальном времени на Arduino Nano с гироскопом MPU-6050 и OLED-дисплеем
- Проект с датчиком DHT11: индикация температуры светодиодами и пьезо-динамиком на Arduino
- Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
- Unopad: Бесшовный Arduino MIDI-контроллер для Ableton Live
- Мониторинг состояния реки: Arduino-система контроля качества воды
- Интеграция ёмкостного сканера отпечатков DFRobot с Arduino или ESP8266
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Надёжные будильник на DS1302 RTC и Arduino UNO — сборка и код