s14

The Blackmagic pocket camera (BMPC) is small and powerful even when you operate this camera remotely.

For project “Peregrino” we searched for small cameras with changeable lens to frame our particular small size scenes. Zoom, Focus and Iris were  features that we searched for. In our first experiment we use a Gopro camera because of the size, but the image quality and the fixed lens were a problem, this camera doesnt provide zoom,  focus, or iris. We also experiment a Sony NEX-7 and we did like the way we could remotely control with WiFi using the Sony API, but the image quality and many other tiny things like the fact the camera works only in battery mode made us search for other solutions. In the other hand the Blackmagic Pocket Camera offers a great image quality with interchangeable lens with a 16mm sensor. We could also control the Focus and Iris remotely by using the LANC input.

LANC BMPC

LANCuage the syntax to control.
LANC – Logic Application Control Bus System or Control-L

LANC is a trademark protocol made by SONY. A bidirectional communication serial port where two devices can communicate with each other. For more information about LANC just click in the fowling link: http://www.boehmel.de/lanc.htm

Other video camera brands, like Cannon also implement this protocol to take advantage of the many remote control equipments in the market, but they call it “Control” port. LANC is kind of a standard remote protocol for video cameras. Blackmagic also implements the LANC protocol in their cameras, although just a few functions are supported.
Available LANC commands in BMPC: REC, Manual focus near/far; Manual iris near/far; Auto-Focus; Auto-Iris. We are using in our play all of this functions intensively except the REC functions.

S24

Framework to control IRIS and FOCUS on the BMPC. We use a computer software to control the LANC via MIDI but you can use any midi device if you implement a midi interface into the arduino.

QLAB is a show control application for MAC which we use in our project. A show control environment that orchestrates all the media and data flow. Sam Kusnetz provides a very interesting writing about how to prepare a machine for live performance using Qlab, visit: http://figure53.com/notes/2013-10-29-prepare-execute-troubleshoot/

 

The workflow: Qlab sends MIDI messages to the Hairless-midi midware software that converts standard midi to serial midi. Then, the messages are interpreted by the arduino witch sends LANC commands (pulses) into the blackmagic cameras.

[vimeo 97412299 w=580&h=326]

You can download all the files above (press more)

You can use LANC to remote control your camera in case you use a steady cam support or a tripod and don´t want to touch the camera. The Iris and Focus functions only work if you have a motorized lens. In our project we needed to control this functions from a computer software and although there are some LANC to USB adapters (i.e. ApplieLogic)  we made a prototype using an Arduino based on Martin Koch valuable contribution found in this site: http://controlyourcamera.blogspot.pt/2011/02/arduino-controlled-video-recording-over.html

S15

Picture taken from Martin´s site. Take a look into his page!

To build the LANC interface you need a 2.5mm stereo jack, a 4.7k and a 5.6k resistors, a 5.1v zener diode and a bc547 or 2N3904 transistor. You can follow my sketch:

After prototyping the LANCuino, it´s time to connect the camera to your computer and send the control messages. But beware always turn the camera off before plugging or unplugging the LANC cable!

The LANC channel is pulled to high (about +5v) and drops to low to send commands.

LANC commands are defined in Hexadecimal converted to binary translated to pulses.

0x28, 0x45 = Focus Near  (reverse binary {0,0,0,1,0,1,0,0} {1,0,1,0,0,0,1,0})
0x28, 0x47 = Focus Far  (reverse binary {0,0,0,1,0,1,0,0} {1,1,1,0,0,0,1,0})
0x28, 0x53 = IRIS-  (reverse binary {0,0,0,1,0,1,0,0} {1,1,0,0,1,0,1,0})
0x28, 0x55 = IRIS+  (reverse binary {0,0,0,1,0,1,0,0} {1,0,1,0,1,0,1,0})
0x28, 0x43 = Auto Focus  (reverse binary {0,0,0,1,0,1,0,0} {1,1,0,0,0,0,1,0})
0x28, 0xAF = Auto IRIS  (reverse binary {0,0,0,1,0,1,0,0} {1,1,1,1,0,1,0,1})
0x18, 0x33 = REC (reverse binary {0,0,0,1,1,0,0,0} {1,1,0,0,1,1,0,0})

 

Download BMPC-LANC-MIDI

[wpdm_file id=6]

