Главная страница Photo Line

Использование программируемого микрокалькулятора CITIZEN для расчёта глубины резкости.

(статья подготовлена Иваном Савоченко)

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

Приведённые ниже программы писались и тестировались на ПМК CITIZEN srp-175. Он дает возможность ввести четыре программы с общим числом шагов – 128.

На сайте Citizen я нашёл информацию ещё о двух программируемых моделях: srp-45N и srp-145T. У них одно поле программы и всего 40 шагов памяти.

1. Расчёт ближнего и дальнего расстояний (58 шагов памяти).

Входные данные:

Выходные данные:

фокусное расстояние (м);

значение диафрагмы;

расстояние по шкале.

ближнее расстояние;

дальнее расстояние;

гиперфокальное расстояние.

01..15 [x] STO 1 [x] STO 2 1/X * 1 7 2 0 * RCL 0

16..29 = STO 3 * RCL 1 / ( RCL 3 - RCL 1 +

30..44 RCL 0 ) = STO 4 RCL 3 * RCL 1 / ( RCL 3

45..58 + RCL 1 - RCL 0 ) = a RCL 4 b R® P P® R

Перед первым запуском программы, а также после каждой смены объектива фокусное расстояние (м) заносится в регистр памяти 0. Например: 0 . 1 3 5 STO 0

После запуска программы (у меня RUN 9):

  • на запрос -001- вводить расстояние по шкале, например, 7;
  • RUN;
  • на запрос -002- ставить значение диафрагмы, например, 5.6;
  • RUN;

на экране получаем ближайшее расстояние 6.005675351 (занесено в переменную a),

нажимаем b - читаем 8.388901505.

Теперь можно, нажимая a и b, смотреть соответственно ближнее и дальнее расстояния.

Гиперфокальное расстояние лежит в ячейке памяти 3: RCL 3 ® 41.46428571.

Для дальнейших вычислений повторить абзац сначала.

  1. Расчёт расстояния по шкале и значения диафрагмы (49 шагов памяти).

Входные данные:

Выходные данные:

фокусное расстояние (м);

ближнее расстояние;

дальнее расстояние.

значение диафрагмы;

расстояние по шкале.

01..10 2 * [x] STO 1 * [x] STO 2 / ( RCL 1 +

15..30 RCL 2 ) = STO 3 - RCL 1 = * 1 7 2 0 /

31..43 RCL 1 / ( RCL 3 / RCL 0 - 1 ) =

44..49 b RCL 3 a R® P P® R

Перед первым запуском программы, а также после каждой смены объектива фокусное расстояние (м) заносится в регистр памяти 0. Например, 0 . 0 5 0 STO 0

После запуска программы (у меня RUN 6)

  • на запрос -001- вводить ближнее расстояние, например, 5;
  • RUN;
  • на запрос -002- ставить дальнее расстояние, например, 10;
  • RUN;

на экране получаем расстояние по шкале 6.666666667 (занесено в переменную a),

нажимаем b - читаем 4.332493703 (значение диафрагмы).

Теперь можно, нажимая a и b, смотреть эти значения поочерёдно.

Для дальнейших вычислений повторить абзац сначала.

Для вычислений использовались формулы:

  • G = 1720 * f / d
  • m1 = G * m / ( G + ( m – f ) )
  • m2 = G * m / ( G – ( m – f ) )
  • m = 2 * m1 * m2 / ( m1 + m2 )
  • d = 1720 * ( m – m1 ) / m1 / ( m / f – 1 )

(последние две формулы выведены из первых трёх)

G – гиперфокальное расстояние;

m1 – ближнее расстояние;

m2 – дальнее расстояние;

f – фокусное расстояние объектива;

d – значение диафрагмы.

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

Несколько рекомендаций:

  • после входа в режим программирования (на дисплее lrn) стоит очистить память – INV ON;
  • при наборе программ после команды [x] необходимо подставить значения переменных;
  • если во второй программе нужно ввести m2 = бесконечность, вводите очень большое число, например, EXP 99 (1*1099);
  • чтобы уменьшить формат выводимых значений, например, до трёх знаков после запятой, введите команду TAB 3; возврат в обычное состояние калькулятора – TAB . (точка).

И последнее. Если после прочтения у Вас возникнет неудержимое желание забросать меня гневными письмами, прошу учесть два обстоятельства:

  • фотограф из меня пока ещё хуже, чем программист;
  • а программист я просто никакой.

Пишите – ivans@km.ru

С уважением. Иван Савоченко.