ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

Potensic製 トイドローン A20Wを分解した!

Potensic製 トイドローン A20W、無事初飛行等に成功し、カメラ撮影とかもできたので、分解調査を開始。マニュアルによると、このドローンの構造はこんな感じ。

f:id:donadonasan:20190105235027p:plain

ドローンの構造1

f:id:donadonasan:20190105235055p:plain

ドローンの構造2

これ、電池交換もワンチャンあるな。
さて、分解開始。本体カバーは、裏面のネジ4個を外せばOK。ドライバーは付属のものが使える。

f:id:donadonasan:20190105232205p:plain

カバー取り外し

カバーを取り外したところ。いい感じに、配線がてきとーに飛び交ってるw 基板は2枚か?

f:id:donadonasan:20190105232328p:plain

カバーを外したところ

通信基板の下がどうなっているのか気になったので、持ち上げて、間に入っていたクッションを取り除いたところ。配線が、心底テキトーに飛び交っている。また、通信基板から、どこにもつながっていない配線が1本伸びている。これはアンテナかな。

f:id:donadonasan:20190105232426p:plain

通信基板を持ち上げたところ

次に制御基板を観察。通信基板は両面実装。フラットケーブルがついている側にはカメラ制御ICっぽい部品と、8Mbitフラッシュメモリ(25D80)が載ってる。フラットケーブルとカメラ制御ICは振動対策用?の樹脂でくっついているため、ICの型番は確認できず。また、基板左側のケーブルの下にIC用の水晶発振子?がいるんだけど型番確認し忘れた。右上にいる6端子のICは、カメラの電源でも制御しているのかな?

f:id:donadonasan:20190105235333p:plain

通信基板 カメラ制御側

通信基板のWi-Fi制御側には、Wi-Fi用IC SV6030Pが載っていた。こいつはフラッシュメモリ非内蔵らしく、こいつ用のフラッシュメモリは前述の25D80と思われる。なお、このマイコンはサブボードに搭載されていた。なんでだろう?無線関係の回路、この板では閉じていないから有りものをペタってしたわけじゃないし。

f:id:donadonasan:20190106002123p:plain

通信基板 Wi-Fi制御側

 それにしても、ひどいハンダ付けだよなあ・・・。

f:id:donadonasan:20190106165330p:plain

受信ボード

 

Potensic製 トイドローン A20Wを買った&飛ばした!

昔からドローンに興味があったんだけど、すぐ飽きそうな気がしてて買うのは我慢していた。していたんだけど・・・。要求仕様を満たす一番安いのを買ってしまった。

要求仕様:

  • 技適取得済み
  • 200g未満
  • カメラ搭載
  • スマホでリアルタイムに撮影動画が見れる
  • リュックサックに余裕で入るサイズ
  • プロペラガード付き

で、一番安そうだったのがこれ。 ¥499割引クーポン適用で、¥4500。これならいいか、とポチりました。

Amazon: Potensic A20W

[ 目次] 

  • 主要諸元
  • 箱の外観
  • 開封の儀
  • ドローン外観
  • コントローラ
  • マニュアル類
  • その他付属品
  • そして初飛行へ

 

続きを読む

KCSSメイン画面の説明

KCSSのメイン画面について説明します。メイン画面は設定により見た目が変わるため、以下の画像はお使いの環境と異なる場合があります。

KCSSのメイン画面には、サムネイル画面、メインボタン、保存バッファ情報の3つのパーツがあります。以下、それぞれ説明します。

f:id:donadonasan:20181202171643p:plain

KCSSメイン画面上にあるパーツの一覧


1. サムネイル画面

サムネイル画面には、最後に保存されたスクリーンショットが表示されます。起動直後など、まだ一枚も保存していない場合はグレーの画面になります。

f:id:donadonasan:20181202171752p:plain

起動直後のKCSSメイン画面

また、サムネイル画面は設定ダイアログの保存タブにある「保存した画像のサムネイル表示」や、メイン画面を右クリックして出るメニューの「サムネイルを表示」から表示のON/OFFを切り替えることができます。

f:id:donadonasan:20181202172402p:plain

サムネイルOFF時のKCSSメイン画面。コンパクト。

2. メインボタン

