google-site-verification: google3bd66dd162ef54c7.html

アナレンマの作画状況、2017年夏至

 太陽電池パネルの電圧を監視することでアナレンマを描く試みは、開始から約半年過ぎてだいぶ形が見えてきました。2日前(6月21日)は夏至だったので、アナレンマの図形の折り返し点を過ぎたことになります。

 ということで、現在の状態を見てみます。

▼Ambientで公開中のグラフ(2017/6/23現在)
Ambientに描いたアナレンマ
 左上から順に、日の出時刻、日の入り時刻、昼の長さ、南中時刻で、一番下がアナレンマのグラフです。

 日の出時刻は最小値(早い時刻)をちょっとだけ通り過ぎたあたりで、これから上昇に転じるはずです。一方、日の入り時刻の方はもう少し遅れてから減少に転じるはずです。

 なお、このデーターは、Ambient で アナレンマを描く試み (チャネルID: 200)というページで最新のものを公開しています。上の図はそこからのスクショです。

 また、ほぼ同じデーターをローカルのPCの Excel にも保存していますが、そのデーターで描いたグラフは以下のようになっています。

▼ローカルPCの Excel で描いたグラフ
エクセル

▼Excelで描いたアナレンマ
アナレンマ、理論値と観測結果
 青い点が実測値、赤い点は天文台の暦のページのデーターからプロットしたもので、いわば理論値です。実測値はかなりばらつきがあり、また理論値より右上にオフセットしています。でもプロットの中心は理論値通りに行われているようです。

 現在、アナレンマのプロットは8の字のてっぺんあたりにあります。この先、右回りに小さな弧を描いた後は左下に進み、最終的には、12月の初め頃に8の字が閉じて完成するはずです。

◆まとめ
 この試みは、うまくいくかどうかわからないのでやってみるしか無いと思って始めたものですが、思ったよりうまくいっているようで安心しました。このまま大きな問題が発生しなければ、アナレンマを完成させることが出来そうです。AmbientData Inc. さん、というか下島さん、よろしくお願い致します。(他力本願モード)

 なお、この試みについての次回の記事は、秋分の日を過ぎたあたりを予定しています。

首都大学の光の塔の日時計とアナレンマ

 夏至まであと3日となりました。明るさセンサーを使ってアナレンマを描く試みは春分の日の頃に中間結果を記事にしましたが、そろそろ中間点を迎えることになります。ところで、アナレンマでネットを検索すると、南大沢の首都大学に日時計があって、その文字盤にアナレンマが描いてあることが判りました。

 南大沢は買い物で時々行くので、実際に見てみたいものだと思って、チャンスを伺っていたのですが、先日ようやく日時計の写真を撮ることが出来ました。これまでに何度か現地に行く機会はあったのですが、曇りの日ばかりでした。何しろ日時計なので太陽が出ていないと意味がありません。

 場所は南大沢の首都大学で、隣接する三井アウトレットパーク南大沢に接する門の入口の横の光の塔という建物です。

▼場所、google mapより転載 google map でこの場所を表示
首都大学光の塔
 この写真の黒い正方形の屋根が光の塔です。道路を挟んで下側がアウトレットです。

▼光の塔
首都大学光の塔
 三角屋根の建物が光の塔です。上空を輸送機がよく通過しますが、地図を見るとこの場所は横田基地の滑走路の延長線上でした。

▼光の塔全景
首都大学光の塔
 日時計は光の塔の、南東面と南西面の二か所に設置されています。地図を見ると建物の方向がよく判ると思います。

▼日時計(南西面)
光の塔の日時計(南西面)
 日が当たっている状態の日時計です。太陽の絵の額から右下に突き出している黒い棒が日時計の影を作る棒 (Gnomon) です。影は、そこからほぼ下向きに伸びて、日時計の目盛りの12時35分あたりを指しています。

 目盛り板には冬至、春分秋分、夏至の影の長さを示す線が記入されています。この写真を撮ったのは6月12日で夏至に近いので、影の先端は夏至の曲線にほぼ一致した位置にあります。

 ところで、この写真を撮った時刻は12時14分ですが、日時計は12時35分あたりを示しています。つまりこの日時計は約20分進んでいます。この理由を調べてみると、以下のページに詳しく解説されていました。
