Фотокубики. Сериал 2012 года.

После годичного перерыва открываю новую серию рассказов о фотокубиках. Исходя из общей идеи, что правильный подход к фотографии требует формулировки задачи и создания под нее установки, начнем с формулировки задачи.

Задача. Сделать фотографию большого размера в инфракрасном диапазоне. Об ИК-съемке переделанной 3-мегапиксельной камерой я уже писал. Чтобы получить фотографию большего размера, возможны несколько путей. Можно взять камеру с многомегапиксельной матрицей, снять с нее теплофильтр, отсекающий ИК-область спектра, падающего на матрицу, установить фильтр, пропускающий только ИК-часть спектра, и произвести съемку. На сегодняшнем этапе таким методом мы получим фотографию, наверное, не более 24 Мп. Для того же, чтобы получить фотографию с более высоким разрешением, необходимо делать серию снимков. А уж коль скоро финальная фотография состоит из фрагментов, то использовать ли 4-мегапиксельную или 24-мегапиксельную камеру — это всего лишь вопрос количества, качественно установка будет одинаковой.

Процесс автоматизации съемки — это вопрос, который я собираюсь решать с помощью фотокубиков. Но прежде чем перейти к ним, приспособим к съемке в ИК-диапазоне имеющуюся старую камеру Casio QV-4000. Отличие от предыдущего эксперимента в данном случае заключается в том, что я хочу сохранить родной объектив камеры и возможность автофокусировки.

Для того, чтобы обеспечить съемку в ИК-диапазоне, необходимо убрать светофильтр, расположенный перед матрицей. Разборка камеры может быть не очень простой задачей, и главное, что для нее трудно выработать общие методы. На нижеприведенных фотографиях показано, как я справился с разборкой камеры QV-4000.

фото
фото
фото
фото

Однако если просто убрать светофильтр, то задача окажется нерешенной. Заложенного в конструкцию камеры перемещения объектива недостаточно для того, чтобы сфокусировать на бесконечность переделанную камеру. Если работать без фильтра, надо увеличивать рабочий отрезок и отодвигать объектив. Это, на мой взгляд, сложнее, чем заменить светофильтр стеклянной пластинкой, пропускающей излучение в ИК-диапазоне и обладающей близкой оптической толщиной. Если знать толщину фильтра и его показатель преломления, то легко вычислить, насколько надо сдвинуть объектив, чтобы изображение было резким при фокусировке на бесконечность при отсутствии фильтра. Соответственно, чтобы вычислить необходимую толщину стеклянной пластинки, которой мы собираемся заменить фильтр, надо знать ее показатель преломления. Если же мы не знаем показатель преломления того или другого, то нам надо его определить. Определение показателя преломления — это лабораторная работа из школьного курса. Кладем пластинку под микроскоп, фокусируемся на нижнюю поверхность пластинки, потом на верхнюю, измеряем перемещение объектива. Измеряем микрометром толщину пластинки. Рассчитываем показатель преломления. Надеюсь, все вспомнили, как делали это в школе. Но у нас, на самом деле, задача несколько проще. Нам надо зафиксировать перемещение объектива микроскопа при работе со светофильтром, расположенным перед матрицей, и после этого подобрать стеклянную пластинку, которая обеспечивает аналогичные перемещения, но при этом пропускает свет в ИК-диапазоне. Оказалось, что предметные стекла для работы с микроскопом имеют разную толщину, и из них удается подобрать такую пластинку, оптическая длина которой соответствует оптической длине светофильтра. Далее с помощью алмазного круга и бормашинки, не забыв про обязательное охлаждение струей воды, вырезаем квадрат нужного размера.

фото

Устанавливаем вместо фильтра и собираем в порядке, обратном тому, что было показано выше. В результате мы получаем камеру, полностью работоспособную во всех режимах, но при этом регистрирующую ИК-излучение.