スクリーンショット等は、このメインボタンを押すことでも撮影できます。押した時の挙動は、設定ダイアログのその他タブから変更できます。設定した挙動に応じ、ボタンのアイコンが変わります。デフォルトではシングルショット撮影が割り当てられています。

f:id:donadonasan:20181202172814p:plain

シングルショット撮影時のメインボタンアイコン

f:id:donadonasan:20181202172837p:plain

マルチショット撮影時のメインボタンアイコン

f:id:donadonasan:20181202172849p:plain

最終保存先を開く、又は指定したフォルダを開く設定のメインボタンアイコン

3. 保存バッファ情報

保存バッファの空き具合や、最後に保存した時刻等の情報を表示します。保存バッファが空っぽの場合は色が緑ですが、保存作業をしている場合は黄色になります。

また、テキストとして最後に保存したファイルの情報を表示します。最後に保存したファイルがシングルショットの場合は「S」に続いてキャプチャ時刻を表示します。マルチショットの場合は「M」に続いてマルチショット中の何枚目の画像かをを表示し、最後にキャプチャ時刻を表示します。

f:id:donadonasan:20181202172814p:plain

最後に保存したファイルの情報表示例(シングルショット)

f:id:donadonasan:20181202173706p:plain

最後に保存したファイルの情報表示例(マルチショット)

KCSSの設定:その他

設定ダイアログの「その他」タブでは、KCSSの動作などを設定できます。

f:id:donadonasan:20181112233902p:plain

設定ダイアログの「その他」タブ

1. メインボタン設定

KCSSのメインボタンをクリックしたときの動作を、以下のいずれかに割り当てます。

  • シングルショット:スクリーンショットを1枚保存します。
  • マルチショット:スクリーンショットを複数枚保存します。ラジオボタン直下のコンボボックスより、保存に使用する設定を選べます。
  • 最終保存先:最後に画像を保存したフォルダを開きます。
  • 保存フォルダ:ラジオボタン直下のコンボボックスで指定したフォルダを開きます。

2. 常に最上位に表示

KCSSを、常に他のウィンドウよりも上に表示します。

3. 終了時に確認

KCSSを終了するときに、確認ダイアログを表示します。

4. 保存バッファ情報を表示

KCSSのメイン画面に、保存バッファの空き状況を表示します。

5. 多重起動を許可

KCSSを複数個起動することを許可します。この設定を変更した場合、全てのKCSSの再起動が必要です。

5. エラーダイアログの表示を抑制する

キャプチャ対象のウィンドウが消えたとき等にKCSSが表示するエラーダイアログを表示しないようにします。

KCSSの設定:保存

設定ダイアログの「保存」タブでは、スクリーンキャプチャした画像の形式変換や保存に関して設定できます。

f:id:donadonasan:20181107232745p:plain

保存の設定

1. 画像形式

画像形式として、現在は以下のいずれかを選べます。

2. ビット深度

ビット深度は24と32のいずれかを選べます。32にすると透過チャンネル情報が追加されますが、ほとんど意味がありません。どうしても必要な場合のみ選ぶべきでしょう。なお、gif及びjpgでは32を選ぶことは出来ません。

3. バッファ設定

ここでは、画像変換やファイル保存に関する設定ができます。

3.1 変換

キャプチャした画像を所定の画像形式に変換するには若干の時間がかかります。そのため、CPUパワーやスクリーンショット速度によっては画像変換が間に合いません。そこでKCSSでは変換前の画像を一旦バッファに溜め込み、順次変換します。

「変換」には最大何枚分まで貯め込むかを指定します。このとき必要となるメモリの目安が何MBか、そのすぐ右に表示されます。

「変換」には、少なくともマルチショットで「押下前」「押下後」の合計以上の数値を入れてください。例えば、以下の設定では少なくとも50を設定してください。

  • マルチショット01: 押下前=10 押下後=10 (合計:20)
  • マルチショット02: 押下前=40 押下後=10 (合計:50)

3.2 スレッド数

KCSSは複数のスレッドで同時に画像を変換できます。ここには画像変換に使うスレッド数を指定してください。これが大きいほど画像変換能力が上がりますが、大きすぎるとゲームの処理などが低下します。KCSSはファイル保存にも1スレッド使いますので、この「スレッド数」の設定値はタスクマネージャに表示される論理プロセッサ数からKCSSのファイル保存用の1とゲーム用の1を引いた値か、それ以下とするべきでしょう。すなわち、例えば論理プロセッサ数が8ならば、6以下を設定すべきです。よくわからない場合は、設定を弄らなくてOKです。初期設定で、上記の値となっています。

