電子回路

2019年8月10日 (土)

Micro:bitのBLEで遊ぶ@Mbed環境

ArdinoからMicro:bitへ

の記事を書いて、2年弱経ってしまいましたが、ようやくMbedの開発環境でMicro:bitのBLEを動かすデモが完成しました。

BLE_HTM_microbit

mbed HRM1017をはじめようをMicro:bitにポーティングしたものです。
(HTMプロファイルのデモのため、温度やバッテリーの値を読むサンプルではありません。)

動作確認には、nRF ToolboxのiPhoneアプリを使いました。
"HTM"のアイコンをクリックし、"CONNECT"で"MY_MICROBIT"を選んで接続すると、バッテリーと温度が1秒ごとに値が変わっていくことが確認できます。

公式のMicro:bitのBluetooth機能で、同じことができないか色々挑戦してみたんですが、現在では、特定のプロファイルしか動かせなくなってしまったようなので、任意のBluetoothプロファイルを動かすには、Mbedでプログラムするしか無いようです。

ただ、海外サイト含め、Micro:bitをMbed環境でBLEを動かす情報を見つけられず、なかなか苦労しました。

ここから、これのMicro:bit版の作成を試みたいと思っていますが、いつになることやら...

<参考>

2017年11月24日 (金)

ArdinoからMicro:bitへ

インテル、超小型チップ「Curie」生産終了を発表--「Arduino 101」販売終了へ

相変わらずというか、上手くいかないもののIntelの撤退の速さにうんざりします。101は、Arduino陣営の分裂のゴタゴタに巻き込まれてしまった感もあり、不遇な製品ではありましたが...

Micro:bit

Arduinoが揉めているうちに、Micro:bitが、その地位を取って代わろうとしています。

LEDが5x5=25個実装されていて、そこに文字、絵文字が簡単に表示できるAPIが最初から実装されており、各種センサ、BLEも実装されて、価格もArduinoより安いとあれば、こっちに流れるのも道理でしょう。

###

私も購入してみました。しかし、Arduino101で作ったBLE-MIDIコントローラーのMicro:bitがまだ作れていません。Bluetooth-MIDIのAPIも既にMicrosoftのエディタで使えるんですが、Betaのせいか、どうも上手く動いてくれません。

Micro:bitはmbedのコンパイラでも動く、ということで、こちらで現在、挑戦中です。

###

2大プロトタイピングボード、

の発祥地が、ともにイギリス、っていうのは興味深いですね。現在、携帯電話も自動車も全く存在感のあるメーカーはイギリスにはありません(ダイソンはイギリスが本社)。それでもIoT時代を見据えた教育に力を入れているということは、アメリカ、ドイツ、日本、韓国、中国などが考えている将来とは別の将来を見据えているようにも見えます。

2016年5月21日 (土)

ワイヤレスMIDIコントローラーを作ってみよう :: Genuino 101 ::

最近、Yamahaから既存のMIDI機器をワイヤレスにする"MD-BT01"やBLE MIDIキーボード"microKEY Air"など、"MIDI over BLE"に対応した機器が各社から発売されました。

この"MIDI over BLE"、ちょっと調べたところ、公式のBluetoothの団体"Bluetooth SIG"によって定義されたものではないのですが、Appleがデファクトスタンダードとなる規格を公開していることが分かりました。(細かい話は、このページ参照)

そして、ちょうど良いタイミングで、Arduino CC陣営からBLE付き(ついでに、加速度センサー&ジャイロ付き)のArduino、Genuino101が発売されたので、これを購入し、ワイヤレスMIDIコントローラーを作成してみました。

BLE MIDI
Arduino 1.6.9/Macで作成

iOS App  "Korg Gadget"の"Chicago(TB-303クローン)"のCut off(CC1)とResonanceを無線で制御するスケッチです。USBコネクタ側にボードを傾けるとFilterが開き、ArduinoコネクタのPower側に傾けるとQが上がります。去年のArminの記事で書いたMyoをイメージしたものです。

前に買ったMIDIシールド つけて、つまみでFilterを変化させるスケッチも作ったのですが、せっかくなのでGenuino101についている加速度センサと連動させてみました。

改造のポイントですが、74行目~、88行目~の

    buff[3] = 1; //CC1
    buff[4] = midiValueA0;

のbuff[3]に使いたいControlChangeの番号を、buff[4]にControlChangeの値(0~127)を入れれば、好きなCCを色々な入力で変えることができます。

今回は、簡単のため、delay関数でのループにしましたが、安定性を考えると、他のタイマー方式を用いた方が良さそうです。