Если снимать во всем доступном диапазоне, мы получим достаточно мыльное изображение, поскольку показатель преломления сильно зависит от длины волны. Поэтому нужно выделить только ИК-диапазон или диапазон, включающий красный и ближний ИК — последнего можно достичь с помощью фильтра Cokin P007 (89B). Эти фильтры можно размещать уже перед объективом и, таким образом, менять их, не разбирая камеру.

Сначала рассмотрим отдельные снимки с фильтром P007 и посмотрим, как влияет на конечный результат баланс белого, установленный через меню камеры.

фото
фото
Автоматический баланс
Ручной баланс

Теперь преобразуем эти снимки в черно-белые и сравним результат.

фото
фото

Если снимки преобразовывать, то можно не тратить время на установку ручного баланса. С другой стороны, снимки с ручным балансом сразу получаются весьма привлекательными, как бы выполненными в жанре выборочного тонирования.

фото
фото
F:5,6; 1/90 с
F:5,6; 1/44 с
фото
фото
F:2,3; 1/119 с
F:2,3; 1/122 с

Для панорамирования камеры я планирую использовать механику установки для съемки сферических панорам, описанную в статье «Автоматизация съемки сферических панорам с помощью камеры Sony NEX-5». Отличие в данном случае будет заключаться только в том, что планируется снимать не круговую панораму, а частичную, и со значительно меньшим углом зрения. Эта задача легко решается программно, но одновременно возникает еще одна задача: спускать затвор камеры после каждого перемещения. Камера Casio QV-4000, как и большинство камер Casio, управляется с помощью пульта дистанционного управления, использующего последовательный протокол. В статье «Управление съемкой с помощью телефона» аппаратный последовательный порт платы Freeduino Nano v5 был задействован для связи через Bluetooth. Можно было бы программно эмулировать еще один последовательный порт, но я пошел другим путем: решил использовать плату Seeeduino Mega. У нее последовательных портов что грязи, аж целых 4, и каналов ввода-вывода тоже с большим избытком. Поэтому возникла идея упростить систему управления шаговыми двигателями и вместо отдельной платы использовать всего две микросхемы L-298. В результате была получена нижеприведенная установка.

фото

С ее помощью был сделан следующий снимок размером 4515×2876 пикселей. Это, естественно, не предел, но большие снимки и их способы представления в интернете будут описаны в отдельной статье.

фото

P. S.

В следующих статьях я планирую подробно описать схему и программу управления моторами на микросхемах L-298, программу общения с камерой Casio с помощью последовательного протокола для спуска затвора и изменения фокусного расстояния объектива. Кроме того, оказалось, что модернизация программы для управления установкой с помощью мобильного телефона встретилась с непредвиденными трудностями. Оболочка Eclipse и ее модуль Android SDK Tools за последнее время обновились. А используемая библиотека AmarinoLibrary_v0_55.jar — нет. В результате для модернизации программы мне пришлось искусственным образом откатиться с 20-й версии Android SDK Tools на 14-ю. И тогда у меня возникла мечта робинзона: а нельзя ли написать программу для управления, не используя большой компьютер и умную среду разработки, а прямо с помощью телефона. Потенциально возможна ситуация, когда надо внести изменения в программу и есть только телефон, с помощью которого осуществляется управление установкой. Оказалось, что сегодня среди обилия программ для Android есть и De Re Basic!, являющийся диалектом Darmouth Basic образца 1963 года. Эту программу, распространяемую под лицензией GNU GPL v3, написал Paul Laughton. Изначально Basic был создан для обучения программированию, но после едкого высказывания Дейкстры (Edsger Wybe Dijkstra) к нему сложилось среди программистов весьма пренебрежительное отношение. Его афоризм, вошедший в историю: «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты, они подверглись необратимой умственной деградации». Что касается правильного образования, то начинал изучать программирование я с Алгола, разработанного Дейкстрой. Однако Бейсик мне нравится существенно больше, в чем я не оригинален: этот язык снискал горячую любовь среди физиков. Страница его истории, о которой почти никогда не упоминают программисты, это стандарт IEEE 726 Real-time Basic for CAMAC. Я с ним встретился в начале 80-х, когда работал с Модульной системой технических средств для обработки данных КАМАК, и до сих пор считаю, что это наиболее дружественная среда для общения с железом. К счастью, De Re Basic! для Android унаследовал традиции и способен работать практически со всей аппаратной начинкой современного телефона.

