マウスの位置座標を使った電子楽器を作ってみた。
お疲れ様です。高橋です。
先日分解したマウスを使って、位置座標の取り出しと、取り出した位置座標をそのまま周波数としてピエゾスピーカーに流しただけの楽器を作りました。
USBプラグをArduinoに挿す準備
まずはUSBプラグの加工です。このプラグは4本の線が格納されているのですが、プラグのままだとArduinoに挿しづらいので、線を加工します。
ブチっと切断して線を出します。
なんか最近、こんな事ばかりやっている感じがします。
ADNS2610のSCLKとSDIOからデータを直接引っ張ってくる
データシートによると3番がSDIO、4番がSCLK、6番がGND、7番が電気です。5Vで動くので、Arduinoの5Vをそのまま挿しても問題ありません。
既に基板上で5VとGNDは適切に配線されているので、問題はSCLKとSDIOです。ADNS2610の3番と4番に到達する線をたどって、一番楽な所とUSBの線に繋がっていた箇所を直接半田付けします。
連結させるために使った線は、耐熱電子線という高級品です。480円と、とても高価でしたが、半田のノリも良く最高の一品です。名前もカッコイイです。たいねつでんしせん。
裏側の結線が完了したので、最終的には黄色: 5V、青: GND、白: SDIO、緑: SCLKという配線で繋がるはずです。
スケッチ
Arduino側のプログラムは下記のような感じです。こちらのサイトからライブラリを取得し、今回必要となるADNS2610のライブラリをimportします。
スケッチはこちらのサイトの物を参考にします。
#include "ADNS2610.h"
#define SCLK 2
#define SDIO 3
ADNS2610 Optical1 = ADNS2610(SCLK, SDIO);
//マウスの現在値
signed long x = 0;
signed long y = 0;
void setup()
{
Serial.begin(38400);
Optical1.begin();
}
void loop()
{
signed char tx, ty;
{
tx = Optical1.dx();
x += tx;
ty = Optical1.dy();
y += ty;
if (tx || ty)
{
tone(8,x,100);
tone(10,y,100);
Serial.print(x);
Serial.print(" / ");
Serial.println(y);
/*
Serial.print("x=");
Serial.print((25.4 * (float)x) / 800.0);
Serial.print("mm y=");
Serial.print((25.4 * (float)y) / 800.0);
Serial.println("mm");
*/
}
}
}
ピエゾスピーカーにそのままXとYの座標を入力させています。
完成形
配線は、マウス側のSCLK(緑)をデジタル2番。SDIO(白)をデジタル3番。5Vを5V、GNDをGND。そして、ピエゾスピーカー側は、適当にデジタルの何番かとGNDで繋ぎます。tone関数を使って2個のピエゾスピーカー使って和音出せるかなと思ったのですが、出来ないみたいです。1音しか鳴りませんでした。何かがいけなかったのかもしれません。
XとYのいずれかの移動距離に応じた周波数がピエゾスピーカーから鳴るのですが、プログラムを工夫すれば、一定の距離毎に音階が上下するように出来るので、より楽器っぽくなるなるのでしょうが、面倒だし先が見えたので、ここまで。
以上、よろしくお願い致します。
関連記事
-
-
USBやDCジャックからの5Vを3.3Vにする物を作った
お疲れ様です。高橋です。 前にesp8266の動作試験を行った時、とても面倒だと …
-
-
音階LED仮組み
お疲れ様です。高橋です。 先日設計し直した音階LEDを、B型基板上に部品を載せて …
-
-
FM音源YM2203をArduinoで鳴らしたい #1
お疲れ様です。高橋です。 きっかけ 4月から現在に掛けてのコロナな最近、会社のと …
-
-
PCとArduinoをJavaでシリアル通信
お疲れ様です。高橋です。 先日作ったコレ。 よくよく考えると、書き込む際にいちい …
-
-
満員電車内でのオナラと検知 #5
お疲れ様です。高橋です。 マイコンと5V給電 先日実験に成功した硫化水素センサー …
-
-
ルンバにスピッツを演奏させてみた
お疲れ様です。高橋です。 家にあるルンバにArduinoを挿して、スピッツの「涙 …
-
-
YMZシールドの作成 #1
お疲れ様です。高橋です。 実体配線図を書き起こしておいたYMZシールドの半田付け …
-
-
遠隔でRaspberryPi+DCモーターを制御してaitendoの名刺をクルクルさせる。
お疲れ様です。高橋です。 「猫×おもちゃ×動画×アプリ」のための要素技術として必 …
-
-
【完成】PCからシリアル通信でEEPROM書き込み
お疲れ様です。高橋です。 PCからシリアル通信を介して楽曲データをEEPROMに …
-
-
bluetoothモジュールHC-06とAndroid
お疲れ様です。高橋です。 先日AliExpressで購入したbluetoothモ …
- PREV
- ヘッドフォンのプラグを直し中。
- NEXT
- ヘッドフォンが直った






