2016年9月24日土曜日

Blackmagic Design ATEM Television Studio用ワイヤレスタリーランプの製作

Blackmagic Designという会社が数年前に鳴り物入りという感じで出してきた、
フルHD 1920*1080 59.94iの切り替えができる、ATEMというシリーズの低価格スイッチャー
ATEM Televisin Studioの中古を買いました。一生のうちに何度使うんですかね。

馬鹿ですね。

このスイッチャーは本体に切り替えボタンなどがなく、IP接続したパソコンや、
別売りのコントロールパネルで操作をします。
IP接続なのをいいことに、Arduinoを使って、、
コントロールパネルを自作したりするための自作キットや、
完成品のコントロールパネルなどを販売しているSKAARHOJという会社があります。

SKAARHOJ
http://skaarhoj.com/
aboutを見ると、デンマークの会社のようで、デンマーク語なんですかね?

この会社は自作キットのために、Arduinoライブラリを出してくれています。
買わなくてもダウンロードできるので、それを借りていろいろ自分でも工作ができるんです。
これがATEMを買った理由です。使うアテはなくても工作のネタになるんです。

さて、IPでスイッチャーとハードウェアをつなぐといろいろできるわけです。
ライブラリでは、Arduino Ethernet Shieldを使ってArduinoとATEMを接続し、
簡易コントロールパネルを作るサンプルスケッチが入っています。
試してみましたが、簡単にATEMをArduinoでコントロールできました!

Arduino Ethernet Shield 2を使っているので、ライブラリを少々書き換える必要がありましたが、
インクルードされている、Ethernet.hをEthernet2.hと書き換えるだけでOKでした。

ライブラリを書き換えれば他のものでも動くということがわかったので、
IP接続ができる安いマイコンである、ESP-WROOM-02で使うことはできないかと試しました。
ライブラリ内の、EthenetUDPを、WiFiUDPに書き換えて、
#include <avr/pgmspace.h>をコメントアウト、
サンプルスケッチの#include <Ethernet.h>を消去、
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <WiFiUDP.h>>
を追加、
byte mac[]={}、
IPAddress ip();
をコメントアウト(DHCP接続するため)、Serial.begin()でシリアル通信速度を115200に設定、
WiFi.begin(ssid, password);でSSIDとパスワードを入力、Wi-Fiに接続、
なぜかそのままだとコネクションできないことが多いので、
  AtemSwitcher.connect();があるところに、  AtemSwitcher.connect();を10個くらいコピペ

あとはIOピンを適当に決める
以上でサンプルのATEMbasicContro.inolをESP-WROOM-02で使うことができました。
このIOの数ではそのままではコントロールパネルを製作するのは辛いので、
タリーランプとして使ってみることにしました。
ATEMbasicContro.inoの、スイッチ部分を削除、タリー部分は、
digitalWrite(greenledpin, !AtemSwitcher.getPreviewTally(n))
digitalWrite(redledpin, !AtemSwitcher.getProgramTally(n))
で、getPreviewでn chグリーンタリー、getProgramTallyでn chの
レッドタリーを点灯させられました。
実際に動かすとこんな感じです。



最後に、ESP-WROOM-02をブレークアウトボードに付けずに、
UEW線で直配線してケースに入れました。
電源のコードだけ出ていますが、3.3VのACアダプタや、
レギュレーターを使いUSBやDVバッテリーなどで駆動させることができます。



※このままだとアレなのであとでユニバーサル基板に乗せました。
ケースには1/4”→3/8ネジ変換アダプターを底にグルーガンで固定し、
カメラネジで固定できるようにしたので、
コールドシュー→カメラネジ変換雲台でオンカメラできるようになりました。

0 件のコメント:

コメントを投稿