« 2011年7月 | トップページ | 2011年9月 »

2011年8月

TECHONE HOBBY TRENCHES F3P EPP 製作記

TECHONE HOBBYのTRENCHES F3P EPPをいただいたので作ってみました。完成した後で、いくつか間違って組み立ててしまったことに気づきました。まだ飛ばしていないので、間違いの影響は不明です。

Dsc01410s_2

◆動翼のカットは45度より鋭角にしないと、取説の舵角が取れません。

◆動翼と固定翼の隙間を少し空けてヒンジテープを貼らないと、取説の舵角が取れません。

◆主翼下の355mmと尾翼上部の180mmのカーボンロッドは、取説の長さでは不足します。

◆5gサーボ(HXT500 5g / .8kg / .10sec)、バッテリー(Rhino 360mAh 2s 7.4V 20C)、12Aアンプ(TURNIGY Plush 12amp (2A BEC) BESC)、屋外で飛ばすので車輪を大きいもの(GWS Ultra Light Wheels 47mm)に交換、受信機(Corona Synthesized Receiver 4Ch 72Mhz v2)という構成で、受信機以外をほぼ取説どおりの場所に搭載し、受信機をできるだけ後ろに搭載した状態で重心が合いました。後ろ重心にしたい方は、もう少し軽めのメカを選択した方がよいでしょう。

Dsc01416s Dsc01417s

◆サーボによってはエルロンサーボホーンと脚のロッドが干渉します。その場合は、サーボの位置を少し前に変えるか、サーボホーンを逆に付ける必要があります。

Dsc01414s

◆糸リンケージには、サーボホーン側でニュートラル調整ができるように、糸を固定するネジを付けました。

Dsc01411s

◆尾翼のホーンは、ホーンのカット形状に合わせて接着すると、ヒンジ面が回転中心になりません。

Dsc01415s

一部寸法がおかしいところがあるものの、意外と組みやすいキットでした。プリント塗装がきれいです。

| | コメント (1) | トラックバック (0)

GPSログ高度補正EXCELマクロの.exeファイル化

以前GPSロガー(GT-730FL-S)の高度をオフセット補正するマクロをEXCEL 2003で作成しましたが、パソコンが壊れて、EXCELの入っていないパソコンに買い換えたので、マクロが動かなくなってしまいました。表計算自体はOpenOfficeで代用できますが、マクロ(VBA)はだめです。

そこで、Visual Basic Expressに移植しました。まだ十分にデバックしていないので、使う場合は自己責任でお願いします。実行するためには、Microsoft .NET Framework 4 Client Profile (x86 および x64)が必要です。

「nmea_alt_0_3_0_0.zip」をダウンロード

最初はEXCELのCSVの取り込み機能を使っていたのですが、将来EXCELが無くても動くようにするため、先のマクロRev.0.3ではワークシートを使わないようにしていました。従って、簡単に移植できると思っていたのですが、VBAとVBがそれなりに違っていることに気づかされました。

そこで、EXCEL 2003 VBAからVisual Basic 2010 Expressに移植した手順をメモしておきます。

1.EXCEL側の準備
1) ワークシートやEXCEL固有の機能を使わないようにコードを変更する。
2) 各フォームやモジュールをエクスポートする(.frm,.bas)。
3) 各フォームを印刷する。

2.Visual Basicの準備
1) 新規プロジェクトを作成する。
2) [プロジェクト][新しい項目の追加]でWindowsフォームを作成し、印刷したフォームと同じ様にフォームを一から作り直す。
3) エクスポートしたフォーム(.frm)をテキストエディタで開き、それを参考にしながら、作成したフォームのプロパティ(主に(Name))を元のプロパティに変更する。
4) フォームのコード部分に、エクスポートしたフォーム(,frm)のコード部分をコピーする。
5) [プロジェクト][新しい項目の追加]でモジュールを追加し、エクスポートしたモジュール(.bas)のコードを作成したモジュール(.vb)にコピーする。

3.コードの変更
ソースコードにエラーを示すマークが表示されるので、エラーがなくなるようにコードを修正する。変更量を少なくするため、推奨されない古いコードも使ってます。

◆Option Explicit Onを、「Module~End Module」や「Public Class~End Class」の外に移動する。

◆Unload(Form1) ---> Me.close()

◆CSng(TextBox1.Value) ---> CSng(TextBox1.Text)

◆TextBox1 ---> TextBox1.Text

◆CheckBox1.Value ---> CheckBox1.Checked

