電子工作

PIC, AVR, ARM...

2019年11月24日 (日)

伊勢ギーク2019

今日は伊勢ギーク2019当日。朝06:00、まだ暗いうちに家を出て一人で伊勢を目指す。
車へ荷物を積み込む作業は嫁に手伝ってもらい、現地での設置はツノ姉に手伝ってもらった。現地には2時間もかからずに到着した。

皇學館の某研究室の展示は毎年、子供向けのゲームだ。今年のイライラ棒は大作で、噛みつくような動きが凝っていた。
漆器を展示している方がいた。伊勢春慶と呼ばれる漆器だが、塗りも細工も粗く無骨な感じ。好みじゃないかな。
一室を借りて、レトロゲーム機を展示しているグループがあって、機器も充実していた。
ビスマス結晶の出展があったが、出展者が見つけられなくて話を聞けなかった。
転調が簡単にできる自作の弦楽器とか、256個の圧力センサ板とか、裸眼で見えるホログラムなんかが目を引いた。

VFDふぁんの人がこんな物を売っていたので1個買ってみた。

▽あとで写真

256×16ドット表示なので、楽器のインジケータとか、256×16ドットでできそうなゲームを作ろうかな。ある程度の在庫があって追加発注できることも確認できた。ワークショップのネタとして使えるかもしれない。

午後にはツノ丸がやって来た。ヤギの脱走を監視するメカが作れないかという相談を受けた。
年末は忙しいので正月にでも考えよう。

 

2019年11月21日 (木)

太鼓MMLの仕様

太鼓MMLの内部データをまとめておこう。
いずれマイコンで動かすことを考えているので、使えるRAMはほんの少し。
変換後のデータは1byteで表したい。
┌──┬──┐
│mmLL│LLLL│
└──┴──┘
m=楽器、L=音長である。
楽器は2bitなので、00~11の4種類、音長Lは6bitなので、00_0000~11_1111の64種類が表せる。
3連符を処理できるよう、最小の長さ00_0001=96分音符に設定すると、4分音符は96/4=24=01_1000となる。
2分音符は96/2=48=11_0000となる。残念ながらさらに長い音は使用できない。
全音符は休符と組み合わせて、o1ではなく、o2r2と記述すればいいだろう。

▽元のMML
o4o4o8x16x16x8x8 o8o4o8o8x16x16x8x8

▽変換後データ
0x58,0x58,0x4c,0x86,0x86,0x8c,0x8c, len=96
0x4c,0x58,0x4c,0x4c,0x86,0x86,0x8c,0x8c, len=96

空白は小節の区切りとみなし、小節毎に合計の音長を出力させた。
四分音符の音長は24、4/4拍子だと24×4=96となる。

2019年11月20日 (水)

太鼓の勉強

伊勢ギークのまであと三日だというのに、この期に及んで太鼓の勉強である。
ふむふむ太鼓の楽譜っていうのがあるのか。楽譜に沿ってPCで音を出せば、太鼓だけの曲が演奏できそうだ。
バイナリデータみたいなものを用意して、それに沿って演奏するのが簡単だが、バイナリデータはデータを作るのが面倒だ。太鼓専用のMMLを作ろう。

ドン=面打ちを○、カッ=胴打ちを×と表すらしいので、MMLだとoとx、これに休符のrを加えて記述しよう。
このoxrに音長を表す数字を組み合わせて記述する。
ドンの四分音符だとo4、カッの16分音符ならx16となる。

char mmlAraijuku[] =
"o4o4o8x16x16x8x8 o8o4o8x16x16x8x8 o8x16x16x8x8o4x16x16x8x8 r8x8o8.o8x16x16x8x8"
"o8o4o8o8x16x16x8x8 o8o4o8o8x16x16x8x8 r8o4o8r8o4o8 r8o4o8o8x16x16x8x8";

リアルタイムにMMLを解析しながら演奏するのはめんどくさいので、演奏前にデータ変換を行なう。
演奏する手順はこんな感じになる。

