十数年前、社会人になってすぐの頃、テクニクスのターンテーブルとヌマークのミキサーのセットを大枚をはたいて買ったのだが、今では全然使わなくなって箱にしまいっぱなしになっている。
30枚くらいはレコードも買っていたが、あまり聴く事もなかった。ちょっともったいないが、こういう人は結構いるんじゃないかな?と思ってる。
使わなくなる原因をよくよく考えてみるとターンテーブルにはいくつか弱点があることがわかる。
1.再生中は次の曲をかけるのにターンテーブルの前にいなければならない。
2.設置状況によるが多くの場合、立ちっぱなしになる。
3.音楽をかけてなにもしないと最後の曲が終わり、無音になる。
4.次の曲はどうしようか、どうつなぐか、悩む。
5.音楽を聴きながら何か別の作業(勉強など)をすることができない。
まあ当然といえば当然なのだが、なんとか連続再生をして放置できないか考えてみた。
今回音センサーとサーボモーターをaruduinoで制御してみた。
とりあえず出来は微妙だが、なんとか針を巻き戻すことに成功した。
音センサーをスピーカ前に設置して無音になったら、巻き戻るようにする。
ミキサーのボリュームにもサーボモーターをつけて、針の移動中は音が出ないようにした。
スケッチはかなり苦労したが以下の様になります。
#include<Servo.h>
int val=0;
int ledVal = 0;
Servo servo1;
Servo servo2;
void setup() {
servo1.attach(4);
servo2.attach(5);
Serial.begin(9800);
}
void loop() {
val=analogRead(5);
ledVal = val
;
Serial.println(ledVal);
if(ledVal < 80){
servo1.write(120);
delay(500);
servo2.write(60);
delay(1000);
servo2.write(70);
delay(1000);
servo2.write(80);
delay(1000);
servo2.write(90);
delay(1000);
servo2.write(100);
delay(1000);
servo2.write(102);
delay(1000);
servo2.write(104);
delay(1000);
servo2.write(106);
delay(1000);
servo2.write(108);
delay(1000);
servo2.write(110);
delay(1000);
servo1.write(111);
delay(1000);
servo2.write(112);
delay(1000);
servo2.write(113);
delay(1000);
servo1.write(114);
delay(1000);
servo2.write(115);
delay(1000);
servo1.write(116);
delay(1000);
servo2.write(117);
delay(1000);
servo2.write(118);
delay(1000);
servo2.write(119);
delay(1000);
servo2.write(120);
delay(1000);
}
else{
servo1.write(60);
delay(500);
servo2.write(0);
}
delay(5000);
}
要約すると音センサーの値を読み取って、音の信号がなくなると、ミキサーのサーボモーター1を動かしボリュームをゼロにしてもう一つのサーボモーター2でターンテーブルの針を移動させる。一気に動かすと針が飛ぶので段階的に動かすスケッチになっている。
音センサーは無音になると反応するので、曲の最中で無音になると曲の終わりでなくてもまきもどってしまうのはご愛敬。
これでとりあえず放置しても曲を連続再生する事ができた。もう少し頑張ればジュークボックスみたいにできるかもしれないが、このクオリティでもかなり苦労したのでここで終わりにしたい笑。とりあえずターンテーブルを箱から出すのに成功したので良しとすることにした。
※針をかなり痛めるのでマネするのであれば覚悟してください。