——————————————————————————————————
BMPC-LANC-MIDI v1.2 (2014 www.grifu.com)

LANC Remote Control IRIS/FOCOUS for Blackmagic Pocket Camera (BMPC)

LANC to MIDI to be used with BMPC.
Download Arduino MIDI library from http://playground.arduino.cc/Main/MIDILibrary

Download Hairless-midi from http://projectgus.github.io/hairless-midiserial/

This sketch listens to the MIDI channel 4 looking for Control Messages that
Will be translated to LANC commands.

This Sketch was made for the special purpose of a puppet play called “Peregrinaçao”
With this sketch we can cantrol the Focus and Iris of 3 cameras using one arduino.

I use virtual MIDI to be able to control the LANC messages from any software.
Because Arduino uses the serial port we need another application to
read MIDI messages from the serial port and send them to a virtual midi.
Hairless-midi is a free MAC/PC application that reads MIDI from the serial port.

Lanc Commands
FOCUS NEAR/FAR/AUTO
IRIS PLUS/MINUS/AUTO

This code is very draft and could be optimized, but it works well in our project.
Part of the code was based on Martin Koch code.

MIDI commands
Control Change = 33 to 37 decresases the delay_time from 1000 to 10ms;

Program Change Commands sends indivudual messages directly to cameras, one step for each message.

values between 01 and 09 send commands to camera 1
values between 10 and 19 send commands to camera 2
values between 20 and 29 send commands to camera 3

Program Change = 3,13,23 Focus Near {0,0,0,1,0,1,0,0} {1,0,1,0,0,0,1,0}
Program Change = 4,14,24 Focus Far {0,0,0,1,0,1,0,0} {1,1,1,0,0,0,1,0}
Program Change = 5,15,25 Auto Focus {0,0,0,1,0,1,0,0} {1,1,0,0,0,0,1,0}
Program Change = 6,16,26 Auto Iris {0,0,0,1,0,1,0,0} {1,1,1,1,0,1,0,1}
Program Change = 7,17,27 Iris – {0,0,0,1,0,1,0,0} {1,1,0,0,1,0,1,0}
Program Change = 8,18,28 Iris + {0,0,0,1,0,1,0,0} {1,0,1,0,1,0,1,0}

To send several steps (i.e. three IRIS+ steps) at once, you should send Contro Change MIDI messages
But you should select the camera first by using the fowling messages:

Control Change = 30 Select camera 1
Control Change = 31 Select camera 2
Control Change = 32 Select camera 3

Then… you can send messages to the selected camera and define the number of steps (maximum of 11 steps to the BMPC)

Control Change = 3 Focus Near
Control Change = 4 Focus Near
Control Change = 7 IRIS-
Control Change = 8 IRIS+

MIDI Example

Channel = 4
Control Change = 3
Value = 3 (the number of steps … a value between 1 and 11)

 

——————————————————————————————————

The making of BMPC LANC->Arduino->MIDI

 

first prototype

 

 

We made a circuit board to held all the components which then was fixated into a box. But first, we made the prototype using a breadboard and then…… we use hot glue to fix the components.

——————————————————————————————————

LANC References / Links:

BlackMagic Forum = http://forum.blackmagicdesign.com/viewtopic.php?f=18&t=14201

Arduino / maxmsp sketch´s from furiousgreencloud = http://blog.furiousgreencloud.com/2009/10/update-arduino-lanc-version-02.html

LANC fully explained = http://www.boehmel.de/lanc.htm

AppliedLogic LANC/USB adapter = http://www.appliedlogiceng.com/index_files/Page1485.htm

Arduino / LANC interface = http://controlyourcamera.blogspot.pt/2011/02/arduino-controlled-video-recording-over.html

 

 

——————————————————————————————————

FEEDBACK

[contact-form][contact-field label=””””””””””””””””Name”””””””””””””””” type=””””””””””””””””name”””””””””””””””” required=””””””””””””””””1””””””””””””””””/][contact-field label=””””””””””””””””Email”””””””””””””””” type=””””””””””””””””email”””””””””””””””” required=””””””””””””””””1””””””””””””””””/][contact-field label=””””””””””””””””Website”””””””””””””””” type=””””””””””””””””url””””””””””””””””/][contact-field label=””””””””””””””””Message”””””””””””””””” type=””””””””””””””””textarea””””””””””””””””/][/contact-form]