◆FileName = Application.GetOpenFilename( _
        Title:="Read a NMEA file", _
        FileFilter:="NMEA file(*.nmea;*.txt;*.csv),*.nmea;*.txt;*.csv", _
        MultiSelect:="False")
--->
        Dim ofd As New OpenFileDialog()
        ofd.Filter = "NMEA file(*.nmea;*.txt;*.csv)|*.nmea;*.htxt:*.csv| _
          All file(*.*)|*.*"
        ofd.FilterIndex = 1
        ofd.Title = "Read a NMEA file"
        ofd.Multiselect = False
        If ofd.ShowDialog() = DialogResult.OK Then
            FileName = ofd.FileName
        Else
            FileName = ""
        End If
        SaveFileDialog1.Dispose()

◆FileName = Application.GetSaveAsFilename( _
        InitialFileName:=txtFileOut, _
        Title:="Write a NMEA file", _
        FileFilter:="NMEA file(*.nmea),*.nmea,Text file(*.txt),*.txt, _
          CSV file(*.csv),*.csv")
--->
        Dim SaveFileDialog1 As New SaveFileDialog()
        SaveFileDialog1.Title = "Write a NMEA file"
        SaveFileDialog1.FileName = FileName
        SaveFileDialog1.Filter = "NMEA file(*.nmea;*.txt;*.csv)| _
          *.nmea;*.htxt:*.csv|All file(*.*)|*.*"
        SaveFileDialog1.FilterIndex = 1
        SaveFileDialog1.CreatePrompt = True
        If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
            FileName = SaveFileDialog1.FileName
        Else
            FileName = ""
        End If

◆Form1.Show ---> Form1.ShowDialog()
                  Form1.Dispose()

◆MsgBox "test" & Format(sng, "0.0")
  --->
  MsgBox("test" & Format(sng, "0.0"))

◆i = FreeFile
  Open FileName For Input As #i
--->
  i = FreeFile()
  FileOpen(i, FileName, OpenMode.Input)

◆i = FreeFile
  Open FileName For Output As #i
--->
  FileName = FreeFile()
  FileOpen(i, FileNamet, OpenMode.Output)

◆Print #i, s ---> PrintLine(i, s)

◆Close i ---> FileClose(i)

◆Left(s,i)が「'Public Property Left As Integer'には引数がないため、戻り値の型をインデックス化できません」となる。 --> Microsoft.VisualBasic.Left(s,i)と書く。

◆Public s As Stringが、「名前空間のステートメントが無効です」となる。---> Public s As StringをSub Main()内に移動。

◆Sub Main()が実行されない。 ---> ソリューションエクスプローラの当該プロジェクトを右クリックし、プロパティ、アプリケーションフレームワークを有効にするのチェックを外す。スタートアップオブジェクトをSub Main()のあるモジュールに設定する。

◆Form1.Show()で表示されたフォームが閉じないうちに、次のステップが実行されてしまう。---> Form1.ShowDialog()、Form1.Dispose()に変更する。

◆Form1.vb内のイベントプロシージャー「Private Sub cmdAltOK_Click()」がイベントにリンクしない。---> 「Private Sub cmdAltOK_Click()  Handles cmdAltOK.Click」のように「Handles~」を追加する。

| | コメント (0) | トラックバック (0)

Youtubeの全画面再生が遅い

ASUS G73SwでYoutubeの全画面再生が遅いことに気が付きました。
Internet explorer 8 32bit版 (64bit版では問題ありません。)
Adobe Flash Player : 11.0.1.60
NVIDIA ドライバ : 275.33
Youtubeの画面を右クリックし、設定でハードウェアアクセラレーションを有効化のチェックを外すと、正常になります。

またVLCメディアプレーヤでMPEG-4(XVID)を再生した場合も駒落ちが激しく発生します。

AMD Radeon HD 6470Mを搭載しているSONY VAIO C VPCCB19Fでは、このような問題は起きません。NVIDIA GeForceはAMD Radeonに比べて、トラブルが多いです。

■ Windows10 + IE11 [2016/05/29]
G73SwでYoutubeやニコニコ動画の再生が非常に遅く、実質動かなくなってしまいました。
◆ 対策
IE11の[インターネットオプション]-[詳細設定]の[GPUレンダリングではなく、ソフトウェアレンダリングを使用する*]にチェックを入れ、[OK]。PCを再起動します。
なお、ニコニコ動画で右クリックしAdobe Flash Playerの[設定]で[ハードウェアアクセラレーションを有効化]のチェックは入っていてOKです。

| | コメント (0) | トラックバック (0)

« 2011年7月 | トップページ | 2011年9月 »