f:id:donadonasan:20181110214703p:plain

タスクマネージャに表示されている論理プロセッサ数。「パフォーマンス」タブから「CPU」をクリックすると表示される

3.3 保存

システムによっては画像変換したデータをファイルとして保存する処理に時間がかかります。そのようなシステムのために、KCSSは変換したデータを一旦バッファに溜め込み、順次保存するようにしています。ここでは、バッファに貯め込む最大枚数を指定します。その右には、現在の画像形式および最大枚数設定で何MB程度のメモリが必要か、目安となる数値を表示します。

「ディスクキャッシュを活用する」にチェックを入れた場合は数枚程度で良いようです。

4. 保存した画像をプレビュー

保存した画像をKCSSに表示します。このチェックを外すと、KCSSのウィンドウサイズが小さくなります。

5. ディスクキャッシュを活用する

Windowsが有する、ディスクキャッシュによる遅延書き込みを有効にします。このチェックがONになっていると、KCSSは速やかに画像をディスクに保存できるようになります。そのかわり、画像ファイルの真の保存までは若干時間がかかるようになるようで、保存直後に停電すると画像ファイルが失われるかもしれません。また、保存先がUSBメモリ等のリムーバブルドライブの場合、「デバイスの取り出し」等をせずに抜いた場合も画像ファイルが失われるかもしれません。

KCSSでキャプチャする領域の座標や幅、高さを調べる方法

ここでは、KCSSのキャプチャ設定でX, Y, 幅, 高にいれるべき値を調べる方法を説明します。

1. 調査用の画像を保存する

X, Y, 幅, 高に以下の値を設定します。

  • X, Y: 両方0
  • 幅、高さ:ディスプレイの幅、高さと同じ(わからない場合は、幅:1920、高さ:1080で)

f:id:donadonasan:20181104192303p:plain

X,Yを0に、幅と高さを画面の幅と高さにする

つぎに、シングルショットのキャプチャをしてください。デフォルトでは、CtrlキーとAltキーを同時に押しながらSでキャプチャできます。

2. 左上の座標を調べる

キャプチャしたら、保存されたファイルをWindows付属のペイントなど、画像上のマウスカーソル位置がわかるソフトで開きます。

f:id:donadonasan:20181104193936p:plain

キャプチャした画像をWindows付属のペイントで開いた例(ただし画像は縮小しています)

そして、マウスカーソルをキャプチャしたい領域の左上に持っていき、その点のX座標とY座標をKCSSのX, Yに入力します。下の例なら、Xに8, Yに48を設定します。

f:id:donadonasan:20181104195219p:plain

X, Yの設定例

3. 右下の座標を調べる

幅と高さを求めるために右下の座標を調べます。下の例ではX=1208, Y=768となっています。

f:id:donadonasan:20181104200034p:plain

キャプチャしたい領域の右下座標を調べる

4. 幅、高さを設定する

KCSSの幅に右下座標のX(1208)から左上座標のX(8)を引いた1200を、高に右下座標のY(768)から左上座標のY(48)を引いた720を設定します。

f:id:donadonasan:20181104200725p:plain

X, Y, 高, 幅を設定する

以上で終わりです。

KCSSの設定:ホットキー

KCSSは、ゲームプレイ中にキーを押すことでスクリーンキャプチャできます。

設定ダイアログの「ホットキー」タブでは、このスクリーンキャプチャに使うキーの設定や、画像ファイルの保存先、ファイルの命名規則を設定できます。

f:id:donadonasan:20181019234220p:plain

ホットキーの設定

設定には、1回キーを押すとスクリーンショットを1枚だけ撮るシングルショットの設定と、1回キーを押すとスクリーンショットを複数枚撮るマルチショットの設定の2種類があります。以下では、設定の基本となるシングルショットの設定について説明後、マルチショットの設定について説明します。

1. シングルショットの設定

f:id:donadonasan:20181105224025p:plain

シングルショットの設定

1.1 ホットキーの設定

