2012/12/30

PL2303SA

USBをシリアルに変換するIC、PL2303SAが、共立エレショップに再入荷したようです。
USB/シリアル変換というとFT232RLがありますが、0.65mmピッチの28ピンという非常に扱いにくい代物でした。それに比べてPL2303SAは、機能がシンプルな代わりに1.27mmピッチの8ピンなので、扱いはぜんぜん楽です。しかも値段はたったの150円。
もう、わざわざこんなことをしなくても良い時代になったのです。。

2012/12/16

回路の素101

マイコンを使えば、ちゃんとした電子回路の知識がなくてもそれなりのものがサクッと作れてしまうのですが、やっぱり基本的なことを理解してないと、作れるものは限られてしまいます。何かの回路図を参考にしようとしても、「何でそういう回路になるのか」が理解できてないと、応用が利きません。
この本には、そんな私のような状態の人にとって、ちょうど知りたいことがぎっしり詰まっています。

1冊まるごと読まなくても、必要なところだけ読めば良いように構成されています。きわめて実用的。

2012/09/09

ファミコン音源の三角波

プチコンのサウンド機能はかなり豪華にできている一方、矩形波やホワイトノイズを使って昔のPSGみたいな音を出すのも簡単なのですが、ファミコン音源の三角波に相当するものは用意されてないので作る必要があります。といっても、プログラムは非常に簡単です。
こうすると @224 がファミコン音源の三角波になります。
W$=""
FOR I=0 TO 63
V=FLOOR(I/2)*2*8
IF I>=48 THEN V=V-512 ELSE IF I>=16 THEN V=256-V
IF V<-127 THEN V=-127
IF V>127 THEN V=127
U$=HEX$(V,2)
W$=W$+U$
NEXT
BGMPRG 224,127,0,127,123,W$
ファミコン音源の三角波は、きれいな形ではなく階段状の波形になっていて、それが独特な音色の元になっています。プチコンの波形定義もそこそこ粗いのですが、ファミコンなみにするには、もっと粗くしないといけません。 FLOOR(I/2)*2 というのが、そのへんの計算です。
またファミコン音源での三角波の音量は固定なので、本来エンベロープを指定することはできません。ただBGMPRGするときのADSRを本当にその通りにすると、音のON/OFFで「プチッ」というノイズが出てしまうので、リリースを少しだけ残した方が良いみたいです。アタックの方は127でも大丈夫のようです。

この三角波を使って、ファミコン音源の制限内で曲を演奏してみました。

2012/08/20

Auduino Petit 3.2

Auduino Petit 3 を更新しました。
前から気になっていた不具合を修正しただけなので、特に機能は増えてないです。
Auduino Petit シリーズは、これでひとまず終了。

2012/08/13

Petit Computer Love

AP3をちょっとだけ改良して、バージョン3.1になりました。
Auduino Petit 3
キーボード表示のときの音域が狭かったので変更できるようにしたのと、L+Rでループ録音を開始すると途中で離しても録音が継続するようにしました。(もう一度LかRを押したら終了。)



最初にループを録音するときにLやRを押したままタッチペン2本で演奏、というのが無理な気がしたのでL+Rの機能をつけたのですが、録音終了するときにも押す必要があるので、結局その機能は使っていません。代わりに、DS本体を何かに押し付けながら(Rボタンが押された状態にして)演奏し、終了するときに少しずらしてRボタンをオフにする、という技を編み出しました。。

2012/07/16

Auduino Petit 3

Auduino Petit を改良しました。 詳しい説明とQRコードはこちら
  • 音源が2個になりました。同時に鳴らしたり切り替えたりできます。
  • 演奏を録音してループ再生できるようになりました。ループを再生しながら演奏もできます。
  • カオスパッド的なやつをいろいろ改良しました。上下方向で音色が変わったりします。キーボード表示も追加しました。
  • スケールとキーを指定できるようになりました。これはキーボード表示の時も有効です。
ぜんぜん楽器が弾けない人がテキトーにいじってみたらこんなことになりました。

2012/05/06

Auduino Petit

Auduinoみたいなものをプチコンmk2で作りました。Denkitribeさん版をプチコン仕様にしたもの、のつもりです。

プチコンmk2では任意の波形を定義してMMLで使うことができるので、この仕組みを利用すれば、いちおうAuduinoと似たようなものが作れます。 ただ、1周期あたり128サンプルしかなく、さらに高音になると間引いて再生されるようなので、似たような音になりがちです。

その代わり、いくつかオマケを付けました。

ディレイ(DLAY)

なんといってもディレイです。これがあるのとないのでは雲泥の差です。複数チャンネルのMMLを独立して制御できることが分かったので簡単に実装できました。

ビブラート(VIBR)

プチコンのMMLの機能です。 そのまま。

ディストーション(VOL./CLIP)

手軽に「太い」音を出すことができます。
波形定義の段階で増幅してクリップするだけの簡単なお仕事です。

エンベロープ(ATCK/DCAY)

プチコンの仕様上、波形を定義するときにエンベロープも指定できます。厳密にはディケイじゃなくてリリースですが。

エクスポート(EXPT)

これをオンにしておくと、作った波形を他のプログラムで使えるようになります。Auduino Petit を終了した後、他のプログラムをLOADして、編集モードで F1 F2 の順に押すと、波形定義のコードが書き込まれます。

詳しい説明とQRコードを公開しました。

(2012/07/16)
改良しました。

2012/04/08

充電式ライト

