Камера с детектором движения на Android под управлением Arduino
Компоненты и материалы
| Arduino UNO | 1 |
| Ультразвуковой датчик HC-SR04 | 1 |
| Белый светодиод | 1 |
| Фоторезистор (LDR) | 1 |
| Беспаечная макетная плата | 1 |
| Перемычки | 1 |
О проекте
В наших смартфонах есть различные сенсоры, используемые в разных приложениях. Но иногда нужно добавить дополнительные датчики — для этого и нужен Arduino/микроконтроллер. Как видно из названия, мы создадим камеру с детектором движения, используя смартфон и Arduino.
Начнём
Срежьте левый и правый аудиовыходы наушников. Вы увидите красный (микрофон) и чёрный (земля) провода. Припаяйте к ним перемычки.
Подключение
Соберите схему на Arduino:
- Пин 2 Arduino ↔ Белый светодиод
- Пин 6 Arduino ↔ Trig (ультразвуковой датчик)
- Пин 7 Arduino ↔ Echo (ультразвуковой датчик)
- Питание датчика — 5В
Наушники:
- Красный провод ↔ Один вывод фоторезистора
- Чёрный провод ↔ Второй вывод фоторезистора
Важно: Фоторезистор должен быть направлен на белый светодиод. Их можно изолировать чёрным скотчем.
Подайте питание на Arduino и подключите джек наушников к смартфону. Откройте приложение «Камера». Поднесите объект к ультразвуковому датчику — телефон начнёт делать снимки. Оформите устройство в корпус.
Поздравляю! Вы сделали свою камеру с детектором движения.
Как это работает
Ультразвуковой датчик измеряет расстояние. В наушниках кнопка громкости работает как кнопка затвора в приложении камеры. Кнопки подключены к микрофону и земле через резистор фиксированного номинала. Фоторезистор меняет сопротивление в зависимости от освещённости. Мы поставили яркий светодиод напротив фоторезистора. Когда Arduino включает светодиод, сопротивление фоторезистора падает, он работает как кнопка громкости — срабатывает затвор и делается снимок. Сочетание светодиода и фоторезистора называется оптопарой.
Код
Arduino код (C/C++)
#define pingTrig 6
#define pingEcho 7
int cameratrigger = 2;
int led = 3;
void setup() {
Serial.begin(9600);
pinMode(pingTrig, OUTPUT);
pinMode(pingEcho, INPUT);
delay(200);
pinMode(led, OUTPUT);
pinMode(cameratrigger, OUTPUT);
}
void loop() {
long duration, inches, cm;
digitalWrite(pingTrig, LOW);
delayMicroseconds(2);
digitalWrite(pingTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pingTrig, LOW);
duration = pulseIn(pingEcho, HIGH);
cm = duration / 29 / 2;
Serial.print("-->");
Serial.println(cm);
if(cm < 30 ){
digitalWrite(cameratrigger, HIGH);
digitalWrite(led, HIGH);
delay(200);
digitalWrite(cameratrigger, LOW);
digitalWrite(led, LOW);
delay(200);
}
}
Схемы
Схема подключения прилагается.
Производственный процесс
- Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2
- Подключение, калибровка и программирование PIR-датчика HC‑SR501 с Raspberry Pi
- Управление яркостью LED с ШИМ через кнопку на Arduino Mega
- Устройство точного измерения давления и расхода воздуха на аналоговом датчике
- Создание игры в реальном времени на Arduino Nano с гироскопом MPU-6050 и OLED-дисплеем
- Камера охраны с детектором движения на ESP32-CAM и отправкой фото в Discord
- Проект с датчиком DHT11: индикация температуры светодиодами и пьезо-динамиком на Arduino
- Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
- Unopad: Бесшовный Arduino MIDI-контроллер для Ableton Live
- Мониторинг состояния реки: Arduino-система контроля качества воды