首都大学東京 光の塔の謎  南大沢季節便りさん
こんな作業もします 須藤オルガン工房さん

 詳しくは上のリンク先の説明を読んで頂くのが良いのですが、かいつまんで書くと、この日時計は設置場所、つまり南大沢時刻(視太陽時)を表示するように作られているので、日本標準時と比べると19分程度進んでいる。ということだそうです。

 あと、これ以外の誤差の要因として均時差によるズレがあります。ただ幸いなことに、この写真は夏至に近い日に撮ったので、均時差によるズレはほぼゼロと考えても大丈夫です。なお、均時差は日時計を語る時に大事なことなので、後で触れたいと思います。

◆アナレンマの8の字
 上の写真を見るとアナレンマの8の字を示す金具が取り付けられています。実は日時計を見たかった最大の理由は、この8の字を実際に見てみたかったからです。

 アナレンマの8の字は均時差を表すために付けられるのですが、この日時計に付けられている8の字は、ちょっとしっくりときませんでした。その理由は、
1.アナレンマの8の字が12時では無く少し進んだ位置に置かれています。この理由はなぜ?
2.アナレンマの8の字の丸の面積は、冬至側の方が大いはずなのにこの日時計では差がほとんど無い。なぜ?

 こういう疑問があったのですが、

 1.項は普通の時計(つまり平均太陽時)で正午の影の位置を表しているので、この位置にアナレンマの8の字を書くのだそうです。なるほで、そう言われれば確かにそうです。でも日時計を読むのに、なぜ普通の時計が必要になるのでしょう。ここが最初は全く理解出来ませんでした。だって普通の時計があれば日時計なんて最初からいりません。

 こうなっている理由は、光の塔の中に正午の太陽のアナレンマを見る仕掛けがあることに関係がありそうです(上のリンク先参照)。光の塔の中でやっているのと同じことを、日時計でも表現するためにこういう目盛りを付けた、と考えるのが自然では無いかと思います。このあたり、もし勘違いや説明が不正確な所がありましたら指摘していただくと幸いです。

 2.項の理由は簡単でした。壁面に影を投影しているので、太陽高度が高くなると影がどんどん伸びて、テコの原理でアナレンマが拡大されることを忘れていました。

▼南東面の日時計と太陽光の取り入れ口
光の塔の日時計(南東面)
 南東面には午前用の日時計があります。こちらは街路樹が大きくなって見づらくなっているのが残念です。二つの日時計の棒 (Gnomon) の根元は、どちらも建物を貫いて北極星の方向を向いているはずです。

 この写真の二つの日時計の間に縦長のガラス窓があり、その窓の中に丸い穴が開いているのが見えます。実は、ここから塔の内部に光を導き、太陽の正午のアナレンマが観察出来るようになっているのだそうです。何とも大規模な仕掛けです。これは一度見てみたいものですが、勝手に建物の中に入る訳にはいかないでしょうからどうしたもんでしょう。門のところの守衛さんに断ればいいのでしょうか。

◆まとめ
 思いもしなかった近くにアナレンマを見ることが出来る施設がありました。せっかくこういう施設があるのに、あまり知られてないのはもったいないと思います。これ、自然科学の教材としてとても優れていると思います。

 アナレンマや均時差の話は難しすぎますが、季節による太陽の影の軌跡の変化は、中学校の入試問題に出てきます。南大沢のアウトレットに行った時には、子供にこの日時計を見せることをお勧めします。きっと良い勉強になるはずです。

【2017/6/21追記】
 日時計に描かれた8の字のアナレンマの図形の使い方に関して勘違いがあったので追記します。記事中で「普通の時計が必要」と書いてしまいましたが、これは間違いでした。影の先端がアナレンマの8の字の線と一致した時が、普通の時計の正午です。つまり時計を見なくても日本標準時の正午を知ることが出来ます。
 とは言っても時計があれば、本当にそうなっていることを自分で確認出来るので、やはり時計を見ることをお勧めします。現象を確認することは、科学の重要なステップです。

 なお、針の影はアナレンマの8の字を横から通過するので、8の字の線を2回横切ります。このどちらのタイミングを採用すべきかは、季節により変わります。

ArduinoでI2Cキャラクタ液晶を使う(その3) 最終動作確認

 ArduinoからI2Cインターフェイスのキャラクタ液晶を使う話の最終回です。前回の記事で選んだI2Cキャラクタ液晶表示ライブラリの I2CLiquidCrystal (N. Mitsunagaさん) を使って実際に表示を行ってみます。なお、このライブラリにはいろいろなサンプルが入っているのでデモプログラムには事欠かないのですが、私が特に気にしている lcd.setCursor と lcd.print について自作のテストプログラムを動かしてみます。と言っても以前作ったものをちょっと手直ししただけのものです。

 プログラム自体の説明は後回しにして、表示結果は以下の写真の通りです。なお、接続回路図は、以前の記事に掲載したものと同じです。また、ライブラリのバージョンは I2CLiquidCrystal-1.5.zip を使いました。

