Arduino Promini 5V 16MHZ 互換機
5枚で$12弱の値段に惹かれて中国からエアメールでゆっくり到着したProMini互換の板ですが、さっそくチェックした所、ヒット率80%
残念ながら、1枚はありえないヒューズビットが書き込まれていました。。。(>_<)
とりあえず直したけど、全部スケッチ書き込めるか試した方がよいかな。。。
SBUS(みたいなもの)のデコード
うん十年前にはフタバユーザーだったのに、現在はJRユーザーなので、そもそもSBUSなんか関係ない筈なのですが、懇意にしている模型屋さんに、Phantom用送受信機のセットが処分に困るほど積まれて行き場を失っていたので、ひとつ借りてきました。
規格がオープンではないので、各社リバースエンジニアリングした結果、SBUSみたいな信号をデコードする機械とか、SBUSみたいな信号をエンコードする機械とか、FUTABA以外の会社からも結構出ています。現行のPhantom用送受信機セットもそんな感じの製品の一つ。
で、この、SBUSみたいなもののデコード方法なんですが、こんな風にソースが公開されていて、中見ればおおよそどんな感じかは掴めると思います。
この、SBUSみたいなものをデコードするコツとしては、
1.信号は反転させてRXに繋げる。
2.反転させた信号を、100000bps データ長8bit パリティはeven ストップビット2bitで見てやると、1回25byteのデータを送ってくる。
3.1byte目は16進 '0F'固定
4.25byte目は16進'00'固定
5.実際のデータは2byteめ からで、1~16チャンネルの分解能は11bit
(つながりがちょっと面倒くさい)
6.1チャンネルのデータは3byteめ の下位3bitと2byteめ の8bit
7.2チャンネルは4byteめ の下位6bitと3byteめ の上位5bit
8.3チャンネルは と と 6byteめの下位1bitと5byteめ の 8bitと4byteめ の上位2bit
(と16チャンネルまで続いて)
9.17-18チャンネルは1bitチャンネル(ONOFFのみ)
10.17チャンネルは、24byte目の最下位ビット
11.18チャンネルは、24byte目の下から2番目のビット
12.Failsafeが入ると、24byte目の下から4番目のビットが立つ
言葉で書くと混乱しちゃうなあ。ソース見た方が早いです。
ここの37~87行目あたり。。。
と、言うわけで、無事デコードした結果が以下の動画。
このまま戦車(みたいなもの)作っちゃうかな~
追伸。SBUS2とかテレメトリ対応になると、1byte目の'0F'固定とか25byte目の'00'固定とかが崩れるみたいで、そのあたりもしっかりデコードしたい方は、'SBUS2 DECODE'とかで調べてみてください。。。
SonyMulti端子付きカメラ ラジコン用シャッターユニットの製作
まずはこんな感じで回路を繋げて、、、
部品としては、
arduino Promini 5v16Mhz x1
フォトカプラ SHARP PC827 x1
抵抗200Ω×2
くらい?
で、arduinoで動かすプログラムはこんな感じです。簡単簡単♪
//各チャンネルのパルス幅上限下限 #define MaxPWM 2000 #define MinPWM 1000 #define Mid_Point 1500 //arduino ピン設定 #define Focus_Pin 4 #define Shutter_Pin 5 #define PPMin_Pin 2 //シャッター間隔 #define Interval 5000 //単位 us int Shutter_Pos = 0; //0->idle 1->shutter on ready 2->shutter release ready int Shutter_PWM = Mid_Point; static uint32_t ShutterStart = 0; static uint32_t ShutterRelease = 0; static uint32_t Now; void setup() { pinMode(Focus_Pin, OUTPUT); pinMode(Shutter_Pin, OUTPUT); pinMode(PPMin_Pin, INPUT); digitalWrite(Focus_Pin, HIGH); digitalWrite(Shutter_Pin, HIGH); } void loop() { Now = millis(); Get_PWM(); Set_Status(); if (Shutter_Pos = 1 and ShutterStart < Now) Shutter_On(); if (Shutter_Pos = 2 and ShutterRelease < Now) Shutter_Release(); } void Shutter_On(){ digitalWrite(Focus_Pin, LOW); digitalWrite(Shutter_Pin, LOW); ShutterRelease = Now + 1000;//0.5sec後にシャッターリリース ShutterStart = Now + Interval; Shutter_Pos = 2; } void Shutter_Release(){ digitalWrite(Focus_Pin, HIGH); digitalWrite(Shutter_Pin, HIGH); Shutter_Pos = 1; } void Get_PWM(){ Shutter_PWM = constrain( pulseIn(PPMin_Pin, HIGH,25000), MinPWM, MaxPWM); } void Set_Status(){ if ( Shutter_Pos != 0 and Shutter_PWM > 1300 and Shutter_PWM < 1700 ) { Shutter_Pos = 0; ShutterStart = 0; ShutterRelease = 0; digitalWrite(Focus_Pin, HIGH); digitalWrite(Shutter_Pin, HIGH); } if ( Shutter_Pos = 0 and (Shutter_PWM <= 1300 or Shutter_PWM >=1700) ) Shutter_On(); }
RX-100 専用ジンバル(Walkera G-3S) その3
今回は飛ばしてきました。
まずは、TarotT810へのマウントの図。
ちょっと板に穴あけとか必要です。で、マウント板の奥側にあるのが、
このジンバルとカメラ用の静止画シャッターユニット兼PPMエンコーダー
上側のArduinoProminiを取ると、200ohmの抵抗と、フォトカプラPC817が見て取れます。
カメラの方は、こんな感じ、HDMI端子(映像モニタ用)と、Multi端子(シャッターユニット用)を接続してあります。
というわけでrawで撮った写真を弄って遊ぶこともできます。
とりあえず、プロポでシャッターのスイッチをオンにすると、5秒に1回ずつ連続で写真撮るように設定してありますが、写真撮ってメモリに書き込むタイミングで、カメラからの画像が一瞬真っ暗になるのはいただけないなあ。
Walkera G-3S Gimbal with RX100M3 from zubon2003 on Vimeo.
急いで飛ばしたらしたら、結構コンニャクひどし。
いろいろ原因考えられるのですが、動画のシャッタースピード1/500とか1/1000はいただけないなあ。(というか自分が悪いのですが。。。。)今度はちゃんと、60fpsで1/125でやってみよう。
0:00~0:05 カメラのライブアウト->iOSD->EagleTree->モニタです。映像がちっちゃ目でみにくいです。
0:05~0:13 このジンバル、ティルトとロール両方ともスティックポジションモード又は両方ともスティックレートモードになってしまうので、シャッターユニットに小細工を弄し、ロール方向はトリムの調整を3ポジションスイッチで行えるようにしてみました。
とくにゲインの設定とかはしてなくて、そういう意味ではポン付けなので、まあ、しばらくあれやこれややってみましょうかね。。。
RX-100 専用ジンバル(Walkera G-3S) その2
だんだん慣れてきて仕事?が早くなってきたかも???
初代以外のRX100に付いてるmulti端子を使ってシャッタをArduinoで切ってみます。
あとはラジコンの信号でONOFF出来るようにして、、、
機体搭載用に基板を小さく作って。。。
sonyのカメラ過渡期とはいえ、同じmulti端子でもCX430とかのビデオカメラ系と、コントロールの仕方がちょっと違うのは面倒くさいなあ。
で、どうやってシャッター切るかというと、、
これ、昔の記事の写真なんですが、、、
アダプターケーブルVMC-AVM1(2,000円くらい?)をばらして、
カメラの電源入れた状態にして、
黒い線をシールド(GND)に接触させればフォーカス(半押し状態)
黒と茶色の線を両方ともにシールド(GND)に接触させればシャッター押した状態
になります。。。
ただ本当は、ズーム(ただし録画中はカメラの仕様でRX100ではズームがきかない)とか、録画開始中止も制御できそうなんだけど、やり方はまだわかりません。。。
売り物だと、こんな立派なものもありますけどね。。。。
昔はこんな感じで機械的にシャッタ-切ったんだけど、これ結構面倒だし、ちゃんとやらないとイマイチ信頼性に欠けます。カメラ取りつける時にちゃんと調整しないとへんな所押しちゃって写真が撮れてなかったり、、、
なつかしいなあ、初代RX100。。。
大昔F550にサーボジンバル+初代RX100+GoProHero2で撮影した奴です。
GoPro部分はかなり後処理で手ぶれ補正してます。
帰国
ヨーロッパ滞在期間中、色んな観光地でマルチコプターの空撮を目撃するかと思いきや、そんなことは当然なく。。。
ミュンヘンでの電車待ちの間にふらりと立ち寄った本屋さんで、
こんなものを入手。
ただし、、、
中はドイツ語です。この本でドイツ語の勉強するかな~。。。
で、旅行の記録用に、SONYのRX-100M3を持っていったのだけれど、、、
家に帰ってみたら、こんなの発見。
Walkera Sony RX100 G-3S Brushless Gimbal for cinematic videography - RC Groups
今回は空撮に関係なく、、、とカメラを買ったつもりだったのですが、運命は過酷。
ビデオのライブアウト込みのRX100専用ジンバル123どれでも使えるよ!ということで、ちょっと今後の推移を見守りたいと思います。。。