###

このMIDI over BLEおもちゃのいいところは、MacだったらMIDI入出力に対応したソフト、iOSならMIDI over BLEに対応したアプリがあれば、特別に受け側のソフト/アプリを作らなくてもいいところです。今後のiOSの音楽アプリは、まず対応するでしょうし、色々な入力で、Mac/iOSシンセをウニョウニョさせてみてはいかがでしょうか?

2013年3月17日 (日)

MIDI Controller using Japanino

Japaninomidiwipadということで、JapaninoにMIDI Shieldを付けたMIDI Controllerが完成しました。

MIDITest.pde.zip

Japanino(というかarduino)のライブラリの出来が良いこともあり、ソースは簡素なものになりました。

で、写真はKORGのiPadアプリ、iMS-20を接続した様子です。接続には、手持ちにあったAppleのCamera Connection KitのUSBにRolandのMIDI I/F UM-1を通して、今回作成したMIDI Controllerを接続してます。

つまみで動かすパラメータは、お決まりのLPFの"Cut off frequency"と"Resonance"です。

iMS-20のマニュアルを見ると、CC74が"Cut off frequency", CC71が"Resonance"ということが分かるので、つまみにこれを割り当てました。

なお、GM2でCC74がLPFのCut off frequency, CC71がLPFのResonanceと定義されているので、他のシンセでも使い回せるものもあると思います。(MacのMini Vで確認済み。)

###

次は、つまみを増やして行く予定です。エンベロープ、LFO当たりをリアルタイムに変化させて遊びたいですし。JapaninoのADCは7個で、MINIMOOGの20個には対応できません。で、マルチプレクサというものを使って増設していきます。

2013年3月11日 (月)

Jananino x iPhone :: Arduino ::

大人の科学: Japanino

数年前に買ったものの、そのまま放置していた「Japanino」なんですが、今更開封して遊び始めました。

これで、iPhoneの楽器アプリが面白くならないか?、検証する予定です。

###

iOSの楽器アプリは、iOS2でネイティブアプリが動くようになった頃に脚光を浴びて以降、殆ど表舞台に出てくることはありません。

理由は簡単で、一発芸以上でないからでしょう。タッチパネルでノブやスライダーを動かしていても、全然、面白くないんですよね。

また、世の中に色々、フィジカルコントローラも出ており、これを繋げれば良さそうなものですが、そもそも、PCと繋いでソフトシンセを引いていても、イマイチ面白くない。また、最近、久しぶりにXioSynthを触ってもやっぱりイマイチ面白くない。