ホットキーの設定では、スクリーンショットを撮るのに使うキーを設定します。「入力欄」の白いエディットボックスをクリック後、使いたいキーを押します。ShiftやAlt、Ctrlキーも使えます。F12キーはWindows側の事情で使わないようにお願いします。

f:id:donadonasan:20181020082815p:plain

キーを入力したら、「変更」ボタンを押して確定してください。シングルショット撮影をしない場合は入力欄が「なし」のままで「変更」ボタンを押してください。

f:id:donadonasan:20181020083030p:plain

1.2 保存先の設定

スクリーンショットを保存するフォルダを指定します。「参照...」ボタンをクリックして、指定してください。「保存先」エディットボックスを直接編集してもOKです。

f:id:donadonasan:20181020165427p:plain

1.3 命名規則

ファイル名の名付け方を指定します。保存する際には%date%や%time%といったメタ文字は20181103(保存時の日付:2018年11月3日)や120410(保存時刻:12時4分10秒)といった数値に置き換えられます。他に使えるメタ文字は、「メタ文字一覧」ボタンで確認できます。また、プレビューボタンを押すことで、現在の命名規則でどのように置き換えられるか確認できます。

画像の拡張子(.png等)は設定不要です。拡張子が指定されていない場合は保存タブでの設定に従い、自動で拡張子を付けます。

命名規則には、フォルダ名も含めることができます。これにより、日付ごとにフォルダを自動で分けることができます。

1.4 プレビュー

現在の命名規則に基づき、ファイルがどのように名付けられるか現在の日時に基づき表示します。

2. マルチショットの設定

マルチショットの設定は、シングルショットと同様の設定に、「設定名」「メタ文字一覧」「押下前」「押下後」「保存速度」を加えたものになっています。

f:id:donadonasan:20181105224224p:plain

マルチショットの設定

2.1 設定名

KCSSは、複数のマルチショット設定を同時に使うことができます。設定名では、設定するマルチショット設定を切り替えることができます。設定は、デフォルトでは3組まで保存できます。増やしたい場合は、KCSS.iniのMaximum multi shot noの値を変えてください。変え方は、本ページのサポート外とします。

2.2 メタ文字一覧

命名規則に使えるメタ文字の一覧を表示します。本稿執筆時点で使えるメタ文字は以下のとおりです。命名規則にこれらメタ文字を使うと、ファイル保存時にメタ文字部分が日時を表す数値に置き換わります。

f:id:donadonasan:20181105230636p:plain

使用可能なメタ文字一覧

2.3 ホットキー、保存先、命名規則

シングルショットの設定と同じです。詳細はそちらを御覧ください。

2.4 押下前

マルチショットで設定したキーを押すと、キーが押される前の画像も保存できます。「押下前」には、キーが押される前の画像を何枚保存するかを指定します。保存される画像の時間間隔は、キャプチャタブで設定できる「取り込み周期」に、ホットキータブで設定できる「保存速度」を掛けたものになります。詳細は「保存速度」を参照してください。

2.5 押下後

マルチショットで設定したキーを押すと、キーが押された後の画像も保存できます。「押下後」には、キーが押された後の画像を何枚保存するかを指定します。保存される画像の時間間隔は、キャプチャタブで設定できる「取り込み周期」に、ホットキータブで設定できる「保存速度」を掛けたものになります。詳細は「保存速度」を参照してください。

 2.6 保存速度

保存速度は、マルチショットにて保存する画像の時間間隔に関する設定です。マルチショットで設定したキーを押すと、KCSSはキーが押された前後の画像を一定の時間間隔で保存します。この間隔は、キャプチャタブで設定できる「取り込み周期」に、「保存速度」を掛けたものになります。このうち、「取り込み周期」はKCSS全体で共通なものとなっていますが、「保存速度」はマルチショット設定ごとに異なる値にすることができます。そのため、以下のような運用ができます。

  • Ctrl+Alt+1を押すと、100msごとにスクリーンショットをキー押下前・押下後それぞれ10枚ずつ保存する(撮りたい!と思ったシーンを連続撮影)
  • Ctrl+Alt+2を押すと、1000msごとにスクリーンショットをキー押下前10枚、押下後2枚保存する(撮り逃した!と思ったシーンを10秒前まで遡って保存する)