В результате у меня получились две функционально схожие программы для управления установкой с телефона. Программа на Бейсике выглядит более аскетично, но чувствительные к нажатию строки позволяют управлять установкой не менее эффективно, чем графический интерфейс.

фото
фото
Android SDK Tools
De Re Basic!

Чтобы адекватно описать изменения в электронной схеме, потребовалось нарисовать принципиальные схемы и другой иллюстративный материал. Оказалось, что для моих задач идеальных программ нет. Раньше для этих целей я пользовался программой gEDA Suite, но оказалось, что есть еще одна программа, которая в чем-то более удобна. Это Fritzing. Ее основное преимущество в том, что она прекрасно знает основные элементы Arduino и его клонов. В остальном база элементов достаточно бедная, но есть редактор, который позволяет создавать свои, хотя и с определенными плясками с бубном. На сегодняшний день эта программа имеет статус беты и лицензию GNU GPL v3. То есть мы получаем на легальных основаниях инструмент, которым уже можно работать, но его еще хотелось бы заточить. Лицензия GPL позволяет нам легально использовать плоды чужого труда при условии, что свои мы тоже отдадим в общую копилку. Поэтому я счел необходимым привлечь к программе потенциальных пользователей. Программа мультиплатформенная, ее можно запустить как под Windows, так и под Mac и Linux.

Часть, связанная с компонентами, непосредственно относящимися к Arduino, реализована очень неплохо. Я подозреваю, что для профессиональных программ (поскольку Arduino — это все-таки в значительной степени удел самодельщиков) включение в базы данных этих элементов не является приоритетной задачей. С другой стороны, для устройств на Arduino иметь базу всех мыслимых элементов тоже нет необходимости. Поэтому у проекта, возможно, есть будущее. Возможности же создавать эффектные иллюстрации мне нравятся уже сейчас. Например, так можно представить схему моей установки.

Fritzing



16 ноября 2012 Г.

. 2012 .

. 2012 .

. , , .

. . - 3- . , . , , - , , , - , . , , 24 . , , . , 4- 24- — , .

— , . , - Casio QV-4000. , .

, -, , . , , . , QV-4000.

, . , . , . , , , , - . , , , . , , , . , . — . , , , . . . , , . , , . , , , , -. , , , . , , .

, , . , , -.

, , . - , — Cokin P007 (89B). , , , .

P007 , , .

- .

, . , , .

F:5,6; 1/90
F:5,6; 1/44
F:2,3; 1/119
F:2,3; 1/122

, « Sony NEX-5». , , , . , : . Casio QV-4000, Casio, , . « » Freeduino Nano v5 Bluetooth. , : Seeeduino Mega. , 4, - . L-298. .

4515×2876 . , , , .

P. S.

L-298, Casio . , , . Eclipse Android SDK Tools . AmarinoLibrary_v0_55.jar — . 20- Android SDK Tools 14-. : , , . , , . , Android De Re Basic!, Darmouth Basic 1963 . , GNU GPL v3, Paul Laughton. Basic , (Edsger Wybe Dijkstra) . , : «, , . , ». , , . , : . , , IEEE 726 Real-time Basic for CAMAC. 80-, , , . , De Re Basic! Android .

. , , .

Android SDK Tools
De Re Basic!

, . , . gEDA Suite, , , - . Fritzing. , Arduino . , , , . GNU GPL v3. , , . GPL , . . , Windows, Mac Linux.

, , Arduino, . , ( Arduino — - ) . , Arduino . , , . . , .

Fritzing