ヨットレースのスタート練習用タイマー~その2~

前回報告したスタート練習用タイマーですが、海上で動作させるとやはり音量が不足していました。

ヨットスタート練習タイマー

ヨットスタート練習タイマー。

ヨット練習タイマー

内蔵式3Wスピーカー。
アンプの仕様上、公称出力は1W。

そこで秋月電子のトランペットスピーカーを購入してみました。

トランペットスピーカー

秋月電子で¥1500の10Wトランペットスピーカー

 これに伴いアンプも増強します。
Aliexpressで購入した10WステレオD級アンプ基板。これ1枚104円で送料無料でした。やっていけるのでしょうか?

10Wx10Wアンプ

信じられない低価格。

 ついでにマイクもつけようと思います。パーツケースにあったコンデンサーマイクにLM358でマイクアンプを作り3Dプリントしたケースに入れます。

Mic+AMP

Fusion360で描いてレンダリングした図。

実物のマイク

出来上がったマイク

タクトスイッチ(大)を押したときだけマイクに電源が入ります。
スイッチとマイクの開口部は裏からビニールを貼って防水しました。

 

前回までは電源にモバイルバッテリーを使っていましたが、アンプのパワーアップに伴い12Vをボートのバッテリーから供給してもらいます。
但しマイコンには5Vを供給する必要があるので3端子レギュレータを追加しました。
また念のため電源の入り口にはヒューズも設けています(この装置のトラブルでボートが航行不能になってはマズイので慎重にいきます)。

全体図です。

全体の絵

全体図

 電線の出入り口は多少でも防水性を高める様に工夫してみました。
最終的にはコーキング予定。

ケーブル出入り口

ケーブル類出入り口。コーキングが着きやすい様にABSでスリーブを作成しました。

 

で、実際に海上で試してみました(写真は撮り忘れました)。
結果、スタートタイマーの音量は十分となりました。
但しマイクアンプはエンジンのイグニッションノイズを思いっきり拾ってピロピロ鳴っています。
これについては対策が必要です。 

ヨットレースのスタート練習用タイマー

ヨットレースのスタート練習用タイマーを作ってみました。
ヨットのレースはまずスタート5分前に旗が上がり、それから色々と手順を踏んで5分後にスタートとなります。この5分の間に選手は色々な準備を行います。
たとえば陸上の競技と違ってスタートラインに線を引く訳にはいかないので海上のブイとコミッティボートの間の直線がスタートラインとなるのですが、自分がはみ出しているかどうかが判りにくいので一旦ライン上に船を止め、ブイの向こうに見える景色を確認しておきます。そうするとスタートの瞬間にブイと向こうの景色を見る事で自分がラインを超えているかいないかが一目でわかるわけです。
また風の方向や海面の状況をチェックし、どのあたりを走っていくと有利かを予想します。 さらにスタート直前になるとラインの手前に多くの船が集まり混雑する中で有利と思われる場所に船を停止させる必要があります(
船は同じ場所に留まるのが難しいのです)。

RaceStart

スタート前


で、日ごろからスタート練習をやる訳です。
その際、ゴムボート上の先生や関係者が時計を睨みながら5分前とか1分前とか叫んだり、スタートの瞬間にホイッスルを鳴らしたりします。しかし5分間ずっと時計を睨んでいるのは結構苦痛ですし、ホイッスルを鳴らし忘れたりしもします。

そこでこのタイマーです。
スタートボタンを押すと「スタート5分前の5秒前」からカウントダウンし、1秒毎に発信音が鳴ります。そして5分前には長音1回+単音5回で5分前である事を知らせます。
その後、10秒置きに単音1回。また4分前には 長音1回+単音4回、3分前には長音1回+単音3回といった風にカウントダウンしていき、スタート10秒前からは1秒毎に発信音が鳴ります。
また5分スタートの他、4分、3分でのスタート練習にも切り替えられます。

製作

今回はArduinoを使用しました。
プログラムはArduinoUNO上でデバッグし、生のATmega328Pに書き込みます。

Arduionoブートローダ書き込み。

まずFT232RLでArduinoブートローダを書き込み、その後ArduinoUNOに挿してスケッチをダウンロードします。

 

そしてプリント基板を切削。

ヨットスタート練習タイマー基板

切削中。

 

ケースはポリプロピレンのタッパーです。
初めてレーザーでポリプロピレンを切ったので加減が分からず、スピーカー側は十分切れていなかったため後から手で切り抜く羽目に。

ヨット練習タイマー4

十分に切れていませんでした。
結局手作業で切り抜き中。

ヨット練習タイマー5

こちら側はパワーを上げたのでバッチリ切れています。というか少し強すぎたかも。

 

液晶は以前カホパーツセンターのジャンク市で買ったものです(既に3年も経っていました)。
液晶の前面にはクリアーのプラバンを張り、押しボタンの前には厚手のビニールを張って防水しました。
スピーカーを鳴らすアンプには秋月電子で購入したPAM8012モジュールを使いました。D級なので2W出せるのに小さいです。

ヨットスタート練習タイマー

モバイルバッテリーで電源供給。

ヨット練習タイマー2

こちら側はスピーカー。海上でも聞こえる様に3Wクラスです(アンプからは1Wしか入っていませんが)。
ケースとの間にビニールを貼って防水処理しました。

 

回路図

ヨットレース練習用タイマー回路図

クリックすると拡大します。

Arduinoスケッチ

 

まだ実際にスタート練習で使っていません。今度試してみます。

アメリカズカップ

福岡でヨットレースのアメリカズカップが開催されました。アジア初開催との事です。
熊本は先日の震災による被災地という事で、福岡市の国際スポーツ大会様/大会組織委員会様のご厚意により熊本ジュニアヨットクラブを観戦にご招待いただきましたので、11月19日(土)に大喜びで見に行ってきました。

会場に向かう川沿いの道から。見えてきました。かっこええです。期待が高まります。

AC2016_1

橋の向こうにAC艇が見えてきます。
「おおおっ!」

 

開始前にRedBullエアレースでおなじみの室屋氏によるアクロバット飛行が実施されました。
これだけでも来た甲斐があります。

かっこええです。
今度ラジコンで真似してみようと秘かに思ったのでした。

レースが始まりました。
アメリカズカップの艇は水中翼があり、スピードが出るとと船体が海面から浮き上がる「フォイリング」という状態になります。この日はあまり強い風ではありませんでしたが、それでも時々フォイリングするシーンが見られました。
コースは思っていたよりも狭く、OP級のコースよりも狭く見えました。そんなコースをカッとび艇が走るものですから1レースが20分程で終わります。 この日は3レースが行われましたがあっという間でした。

AC2016_3

こんなのが走っています。

第二レースはソフトバンクチームがトップでゴールして盛り上がりました。
この先も是非頑張ってほしいものです。

ご招待いただいた福岡市国際スポーツ大会様/大会組織委員会様、大変ありがとうございました。みんな大喜びでした。

64bitWindowsでOpenStickへの書込みができなかった件

MakerFaire用に新たなデバイスを作っていたらOpenStickへの書き込みが出来なくなっている事に気づきました。 まずいです。 このままではMakerFaireで胸を張って照会できません。
先日Windows7(32bit)からWindow10(64bit)に変更した事が絡んでいる様です。

OpenStickへの書き込みはMybootOSというツールで行うのですが、これが下の様なエラーになって立ち上がりません。

MybootOS_Error

間違ったフォーマットのプログラムを読み込もうとしました。(HRESULT からの例外 0x8007000B) ・・・というエラーが出る。

MybootOSはC#で書いてありVisualStudio2010でビルドしています。
ググってみると、どうやらビルドする時のCPUの指定がAnyCPUになっていたのが原因だった様です。 AnyCPUってのは実行するOSが32bitでも64bitでも、それぞれに合わせたモードで動いてくれるものだそうです。ところがプログラム内からDLLを読んでいると、DLLが32bitか64bitかというところまでは面倒を見てくれないため、今回の場合アプリケーションは64biitで動作しているのにDLLが32bitだったのでエラーになっていました(Mybootではmpusbapi.dllを使っています)。
そこでVisualStudioでX86としてビルドし直すと32bitのアプリが生成され、これだと最初から32bitとして実行するので無事動作する様になりました。

という事で64bitのOS上で動かす時は32bit版のアプリを実行しなければならないという解り難い状況になっています。
いずれにせよ動作する様になったのでバイナリだけアップしておきます(ソースは変更していないので)。 

で、そもそも何を作っていたのかというと、これです。。。

ヨットシミュレータコントローラMINI

ヨットシミュレータコントローラMINI

今回MakerFaireには実物大コントローラは持って行かないので雰囲気だけでもヨットっぽいコントローラをつくってみました。

Windows10(64bit)版でヨットシミュレータが動作しない件

Windows10への無償アップグレードが7月29日までという事なので、そろそろ検討を始めようと思い、まずはセカンドマシンで試してみました。
セカンドマシンとはHPのEliteBook2740pです。昨年の山口ミニメイカーフェアヨットシミュレータを動かすマシンが無かったため、中古で購入しました。セカンドマシンとはいえIntel i7搭載なので、メイン(Intel i5)より高級です。

