クオーツ時計をArduinoで制御してみる/実験日誌
さて、今回の相談はある作品展示のお手伝いです。 「時計を2~10倍速で動かすにはどうすればよいでしょうか」に対してどう答えていったのか。 まず、時計がどのような仕組みで動作しているのかを知る必要があります。 あなたは時計ってどう動いているか知ってますか。恐らく知らない方の方が多いのではないでしょうか。というこで、まずは、時計の種類と動作原理から簡単に説明したいと思います。 時計は、動作原理で3分類に分けることができます。「機械式時計」「クオーツ時計」「電波時計」です。さらに、機械式時計は手巻き式と自動巻き式があります。まず、機械式についてですが、基本的には、ゼンマイを巻き上げ、巻き上げられたゼンマイが戻ろうとする力を利用して動きます。手巻きと自動巻きの違いはその名の通りで、ゼンマイを手で巻くか自動巻きにするかの違いです。 この機械式の時計の速度を上げたい場合にはどうすればよいか。理科が得意だった方は一瞬で想像できるかと思いますが、そう。ギアのピッチを変更する必要がありますね。2倍速なら2倍速専用、10倍速なら10倍速専用のギアの設計が必要となりますので、かなり手間と労力がいりそうですね。 「クオーツ時計」はどうでしょうか。クオーツ時計は、その名にクオーツという言葉が入っているように、水晶を利用している時計です。水晶は電圧を付加することで振動する性質があります。 ちなみに、時計に利用されている水晶の場合、電圧の付加で32,768回/秒で振動する性質があるので、この振動回数をカウントICでカウントして1秒と定義し、さらに1秒に1回、コイルに電気信号を送ることで、コイル内に電磁誘導を発生させ、ギアを回転させます。 って言っても分かりづらいかと思いますが。これを踏まえると、コイルに1秒に1回、電気信号を付加するとギアが進むので、1秒に2回、電気信号を付加すれば、通常の2倍の速度でギアが進みそうですね。これはArduinoなどの手軽なマイコンで簡単にできそうです。 電波時計は、情報なんちゃら機構から発信している電波そのものを改定しないと無理なのではじめから検討外とします。 https://youtu.be/qux3fLCf2FU ということで、改造方針は決定です。 お題:「時計を2~10倍速で動かしたい」方針1:機械式時計のギアを改造して、各速度毎にギアを設計することで任意の速度で動作させる方針2:クオール時計のパルス間隔をマイコンで制御することで任意の速度で動作させる制約:なるべく小型にしたい。期限は1週間ぐらい。予算が無い。 そりゃ、もう方針2ですよね。 ではでは、実際にクオーツ時計をハッキングしてみましょう。 クオーツ時計をArduinoで制御してみる 早速、改造してみましょう。まず、クオーツ時計の購入。Amazonで数百円で買えます。そして、早速、分解開始。 まず、カバーを開けてみましょう。カバーを開けると、ほう。ギア各種にコイルと電磁誘導で回転する磁石付きのギア、コイルの裏側にはカウント用のIC。至ってシンプルです 回路には水晶振動子がついてますね。なんとシンプルで美しいことよ。 で、今回はパルスを自分でつくるわけなので、下の写真でいうと、左の回路はいりませんので、コイルと切り離します。やることはすごくシンプルで、左をマイコンに置き換えてあげて終了です。上の写真の左上とかいい感じに空間が空いているので、ここにマイコンとか入れられたら最高。 Arduinoによるギア回転の制 今回は、小型のUSBタイプのArduinoを活用してみました。コイルから出ている2本の線をArudinoのD10,D11に接続します。(てか、なんでこのArduino,D9からはじまるの?)そんで、いつでも回転速度を変更できるように、ダイヤル式の可変抵抗をA1につなぎます。アナログinputピンで抵抗値を参照して、抵抗値に応じて、秒針の速度を制御できるようにします。 Arduinoに書き込むプログラムはこちらを参考に自作してみました。 以下はデモ動画. 可変抵抗のダイアルを回すことで秒針の速度も可変する. 小刻みに時を刻む時計の様子がなんとも愛らしい。 今回は展示準備のお手伝いということで作ってみましたが、他の表現への利用もできそうな予感がします。 https://vimeo.com/311676861