目次:はじめに, 調べる, 作ってみた, 液晶とボタンをつける, 逆転させる
上の動画は動作パターンが決まっていますが、次の動画では、ボタンを押すと動きを変えられるようにしてみました(説明は下へ)。
改造するには針が動くしくみを調べる必要があります。まずは分解してみました。ネジを使わずはめ込み式で簡単にバラバラになるので分解には注意が必要です。写真に写っている電線と足は動作を調べるためにつけた配線です。
電源電圧が5VのArduinoを使ったので、470Ωの抵抗とコイルを直列に、Arduinoの2ピンと3ピンをつなぐことにしました。スケッチを以下に記載します。pulse()関数で針を駆動します。コイルに電圧をかける時間は少し短め(30ms)にしています。(液晶、ボタンつきの説明は下へ)。
const int A = 2; const int B = 3; bool AB = false; const int PULSE_W = 30; void pulse() { if (AB) { digitalWrite(A, HIGH); delay(PULSE_W); digitalWrite(A, LOW); delay(50-PULSE_W); } else { digitalWrite(B, HIGH); delay(PULSE_W); digitalWrite(B, LOW); delay(50-PULSE_W); } AB = !AB; } void setup() { digitalWrite(A, LOW); digitalWrite(B, LOW); pinMode(A, OUTPUT); pinMode(B, OUTPUT); } void loop() { // 10s, 10pulses for (int i=0; i<10; i++) { pulse(); delay(950); } // 10s( 5s + 4s + 1s), 20 pulses delay(5000); for (int i=0; i<10; i++) { pulse(); delay(350); } for (int i=0; i<10; i++) { pulse(); delay(50); } delay(1000); // 1s, 0 pulse T337(); // 4s, 13 pulses delay(8000); // 8s, 0 pulse delay(10000); // 10s 0 pulse // 17s, 17pulses for (int i=0; i<17; i++) { pulse(); delay(950); } } void T337() { pulse(); delay(250); pulse(); delay(250); pulse(); delay(550); // ここまで 900ms pulse(); delay(250); pulse(); delay(250); pulse(); delay(550); // +900ms pulse(); delay(250); pulse(); delay(250); pulse(); delay(250); pulse(); delay(250); pulse(); delay(250); pulse(); delay(250); pulse(); delay(350); // +2200ms // 合計 4000ms; }
さらに液晶(16x2のパラレル接続キャラクタ液晶)とボタンをつけて、ボタンを押すと次のように動作させてみました。
ボタン | 動作 |
Pause (Resume) | 一次停止/解除(10秒無操作で自動解除) |
+1 | 一秒進める |
Dash | 10倍速で10回進める |
337 | 三三七拍子をする |
ラジオペンチさんのblogで「時計の秒針を正転/逆転させてみた」という記事をみかけて真似してみました。上の時計は100円ショップのセリアで買ってきた時計です。IKEAの時計では、うまく逆転しなかったからです。机の上に水平に置いて撮影しています。
その後、セリアの時計を垂直に置くと針の位置で逆転しなかったりすること、IKEAの時計でもタイミングを調整して、ちょうどいい姿勢にすると逆回転することが分かりました。ここまでは動作原理を理解せずに、パルスを作るプログラムを書いていたので、調べてみました。
ちょっと web 上を探してみると「クオーツ時計のステップモーターの回転する仕組み」という解説をみつけました。要約すると、モータ(最初のギア)は永久磁石になっていて、静止しているときは鉄に引き寄せられています(コイルに対しては斜め)。正転の場合にはコイルに電流を流して、磁石を反発させて回転させます。コイルの電流を切ると、鉄に引き寄せられて静止します。回転角度は180度です。つぎのステップで回転させるにはコイルに流す電流を反転させます。
そうすると逆転は次のようにして実現できているはずです。コイルに流す電流を正転の時とは逆向きにして一旦磁石を引き寄せて逆回転をはじめさせます。タイミングよくコイルに流す電流を反転し磁石を反発させると、慣性があるので逆転を続け、電流を切ると鉄に引き寄せられて静止します。タイミングが悪いと、正転方向に回転を始め、勢いがよければ1秒進み、悪ければピクッと動くだけになります。肝心なのは「タイミング」ですが、地球上には重力があるので文字盤を水平にしているとき以外は、秒針の角度によって適切なタイミングが変わってきます。
実はIKEAの時計はセリアの時計よりも直径が大きいので、タイミングの変動が大きくなります。ラジオペンチさんの場合は、だいぶ小さいめの時計のようですので安定して動いたのではないかなと思います。
クオーツ時計の仕組みや歴史に少し興味が出たので見ていたら、セイコーが腕時計の特許を取得して、(特許だから)公開されライセンスされたから世界が変わったということが分かって面白かったです。