char mmlBuf[1000];
mmlConv(mmlBuf, mmlAraijuku); // データ変換
mmlPlay(mmlBuf);

テキトーにコードを書いて演奏したところ、思ったよりカッコいい。伊勢ギーク用のテーブル筐体にも実装しておこう。
問題は伊勢ギークまであと四日ってことだな。

 

2019年11月19日 (火)

太鼓化

テーブル筐体を太鼓として使えるようにした。コンパネのボタンを押すと、筐体に内蔵したPCから和太鼓の音が出るという簡単な仕掛けだ。

それで気付いたのだが、太鼓はバチで叩くと速く打てるが、コンパネのボタンだと速く打てない。
二つのボタンを同じ音に割り当てて、交互に叩けるように改良したが、それでもバチの速さには及ばないようだ。盆踊りの太鼓でさえ裏打ち(合いの手)が派手だと追いつかない。

鈴など、祭りで使えそうな楽器も鳴らせるようにした。
同時にいくつも発声できるので、一人でチンドン屋ができる…はず。
伊勢ギーク当日までに画像データを用意しなくては。

2019年11月16日 (土)

コンパネにReviveUSB

プログラムがそこそこ動くようになってきたところで、そろそろメカ側に取り掛かろう。
テーブル筐体のコンパネにReviveUSBを内蔵する。
まずは配線を作った。一方はファストン端子、もう一方はブレボに接続するできるよう、Φ0.5mmの単線ワイヤをハンダ付けした。

Faston2single ▽右がファストン端子

このハンダ付け作業に2時間以上かかった。
できあがった配線をコンパネのレバーやボタンに接続してまずは動作確認。

Wintable ▽配線中

特に問題なく動いたので、とりあえず夜食タイム。

Udontable ▽あとで写真

え、Nintendo SwitchとかPlayStation4は、上でご飯食べられないの?

2019年11月14日 (木)

ReviveUSB

ReviveUSBが届いた。キットを買ったので、自分でヘッダピンをハンダ付けしなくてはならない。
久しぶりにハンダゴテを握った。

Reviveusb▽ReviveUSB

PCにReviveUSBを接続すると、ReviveUSBはキーボードやマウス、ジョイスティックの混合デバイスとして認識される。
専用アプリを使えば、各ピンの役割を自由に設定できる。どのピンがレバーで、どのピンがボタンで、どのピンが何のキーなのか設定する。
設定値はPC側ではなく、ボード(ReviveUSB)側に記憶されるから、他のPCに持って行っても大丈夫。
今回はP1-6をコンパネのボタン1-6、P7-10をレバーの上下左右、P11-12をボタン7-8に設定した。

▽あとで写真

ReviveUSBの設定ツールは、見かけがカッコいいだけで、画像のピンをクリックしても無反応。
そのカッコいい画面が災いして、設定ツールの画面をキャプチャすると、やたらとファイルサイズが大きくなる。

 

2019年11月13日 (水)

カラカッタ

伊勢ギークに展示するテーブル筐体に手を入れている。去年までの作業で、アーケードゲームの画面と、WindowsPCがスイッチ一つで切り替えられるようになっている。
Windowsモードでは、PowerPointのプレゼン画面を表示していたが、紙に印刷した方が見やすい気がしてきたので、今年は印刷したものを展示することにした。

せっかくWindows側が空いたから、ロボット楽団に合いの手を入れられるプログラムを作ろう。
パソコンのキーボードを叩くと、和太鼓の音が鳴るようにした。
よく聴くフレーズ「ドドンがドン、カラカッタ、ドドンがドン…」を試してみたところ、いろいろ問題があることがわかった。
カラカッタという音は、太鼓の側面を2本のバチで叩く音だ。これは2本のバチを交互に叩くから間に合うのであって、キーボードやコンパネのボタン1個では間に合わない。
一つの音を2個のボタンに割り当てる必要がある。
さくさくと作れると思っていたが、実際やって見るとなかなか難しい。

 