▼実行結果
Arduino UNOの電源電圧
 CPUチップの温度と電源電圧を連続表示します。うまくいっているようです。

 なお、CPU温度の測定精度はかなり怪しくて大きなオフセットを伴っています。つまりこの表示の絶対精度はあてになりません。但し、分解能は高くて 0.1度あるので、CPUを指で触ると温度がどんどん上がることが判ります。

▼プログラム
/* CPU温度センサーと電源電圧の読み出し、表示デモ
初版 2014/7/19
改版 2017/06/11 I2C液晶用に修正 ラジオペンチ
http://radiopench.blog96.fc2.com/
*/
#include <I2CLiquidCrystal.h> // http://n.mtng.org/ele/arduino/i2c.html
#include <Wire.h>

I2CLiquidCrystal lcd(20, true); // コントラスト(0-63),液晶電源(true=5V, false=3.3V)

void setup() {
pinMode(13, OUTPUT);
lcd.begin(16, 2);
lcd.print("Starting...");
delay(1000);
Serial.begin(9600);
}

void loop() {
float temp, Vcc;
digitalWrite(13, HIGH);
temp = cpuTemp(); // CPU温度測定
Vcc = cpuVcc(); // 電源電圧測定
digitalWrite(13, LOW);

Serial.print("Temp= "); // シリアルに温度を出力
Serial.print(temp,1);
Serial.print(", Vcc= "); // シリアルにVccを出力
Serial.println(Vcc,2);

lcd.setCursor(0, 0); // 液晶に表示
lcd.print("Temp= ");
lcd.print(temp,1); // 温度、小数点以下1桁表示
lcd.print("c "); // 単位表示と後ろのゴミ消し
lcd.setCursor(0, 1);
lcd.print("Vcc = "); // Vcc
lcd.print(Vcc,2);
lcd.print("V "); // 単位表示と後ろのゴミ消し

delay(500);
}

// 流用する場合は以下を全てコピーする

float cpuTemp(){ // CPU温度測定関数
long sum=0;
adcSetup(0xC8); // Vref=1.1V, input=ch8
for(int n=0; n < 100; n++){
sum = sum + adc(); // adcの値を読んで積分
}
return (sum * 1.1/102.4)- 342.5; // 温度を計算して戻り値にする。-342.5は要調整
}

float cpuVcc(){ // 電源電圧(AVCC)測定関数
long sum=0;
adcSetup(0x4E); // Vref=AVcc, input=internal1.1V
for(int n=0; n < 10; n++){
sum = sum + adc(); // adcの値を読んで積分
}
return (1.1 * 10240.0)/ sum; // 電圧を計算して戻り値にする
}

void adcSetup(byte data){ // ADコンバーターの設定
ADMUX = data; // ADC Multiplexer Select Reg.
ADCSRA |= ( 1 << ADEN); // ADC イネーブル
ADCSRA |= 0x07; // AD変換クロック CK/128
delay(10); // 安定するまで待つ
}

unsigned int adc(){ // ADCの値を読む
unsigned int dL, dH;
ADCSRA |= ( 1 << ADSC); // AD変換開始
while(ADCSRA & ( 1 << ADSC) ){ // 変換完了待ち
}
dL = ADCL; // LSB側読み出し
dH = ADCH; // MSB側
return dL | (dH << 8); // 10ビットに合成した値を返す
}
 このプログラムはかなり前に書いた「外付け部品無しでArduinoの電源電圧を測定する」という記事に掲載したもので、インクルードするライブラリを入れ替えて、初期化の設定を修正しただけです。動作としては、CPUの電源電圧と温度を連続表示します。43行以降が測定ルーチンですが、このプログラムはCPUのレジスタを設定するだけで動いています。つまり外部の配線は何もしなくていいので、今回のように、ちょっとした動作確認をしたい時に使うと便利です。

 33行で温度を小数点以下1桁、37行で電圧を小数点以下2桁表示するように指定しています。こういうふうに表示フォーマットを指定出来るとプログラム作りが楽になります。

◆まとめ
 ということでうまく表示が出来るようになったので、I2Cインターフェイスのキャラクタ液晶を動かすライブラリの話は終わりです。I2Cインターフェースは少ないピン数で表示が出来るので便利になるはずです。

 あと、この後はこの液晶を使って日の出日の入りタイマーを作る予定です。そちらは進展があったら記事にする予定です。
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード