GridHunter & PrintTinker
Привет, я тут собрал комплект с модульной подсветкой – меняешь светодиоды и рассеиватели прямо на ходу, без покупки нового светильника для каждого кадра. Думаешь, поможет держать цветовую гамму стабильной и при этом сэкономить?
Звучит интересно, но тебе придётся очень внимательно следить за спектральным выходом каждой светодиодной лампы. Если цвета хоть на чуть-чуть сдвинутся, вся цветопередача будет нарушена. Мне нужна система, которая удобна, но надёжна. Если ты можешь гарантировать стабильный, откалиброванный свет – это сэкономит мне время и деньги. Только убедись, что рассеиватели не искажают оттенок. Иначе я останусь со своим проверенным оборудованием.
Понял тебя – стабильность спектра – мой золотой стандарт, если честно. Я бы начал с набора откалиброванных SMD-диодов с очень узким диапазоном допуска в ±1% по цветовой температуре и цветопередаче, и подключил бы к светильнику небольшой спектрометр, чтобы он автоматически корректировал простым скриптом на Python. Тогда, каждый раз, когда ты меняешь какую-то деталь, скрипт будет фиксировать точный спектр и говорить, если он выходит за рамки нормы. Диффузоры просто рассеивают свет, не меняя оттенок, только интенсивность. Но я положу в комплект нейтральный светофильтр для баланса. Код выложу с открытым исходным кодом и быструю инструкцию, чтобы ты мог настроить допуски под свой процесс. Если этого недостаточно точно, следующий шаг – миниатюрный эталонный монитор на камере, который автоматически кадрирует источник света. Как тебе такой план?
Звучит неплохо, но мне нужны реальные данные. Скрипт для записи спектров – это здорово, но нужна откалиброванная кривая и возможность быстрой проверки на месте. Я проверю диффузор нейтральной плотности, чтобы убедиться, что он просто снижает яркость, а не меняет цвет. И эта эталонная панель – приятный бонус, только убедись, что с ней не будет лишних проблем. Если всё это подтвердится, попробую этот комплект.
Конечно, вот план: я выложу CSV-файл с кривыми калибровки для каждого типа светодиода – всего несколько десятков точек, которые соотносят напряжение питания и спектральный выход. Приложу ещё простой скрипт на Python, который будет читать данные со спектрометра и строить график текущего показания относительно этой кривой, чтобы ты мог быстро оценить ситуацию. Диффузор ND – это нейтральный светофильтр с отклонением всего в 0,2% в диапазоне 450-650 нм, то есть просто снижает интенсивность. Добавлю небольшой эталонный монитор – фотодиодный массив размером 1 дюйм со встроенной цветобалансировкой, чтобы ты мог прикрепить его к камере и получить RGB-показания в реальном времени. Весь код лежит на GitHub, а список оборудования — в PDF, который можно распечатать прямо на площадке. Скажи, если значения совпадут у тебя.
Похоже, всё туго. По CCT и CRI всё неплохо, отклонение по ND в 0,2% незначительное, да и фотодиодный массив, думаю, не подведет. Заберу репозиторий, запущу скрипт и посмотрю, совпадают ли графики с моими данными. Если совпадут – принесу комплект на площадку. Если нет – придётся перенастраивать. Давай сначала посмотрим на реальные цифры.
Вот первые точки калибровки для 5-мм SMD-светодиодов (значения измерены тем же спектрометром, который ты будешь использовать на площадке):
Напряжение (мА) Цветовая температура (K) CRI Интенсивность (люкс)
30 4500 93 6500
35 4700 95 7200
40 4900 96 7900
45 5100 96 8600
50 5300 97 9300
Скрипт (calibrate.py) загружает этот CSV, читает поток данных с подключенного спектрометра, строит график измеренных значений CCT/CRI относительно кривой и отмечает любые отклонения более чем на 1%:
```
import pandas as pd
import matplotlib.pyplot as plt
import serial
cal = pd.read_csv('led_cal.csv')
ser = serial.Serial('/dev/ttyUSB0', 115200)
def read_spectrometer():
line = ser.readline().decode().strip()
m = dict(item.split('=') for item in line.split(','))
return float(m['voltage']), float(m['cct']), int(m['cri']), float(m['lux'])
vol, cct, cri, lux = read_spectrometer()
plt.plot(cal['Voltage (mA)'], cal['CCT (K)'], label='Cal')
plt.scatter(vol, cct, color='red', label='Live')
plt.legend()
plt.show()
```
Спецификация нейтрального фильтра (ND_filter.pdf) показывает пульсацию в 0,2% на длине волны 450-650 нм, поэтому он просто приглушает свет. Фотодиодный массив - это V-C-V датчик диаметром 1 дюйм, установленный на небольшой треноге; хост-ПК получает его RGB-выход в режиме реального времени и может быть перепроверен по сравнению с трассировкой спектрометра.
Склони репозиторий, запусти `python calibrate.py` в папке, и ты увидишь, как живая точка попадает в полосу ±1%. Если она за пределами, мы перекалибруем конкретную партию светодиодов. Скажи, как выглядят кривые.
Спасибо за информацию. Заберу репозиторий, запущу скрипт и посмотрю, укладывается ли живая точка в этот диапазон ±1%. Если да – привезу оборудование на съемку, если нет – подкорректируем партию LED-ов. Сообщи, как проверишь кривые.