で、原因を検証してみたところ、ノブが少ない上、横一線に並んでいるからではないか?、という推測が立ちました。(ちなみに持っているフィジコンは、"nonoKONTROL(1/2共に)", "Axiom Pro"(ちょっと触って、現在、お蔵入り…)

音楽で遊んでいるときは、思考が入るとダメなんですよね。奇麗にノブが並んでいると、「どのノブが何に割り当てられて要るんだっけ」っと、一瞬でも頭で考えてしまって冷めてしまいます。

奇麗に並んだレイアウトにする理由は、モノづくり側の視点から見ると理由は明確なんですよね。コンパクトに作れ、それが安価に繋がるからです。モノが売れる時代でないし、楽器メーカーも遊びでモノを売っている訳ではないので、仕方の無いことです。

ということで、シンセサイザー向けのノブレイアウト(というかMINIMOOG)のMIDIフィジコンがあれば、iPhoneの楽器Appだけでなく、VSTi等も面白くなりそう、だけど、今、メーカーにそれを作る体力は無さそう、ということで、自分で作ってみようかな?、と思い立ち、で、お蔵入りしていたJapaninoを引っぱり出してきました。

###

計画ですが、

  1. Japaninoの基本を覚える。
  2. MIDIシールドで、ボタン、ノブの使い方のコツを掴む。
  3. MIDIシールドで、MIDIメッセージを送信して、簡単なVSTiの制御をしてみる。
  4. ネックとなるADコンバーターの数の対応の検討。
  5. MIDI出力のMyフィジコン作成完了
  6. USBで直にiPhoneなどに繋げないか検討
  7. XBeeでWi-FiでiPhoneと繋げないか検討

という手順で進めてく予定です。

今日までに、2までは概ね完了しました。

また、このプロジェクトを立ち上げるにあたり、過程をしっかりHPに残しておこうかな?、考えてます。少し大げさですが、どんどん電子回路がニッチになっていく中で、少しでも興味を持ってもらえる人を増やしていきたいためです。

仕事の合間を見つけて、ちょこちょこ作っていきたいです。

###

ちなみに、とりあえず現状必要そうなものをList Upすると、

  • Japanino : (ADコンバーターの数の関係で変わる可能性あり)
  • MIDIシールド : (これも勉強用なので、最終で使うか未定)
  • USBバッテリー: 元々、iPhone用。Japaninoの電池Boxよりずっとお手軽で便利。
  • i-MX1 : 最終的には、この手使ってUSB直結させたいところですが、ハードルが一つ高そうなので、一旦、市販のに頼ることに。

です。

###

後、最後に、現行MacでJapaninoのプログラムする場合について。

Japaninoのサイトから落としたMacのIDEソフトの中に入っているDriver(USB-シリアル変換IC用)は最新のMac OSに対応してません(自分がインストールミスしただけかもしれませんが)。下記サイトから最新のDriverを落としてインストールしてください。

CP210x USB to UART Bridge VCP Drivers

の、ほぼ一番下の「VCP Driver Kit」です。

2011年2月 7日 (月)

Visual C# + ARM7 = ??? "Netduino"

netduino

久々の久々の電子回路ネタです。

電子回路の仕事をしていると、中々、プライベートで電子工作って気にはならず、仕事の用事でマルツ等のパーツ屋に行くこともあり、次いでに面白そうなものあるかな、って探してみたり、大人の科学のJapaninoを買ったりもしたんですが、中々先に進みませんでした。

そんな中で、立ち読みしていたInterfaceで見つけたのが、netduinoです。

ARM7が使えるのもそうですが、なにより、Visual C#でプログラミング出来るっていうのがイイですね。文法の仕様遊びが少ない分、タイプミスによるバグが少ないし、ガベージコレクションがあるので、面倒なメモリ回収の記述をしなくていいし(ここは、マイコン向けコンパイラで最適化できていないと、苦しむ部分かもしれませんが。iPhone向けのObject-Cはコレ実装していないですし)、と、後発な言語らしく、現代のコンピュータができることはコンピュータにやらせることで、書きたいプログラムだけに集中できるのが、気に入っています。

値段も思ったより高くないので、久しぶりに何か挑戦してみようかなあ、と思います。

2006年11月12日 (日)

テルミンとEMX

作り始めてから,6ヶ月,仕事で半田ごて握っていることもあって,気持ちの面で,中々進まなかったんですが,ようやくテルミンを完成させました.

Ther00 回路は,トランジスタ技術2002年2月号に乗っていたものに,標準ジャック,電源確認用のLEDを付けて,パッケージしたものです.なので,回路図に著作権は無いはずですが,回路の掲載は控えます.

このテルミンは,音程のみアンテナで変化させることが出来ます.

肝心の音ですが,素の音は,次のような感じです.

<<テルミン素の音>>

SEマシンと同じく,出る波形は正弦波なので,同じような音です.ということで,Cubaseで,エフェクトをかけてみました.

<<上の音 + Delay + Reverb>>※処理適当です.

相変わらず,エフェクターの威力に感心させられます.

****

が,やっぱりリアルタイムで掛けてみたいっていうのもあって(Cubaseでも,出来るんですが,現在の私のシステムでは,少々,面倒くさい.),EMXのオーディオ入力にテルミンの出力を入れてみました.EMXに入れることで,エフェクトだけでなく,コムフィルタ(正弦波なんで殆ど効きません),ゲート(エンベロープ付き)をつけることが出来るんですが,これが想像以上に素晴らしく,テルミンの面白さを倍増させてくれました.

<<Fly Away / VISAの最初っぽいSE>>
テルミンは,基本的に連続的な音しか出せないんですが,EMXで音のOnOffを制御出来るので,上手く音を終わらせることが出来ます.
ベタベタなSEなんでアレですが,中々使ってみたい音です.

<<Popcorn / Gershon Kingsley他っぽいシーケンス音>>
適当な手弾きです.エンベロープのディケイを調整するとこんな音になります.本当にポップコーン引けたら,凄いです.ちょっと挑戦してみましたが….

もちろんパターンを組むことも出来ます.今日は,作った後,適当なパターン作って,ずっと遊んでました.

****

今回,テルミンを作るのは,実は,3度目だったりするんですが,何度作っても,自分で作ったものから音が出た瞬間の感動はイイものです.暇があったら,何かモノ作りしてみてはいかがでしょう?

=関連リンク=
テルミンを作ろう! ~初心者にもできるテルミンの製作~
@nifty:デイリーポータルZ:テルミンをとうとう作ってみた