2019年10月15日 (火)

治田芋のムカゴ

治田芋(はったいも)のツルが枯れたので、帰省していたツノ姉と一緒に治田芋のムカゴを収穫した。

Hattaimomukago

これで3年生の治田芋10株分くらい。
畑にまくつもりだが、ムカゴ飯として食べることもできる。ムカゴ飯にするならもう少し早い方が、ざらざらが少なくておいしい。

伊勢ギーク2019にエントリーした。今年はツノ姉と一緒に参加する予定。
新ネタがないので、当日までに何か作らねばならない。

 

2019年4月17日 (水)

無線制御なペンライト

先日、エヴェッサのゲーム会場で使われていた無線制御可能なLEDリストバンドの仕組みを考える。
汎用性を考慮してここではリストバンドをペンライト、ゲームやライブはコンサートと呼ぶ。
何の解析もせず、勝手に書いているだけなのでツッコミがあればどうぞ。

観客が持つペンライトは、音楽に合わせて明るさや色を変えられる。
エヴェッサのゲームやギャンパレのメンバーが使っていいるのは、リストバンド型になっている。

 

ギャンパレのメンバーが、これを効果的に使っているとは思えないのだが、まあいい。
最近のコンサートでは、観客席のペンライトも会場を盛り上げるツールとして使われている。
観客席が赤く染まっている中、他の色が点灯していると見苦しいから、私物のペンライトやサイリウムの持ち込みを禁じ、渡されたペンライトに限定していることもある。

▽(いい動画が見つかれば)あとで動画

ペンライトには、フルカラーLED以外に、バッテリー、単方向のRF通信モジュール、制御用のマイコンが載っていると思われる。
一つだけ違ったパターンで点灯するペンライトがあるとカッコ悪い。そこで受信したコマンドに応じたパターンで点灯した後、必ず消灯するようになっていると思われる。
何からの通信障害によって、コマンドを受信できない場合は消灯したままにすればよい。消灯しているだけなら障害も目立たない。
たとえばカバンに入れてコマンドを遮断すると、この写真のように消灯する。

▽あとで写真

そしてカバンから出しても消灯したままだ。次のコマンドを受け取るまで点灯しない。
ペンライトの色を個別に変えることも可能だ。ペンライトごとにIDを設定しておき、IDが4番のやつだけ赤く点滅というようにすればいい。
チケットごとに配布するリストバンドを決めれば、会場のエリアごとに制御することもできる。
ペンライトの個別IDが16桁あって、その4番目の数字が座席のエリアを表している。それが奇数だったら奇数秒、偶数なら偶数秒に青で点滅すればいい。

ところで今日は、GANG PARADEがメジャーデビューしてから初となるシングル発売日だ。
壮大なステマに付き合ってくれてありがとう。

 

2019年2月28日 (木)

DGPSお疲れ様

東海地方では、救急絆創膏のことをバンドエイドと呼ぶ。北海道ではサビオ、九州ではリバテープと呼ぶのが多数派らしい。

日本人は衛星測位システムのことをすべてGPSと呼んでいるが、これは本来、米国の測位システムの呼び名である。
※GPSはGlobal Positioning Satelliteの略である。
GPSネタがやたらと多いこのブログでは、みちびきに代表される準天頂衛星システムもGPSと呼んでいるが、正しくはQZSS(Quasi-Zenith Satellite System)と呼ぶべきらしい。

その話はおいといて、日本がGPSを利用し始めた当時は測位精度が低かった。
そこで日本では各地にDGPSと呼ばれる測位基準局を置いて、測位精度を上げる工夫をしていた。
近年、(米国の)GPSの精度が上がり、さらに2018年11月にはQZSS(みちびき)の運用も始まった。これによりDGPSは不要となった。
明日2019年3月1日で、DGPSは停止することになっている。今までお疲れ様。

 

より以前の記事一覧

最近のトラックバック