HP Elite2740p

分厚いですがタッチパネルなのでWindows10を試すには最適です。

これには元々Windows7(32bit)が入っています。このマシンにはリカバリディスクが付いていないのでHPから購入しました。その際、32bitでも64bitでも購入可能との事でしたので64bit版を買っています。 よって今回は元々のWindows7(32bit)から、一旦リカバリディスクによりWindow7(64bit)を入れた後、無償アップグレードにてWindows10(64bit)化します。

まずリカバリディスクによりWindows7(64bit)をインストールした時点でヨットシミュレータを起動してみました。しかし何やらエラーが出ています。が、とりあえず今回はWindows10にしてから悩む事にします。

で、途中いろいろあったのですが、話はWindows10(64bit)インストール後に進みます。この状態でヨットシミュレータを実行してみるとやはり下の様なエラーが出て起動できません。

MSVCR100.dllがないため、プログラムを開始できません.

なにやらエラーが発生。

MSVCP100.dllが無いそうです。「OK」を押すとMSVCR100.dllも無いと言ってきました。検索してみると「MICROSOFT  VISUAL C++2010 再頒布可能パッケージ」を入れろとの事です。確かにヨットシミュレータはVISUAL C++2010でコンパイルしています。

ところで「MICROSOFT  VISUAL C++2010 再頒布可能パッケージ」には32bit版と64bit版があります。今回OSは64bitになったので64bit版をインストールしました。
しかしこれでは変化ありませんでした。なぜでしょう?
ヨットシミュレータは32bitアプリとしてビルドしてあります。結局アプリが32bitならOSが64bitでも32bit版パッケージを入れるのが正解な様です。

<参考>MICROSOFT  VISUAL C++2010 再頒布可能パッケージのダウンロード先

 

ヨットシミュレータ~その7~

景色が見える様にした。
シミュレータ世界の回りを円筒で取り囲み、その内側に絵(テクスチャ)を貼った。
貼付ける絵は実際の宇土マリーナ沖の写真を使おうと思ったが、一周分の写真が無かったのでWindowsのペイントで描き足した。

この向きは写真を元に色々修正した風景。

景色1

シミュレータから見える景色。
マリーナのクレーンが見える。

 

こっち向きは手書き

OptimiScape2

普賢岳。記憶を元にイメージで描いたので実際とは合ってないかも。

 

中心から遠く離れると円筒が見えてしまう。

OptimiScape3

離れすぎると円筒が・・・

更に遠くに離れると円筒の外側の世界に出てしまうが気にしてはいけない。

いい加減な景色だが、やはり乗ってて気分が違う。

ヨットシミュレータのページ

ホームページの方にヨットシミュレータのページを作成した(殆どこのBLOGしか更新していないけど、ホームページもあるんです・・・)。

ソフトもアップしたが、ソースは人様に見せられる状態ではないので実行ファイルのみである。
またMaker Faire TOKYO 2014で説明に使用した資料と、シミュレータ内のレイアウト図(帆走指示書・・・みたいなもの)もアップした。
ソフトは実物大入力デバイス用に作成したが、アナログジョイスティックやキーボードでも操作できるので試してみてください。

それはそうと、Make:Japanのブログの11月28日の記事、「14分で見るMaker Faire Tokyo(撮影:Dale Dougherty)」の動画のちょうど10分ぐらいのところにウチのヨットシミュレータが写ってました(Daughertyさん自ら撮影されたのだろうか?)。

ヨットシミュレータ~その6~

センターボードの上下動をリンク機構を介してボリュームに伝えるようにした。
ソフト側もそれなりに反応するようになった(若干手抜きをしているが)。
また、基板や歯車を保護する為、アクリルのカバーを取り付けた。

CenterBoard

センターボード検出

With Center Board

操作に応じて画像のセンターボードも上下するのだ。

MakerFaireTokyo2014にギリギリ間に合った。

ヨットシミュレータ~その5~

センターボードをとりつけた。
フライトヨーク製作時に購入して使わなかった引き出しレールを使用。
実物だと上下に数十センチのストロークがあるが、このシミュレータでは11cmしかない。
実物の様に水面下に突き刺すわけに行かない上に、メインシート用プーリーを避ける必要があり、こうなってしまった。 テレスコピック式にするとか工夫すればストロークは稼げるのだろうが、当面はこのまま行く。

センターボード 上げ

センターボード 上げ

センターボード 下げ

センターボード 下げ

まだボリュームにつなぐ方法を考え中。
ソフト側でもセンターボードの状態に対応して船の挙動を変化させる必要があり、これも考え中。
MakerFaireまでには間に合わないと思う。