Pull to refresh
41
11

Senior Rendering Programmer

Send message

Проверили работу на этой плате, достаточно поменять настройку на CAMERA_MODEL_ESP32S3_EYE и все заведется. При этом фпс поднялся до 67

Пользователь будет видеть эту точку на мишени и просто наведет её в центр, что полностью нивелируют всю пользу.

Вот модуль на котором я писал и отлаживал скетч, но староват на фоне ESP32S3
https://www.aliexpress.com/item/1005004339923548.html

Теоритически лучше с ИК фильтром. Лазер же в видимом диапазоне и лишьний шум нам не нужен. Нашел в ящике старый пистолет и лень было что-то переделывать, так что да = конденсатор. Звук выстрела можете отключить закоментив строчки яваскрипта. Так как считаю проект законченым и новых версий не планирую.
if (count > 0) playAudio();
if (count == 10) playMixedTones();


Вам в люмоб случае нужно править код, что бы прописать свой вайфай. Так что не ленитесь и добавте плату самостоятельно)

Промазал с формой. Ответ ниже.

Список плат дать не могу, так как у самого была одна, на которой все проверял. По идее пойдет любой esp32 с PSRAM и разъёмом камеры. Главное что бы была известна распиновка. Но лучше взять самый мощный esp32-s3 n16r8 + ev2640. На глобальном али стоит около 7 евро.

Свою распиновку (если китайцы придумали новую разводку платы) можно добавить в конфиг https://github.com/DIMOSUS/ESP32LaserRange/blob/main/src/camera_pins.h и потом выбрать дефайном в camera.h

Про камеру - ставить как можно ближе к мишени, но что бы в кадре были все четыре маркера (картинка с камеры на страничке калибровки обновляется). Широкоугольные камеры дают сильные искажения вида "рыбий глаз" и не подходят. Моя похожа на миниглазок на 66 градусов, но точно сказать не берусь - хз что там китайцы мне положили.

При желании можно, да и не сложно.

Спасибо) Сделал из страйкбольного. Звук из планшета - веб страничка воспроизводит, когда узнает про новое попадание.

Обычная. Немного накосячил — делал свертку засунув по доброте душевной ее в ких фильтр, в котором на каждый семпл выполнялся сдвиг внутреннего буфера. Заменил на прямое семплирование входного массива со сдвигом — теперь свертка для 1 сек (с дискретизацией 64к) занимает 2 секунды машинного времени. Но все равно еще целая вечность, если попытаться засунуть это в микроконтроллер.
Хотя, возможно мне и ненужно делать свертку всей импульсной характеристики. Можно же посчитать только зоны интересов?
День добрый. Пытаюсь имплементировать и возможно я что-то упускаю. Импульсную характеристику со степенными гармониками получил, но даже для секундного свипа вычислительная сложность получается чересчур велика. При частоте дискретизации в 48кГц даже секундное окно требует миллиардов арифметических операций на свертку что выливается в минуты работы обычного ПК. Так и должно быть?
«Сложна»
Для CUBEIDE использую такое
//STM32F411
#define GPIO_OUT_REGISTER_OFFSET 0x14UL
#define GPIO_IN_REGISTER_OFFSET 0x10UL

#define PRT_WR(x, y) *((uint32_t *)((GPIO##x##_BASE - PERIPH_BASE + GPIO_OUT_REGISTER_OFFSET)*32 + PERIPH_BB_BASE + y * 4))
#define PRT_RD(x, y) *((uint32_t *)((GPIO##x##_BASE - PERIPH_BASE + GPIO_IN_REGISTER_OFFSET)*32 + PERIPH_BB_BASE + y * 4))

PRT_WR(C, 13) = 1;
Отличные статьи. А есть фото панелей на балконе?
Эту бы статью да года на три раньше :)
Для полноты картины сюда можно добавить про спекание энвайроментной BRDF в LUT текстуру (UE4)
Сначала гуглить, потом спрашивать :)
http://twvideo01.ubm-us.net/o1/vault/GDC2014/Presentations/Gareth_Thomas_Compute-based_GPU_Particle.pdf
Решил делать аналогичную партикловую систему и сразу же уперся в проблему — как убивать и добавлять частицы? Вроде ясно, что нужно неактивные частицы просто загонять в конец буфера, меняя их с живыми, но как это мапить на многопоточность не понятно… Может у вас уже есть готовый способ?
Из MSDN:
Floating-point scalar that indicates a back-facing primitive. A negative value faces backwards, while a positive value faces the camera.
Он рассчитывается аппаратно для всего треугольника.
Чаще всего нормаль, записанная в вертексы треугольника, не будет перпендикулярна плоскости треугольника (из-за софт эджей, настроенных художником). SV_IsFrontFace же не зависит от нормали и оперирует порядком объявления вершин и работает для всего треугольника.
До растерезации не известно, на какую сторону треугольника смотрим.
Не понимаю — зачем снижать частоту камеры, если аппаратная часть реализации без проблем обеспечивает 80 кадров в секунду? С такой частотой у меня без сбоев регистрируются импульсы порядка 5мс.
Дребезг контактов иногда случается, но совершенно не мешает — так как после детектирования выстрела идет 500мс игнорирования импульсов.
А круги засветки легко отфильтровываются программно, так как значительно тусклее основного пятна.

Information

Rating
520-th
Location
Вильнюс, Литва, Литва
Registered
Activity