以前調べたシェーバー を改造して充電式のライトにしてみました。
light2e
スイッチをONにしても充電スタンドに置いた状態だと点灯せず、充電スタンドから取ったり停電になったら自動的に点灯します。
light2a
中身はこういう状態。モーターがあった場所に基板をはめ込んでいます。刃を動かすメカがあった所にLEDとかが入ります。バッテリーは新しいもの(といってもジャンクですが。。)に交換しましたが、充電回路はそのまま流用しています。
light2b
追加した部分には、例によって 超薄型ユニバーサル基板 を使っています。何度も何度も修正したので、無駄に複雑なレイアウトになってしまいました。
light2d
LEDは2個並列にして、簡易的なリフレクタ(100円ショップで売っているネイルチップをホットボンドで接着してアルミテープを巻いたもの)を付けてあります。 シェーバーの刃の部分は簡単にはずせるので、このようにLEDがそのまま露出した状態にして懐中電灯として使うこともできます。
light2f
右半分が、追加した回路です。 light2_2
モーターへの配線に来ていた電源を昇圧してLEDを点灯します。 ただし充電中は点灯しないようにMOS-FETでスイッチングします。 ...動作原理としてはそれだけなのですが、実際やってみたら全然思ったように動かなくて苦労しました。。

2012/02/19

はんだごてHS-11を置く

チップ部品とかの細かいはんだ付けをするときは、HS-11というはんだごてを使っています。非常に軽くて扱いやすい、とても良いはんだごてなのですが、ひとつ欠点があります。それは、置きにくいこと。特殊な形状なので、普通のこて台にはうまく置けないのです。本体が軽すぎて相対的にコードのほうが重くなるのも一因でしょう。
そこで、こうやって磁石で固定するようにしてみました。
Quick'n'Dirty Soldering iron Holder
分解したハードディスクから取ったネオジム磁石を、はんだごてに直接接着してあります。台の方は鉄なら何でも良いのですが、ハードディスクの残りの部品にちょうど良い形のものがあったので使ってみました。 (後になって気がつきましたが、これとは逆に、台の方を磁石にした方が使いやすかったはず。)
Neodymium magnet
はんだごてを置いた状態では、磁石がずれる方向に力がかかるので、そう簡単に外れることはありません。使うときは、グリップ部分を持って引き剥がすように力を加えるので、てこの原理で簡単に外せます。

2012/01/22

ドレメル小屋

ドレメルって、あんまりホームセンターとかで見たことがないので、日本では売ってないのかと思っていたら、ちゃんと日本版があって、普通にAmazonとかでも売っていました。 もちろん日本向けなので電源電圧は100Vですが、 50Hz版60Hz版 が別になっています。 ちなみに今だとこっちの方がお買い得かも。。orz
DREMEL(ドレメル)パンプキンカービングセット(50Hz)
DREMEL(ドレメル)パンプキンカービングセット(60Hz)
先端のビットを回転させて削る「トリマー」とかの類ですが、ハイパワーなので、金属の切断も(比較的)簡単にできるそうです。(実はまだやったことがない。) 切断するときは、付属の「カッティングホイール」を取り付ける必要があります。が、このカッティングホイール、簡単に割れてしまいます。まだ使わないうちに早速1枚割ってしまいました。 これは 消耗品だし値段も安いので交換すれば良いだけ なのですが、こんなに簡単に割れるということは、作業中に割れて飛び散ったらえらいことになるんじゃないかと心配になってきます。

そこで、安全のため+粉塵対策のために、こんなものを作りました。 洗った食器を入れるカゴ(?)に、塩ビ板で作ったカバーを被せて、両側から手を入れるための穴を開けただけです。 使わないときは、ドレメル本体や小物とかも一緒に放り込んで、そのまま収納できます。
dremel shed
この薄い塩ビ板では、飛んできた破片とかが突き破ってくることもありそうなので、できればもっと丈夫なポリカーボネートとかを使いたいところ。もちろん厚いものを使った方が安心ですが、透明度も大事です。
using dremel shed
カゴの底は網になっているので、粉塵は下の容器まで落ちます。粒子が細かくて見えないので、どの程度外に漏れているのかは分かりませんが、とりあえず底にたまっていくので、ある程度の効果はあるようです。
after using dremel shed
ちなみに塩ビ板のカバーは、カゴの四隅に切り込みを入れて差し込んでいるだけです。この切り込みを入れるのにドレメルを使うべきだったのでしょうが、まだ慣れてなくて上手に扱えないので、(手動の)プラスチック用のこぎりを使いました。

2012/01/03

rbsファイルのフォーマットを解析

RB-338のデータは.rbsという拡張子のファイルに保存されます。このファイルの中に、すべてのノブ、パターン、ソングデータなどが入っています。
このファイルのフォーマットは、以前は公式ftpサイト公開されていたそうですが、既にアクセスできなくなっています。Web上を探してみたところ、このサイト一部 の情報が残っていましたが、残念ながら、詳細が分かるのはたいして意味のないヘッダ部分だけで、実際のデータとも若干食い違っているようです。
そこで、実際の.rbsファイルのバイナリダンプを見ながら自力でフォーマットを解析してみました。内容はほぼ分かったのですが、ちゃんとした形でまとめた資料を作るのはけっこう大変なので、とりあえず、テキスト形式で.rbsファイルをダンプするツールを作りました。これ自体はあんまり実用的なものではないですが、ソースを読めばフォーマットの詳細が分かるでしょう。
ソースのみ
ソース+Windowsバイナリ
ダンプの例:

アーカイブ