RisalDash RisalDash

Проект · ESP32-CAM · Дикая природа

Фотоловушка, снимающая по движению

Коммерческие фотоловушки начинаются от $60. ESP32-CAM плюс PIR-датчик — меньше $10, а суть та же: что-то тёплое движется — камера просыпается, JPEG ложится на MicroSD. И в отличие от магазинной коробки, ваша отдаёт живой статус-дашборд, который видно с телефона, не открывая корпус.

ПроектESP32-CAMPIRДикая природа
Проект фотоловушки на ESP32-CAM: PIR-триггер, MicroSD и живой статус

Триггер — PIR с паузой

HC-SR501 видит тёплое тело и поднимает выход; скетч снимает один кадр по фронту и игнорирует датчик 5 секунд — иначе один пасущийся олень превратится в сорок одинаковых фото. Грубая настройка — на потенциометрах чувствительности и удержания самого PIR:

#define MODE_TIMELAPSE 0        // 0 = PIR-triggered camera trap
#define PIR_PIN 13              // HC-SR501 OUT -> GPIO13

// loop(): shoot on motion, with a 5 s cool-down so one animal isn't 40 photos
bool pir = digitalRead(PIR_PIN);
if (pir && !motion && millis() - lastShot > 5000) {
  lastShot = millis();
  capture("Motion");            // JPEG -> /0042.jpg on the SD card
}
motion = pir;

Дашборд — проверить ловушку, не трогая её

Смысл ловушки — не подходить к ней. Подойдите на расстояние Wi-Fi, и собственная точка доступа ESP расскажет всё: сколько кадров, заполнение SD, жив ли PIR, и журнал — по строке на зверя:

dash.layout("Trap", RICON_MOTION);
dash.stat("Photos", &shots, "");
dash.gauge("SD used", &sdUsedPct, 0, 100, "%").variant("bar");
dash.led("Motion", &motion);            // watch the PIR fire, live
dash.led("SD ready", &sdOk);
dash.button("Shoot", "Capture now", []() { capture("Manual"); });
evlog = &dash.log("Captures", 6);       // "Motion -> /0042.jpg"
dash.beginAP("RisalDash-CamTrap", "12345678");

Готовый скетч — examples/06_Projects/CamTrap с MODE_TIMELAPSE 0; та же сборка одним define — time-lapse камера. Конфиг камеры — по гайду настроек: SVGA, quality 10.

Полевые заметки

ПроблемаРешение
Ложные срабатывания от нагретой листвыцелить на север, снизить чувствительность PIR, длиннее пауза
Ночные кадры чёрныеу OV2640 нет ИК-подсветки — добавьте ИК-LED плату или снимайте рассвет/закат
Батарея садится за дниdeep sleep + PIR на wake-пине; 18650 или LiFePO4
Зверьё грызёт проводараспаячная коробка + зип-пакет; силикагель от тумана

Та же плата, тот же скетч — один define, и это time-lapse по расписанию.