昨日の続き
eVY1をAndroidのUSB HOSTに接続 - hrdakinoriのいろいろ
動画撮影をやり直しました
ソースコードをgithubに置きました。
(かなり微妙な部分があるので、そのうち直します)
hrdakinori/eVY1Demo
https://github.com/hrdakinori/eVY1Demo
昨日の続き
eVY1をAndroidのUSB HOSTに接続 - hrdakinoriのいろいろ
動画撮影をやり直しました
ソースコードをgithubに置きました。
(かなり微妙な部分があるので、そのうち直します)
hrdakinori/eVY1Demo
https://github.com/hrdakinori/eVY1Demo
日本Androidの会 横浜支部で動いてるの見せてもらったのでマネしてみました。
eVY1をAndroidに接続するとこんな感じ
Device Info Device Path: /dev/bus/usb/002/002 Device Class: Use class information in the Interface Descriptors (0x0) Vendor ID: 2938 Vendor Name: Product ID: 07d2 Product Name: Interfaces Interface #0 Class: Audio Device (0x1) Endpoints: none Interface #1 Class: Audio Device (0x1) Endpoint: #0 Address : 2 (000000010) Number : 2 Direction : Outbound (0x0) Type : Bulk (0x2) Poll Interval : 0 Max Packet Size: 64 Attributes : 000000010 Endpoint: #1 Address : 129 (10000001) Number : 1 Direction : Inbound (0x80) Type : Bulk (0x2) Poll Interval : 0 Max Packet Size: 64 Attributes : 000000010
USB MIDIの規格書はここにあった
Universal Serial Bus Device Class Definition for MIDI Devices
http://www.usb.org/developers/devclass_docs/midi10.pdf
USB HOSTの部分は作ろうと思ったのですがドライバーがあったので使わせてもらいました。
kshoji/USB-MIDI-Driver
https://github.com/kshoji/usb-midi-driver
Galaxy Nexus(4.2.2)にUSB HOSTケーブルでeVY1を接続
アプリで認識されて音がでることは確認しました
sendMidiSystemExclusiveで歌詞を送ればよいみたい
このコードだと固定で「わ」って歌います
byte systemExclusive[] = {(byte)0xf0, (byte)0x43, (byte)0x79, (byte)0x09, (byte)0x00, (byte)0x50, (byte)0x10, 'w', ' ', 'a', (byte)0x00, (byte)0xf7}; midiOutputDevice.sendMidiSystemExclusive(0, systemExclusive); midiOutputDevice.sendMidiNoteOn(0, 0, note, 127);
アプリを作りました
ローマ字入力で歌詞をいれてボタンを押してくと歌う
追加モードも付けた
Playgroundはマルチプラットフォームなゲームエンジンで、「ラブライブ!スクールアイドルフェスティバル」などで使用されている。
ソースコードが公開されたのでとりあえずサンプルを動かしてみた
KLabが開発したゲームエンジン「Playground」のソースコードを公開 | ニュースリリース | KLab株式会社<http://www.klab.com/jp/press/130926.html>
PlaygroundOSS/Doc/Android_Build.md <https://github.com/KLab/PlaygroundOSS/>
簡単に説明するとこんな感じ(??)
でも動かない、GCMを使おうとして例外発生しているようなのでとりあえずコメントアウト
luaでイベントを受信して描画、音声再生など複雑な記述しなくてもできそう
アプリが非アクティブになると音と止めてくれたりはする
Android NDK: WARNING:jni/Android.mk:Game: non-system libraries in linker flags:-lcurl -lfreetype2
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Bluetooth USBドングルを使って2つのモーターをコントロールするPICマイコンのプログラムを
PIC24FJ256GB106またはPIC24FJ64GB002どちらでも使えるようにしました。
開発環境はMPLAB Xです
hrdakinori/PIC24F_MotorControl
これを操縦するAndroidアプリも最近のSDKで読み込めるようにしました。
hrdakinori/MotorControl
この基板に搭載のPIC24FJ64GB002でも使用できます
基板の購入はこちら
Shop Yokorobo 01-PIC24F
githubにおいているAndroidアプリのソースが最近のSDKだとそのままコンパイルもできないようなので修正します。
とりあえずこれを更新しました。
hrdakinori/DroidControl
あとGoogle Playに公開してみました。
ドロイドコントロール - Google Play の Android アプリ
Android ADKプログラミング & 電子工作バイブル
http://www.socym.co.jp/book/809
Androidと電子工作を絡めた何かをはじめたいときの参考にしてもらえるとよいかと思います
みんなで書きました、私もすこしだけ担当させてもらいました
Android ADK プログラミング&電子工作バイブル (smart phone programming bible)