その2です。
商用電源の周波数の精度はかなり良いらしく、短いスパンではばらつきがあるものの、長い目でみると一定になるよう、商用電源を利用した時計のために、電子ちゃんが一生懸命調整しているらしいです。
という訳でJapaninoでスケッチを作って確かめてみることにしました。
回路は超簡単で、デジタル2番ピンのソケットの5cmくらいの線を挿しただけです。
商用電源から発せられる電界の変化を捉えてカウントしてくれます。
判り難いかもしれませんが、画面左下のソケットに線が挿さっています。
テスト用のスケッチです。
1秒ごとにsecをカウントアップして、60秒ごとにシリアルに現在の通算秒数を表示します。
1440秒までカウントしてみましたが、電波時計との差は出ていません。
なかなか使えそうですね。
回路を組む必要もないので、ArduinoやJapaninoをお持ちの方は実験されてはいかがでしょう。
周囲の環境によって調整が必要とは思いますが、適当な長さのアンテナ線をつなぐだけでかなり正確な商用電源の周波数を利用できるので、腕時計には使えませんが電池駆動のアプリケーションにも応用ができそうです。
ちょっと検索してみたところ、この方式は特許が出願されていますね。
特開平10-282269
請求項によると、無線による結合で商用電源から電界または磁界を検出する手段と、交流信号を増幅する手段を有する時計とあるので、増幅していないので大丈夫かな。
商用電源の周波数の精度はかなり良いらしく、短いスパンではばらつきがあるものの、長い目でみると一定になるよう、商用電源を利用した時計のために、電子ちゃんが一生懸命調整しているらしいです。
という訳でJapaninoでスケッチを作って確かめてみることにしました。
回路は超簡単で、デジタル2番ピンのソケットの5cmくらいの線を挿しただけです。
商用電源から発せられる電界の変化を捉えてカウントしてくれます。
判り難いかもしれませんが、画面左下のソケットに線が挿さっています。
テスト用のスケッチです。
1秒ごとにsecをカウントアップして、60秒ごとにシリアルに現在の通算秒数を表示します。
1440秒までカウントしてみましたが、電波時計との差は出ていません。
なかなか使えそうですね。
回路を組む必要もないので、ArduinoやJapaninoをお持ちの方は実験されてはいかがでしょう。
int pin = 13; volatile int state = LOW; volatile int i = 0; volatile long sec = 0; int old; void setup() { pinMode(pin, OUTPUT); sec = 0; old = 0; Serial.begin(9600); Serial.println("start"); attachInterrupt(0, blink, RISING); } void loop() { digitalWrite(pin, state); if(sec != old && sec % 60 == 0) { Serial.println(sec,DEC); old = sec; } } void blink() { i++; if(i==50) { i=0; state = !state; sec++; } }
周囲の環境によって調整が必要とは思いますが、適当な長さのアンテナ線をつなぐだけでかなり正確な商用電源の周波数を利用できるので、腕時計には使えませんが電池駆動のアプリケーションにも応用ができそうです。
ちょっと検索してみたところ、この方式は特許が出願されていますね。
特開平10-282269
請求項によると、無線による結合で商用電源から電界または磁界を検出する手段と、交流信号を増幅する手段を有する時計とあるので、増幅していないので大丈夫かな。
いろいろ応用できそうです。
アンテナは電線にひっかける必要はないのでしょうか?
クランプメーターみたいに。
「なんでも作っちゃう、かも。」サイトは色々と参考にさせて頂いております。
蛸足配線が入り乱れているところなので、5cmくらいのリード線で検出しているようです。
すっきりした環境だと伝統線に巻きつける必要がありそうです。
某特許のようにコイルと増幅器を使ってどこでも検出できるようにするのも手ですね。