都民の森での新たな発見

秋空ひろがる 9 月の某日。

かつては毎週末ごとに訪れていた檜原村の都民の森にやってきました。

ここは新宿から片道 76km と、首都圏のまともなサイクリングスポットの中では(これでも)圧倒的に距離が近く、信号の数もおよそ 3km に1つと東京都内とは思えないほど常識的な範囲に収まっていることから、東京のサイクリストにとって、その名の通りに親しみやすいコースです。

決して悪いところではないのですが、それ以上でもそれ以下でもないので、積極的に東京を離れるようになってからは自然と足が遠のき、気がつけば数年のときが経過していました。

さきに述べたように東京都民にとっては極めて貴重なサイクリングスポットではあっても、普通に車も多くて走りづらさ満点ですし、輪行で訪れるにしてもアクセスが良いわけではありません。

もし自分がお隣の埼玉県や神奈川県に住んでいたとしたら、奥武蔵や伊豆箱根を差し置いて、わざわざ奥多摩を訪れることがあるだろうかと考えてしまいます。

ところが、実際に訪れてみると、こうした思い込みとはまた別の印象を抱きました。そして奥多摩自体がここ数年間で大きく変わっていることに驚きました。




ライドの出発地点はいつもの四谷見附 — と言いたいところですが、信号の待ち時間で日が暮れてしまうので、試験調査も兼ねて 5:29 の始発電車で新宿から高尾駅へと輪行します。

休日の東京の始発電車は登山客で満員になることも珍しくはありませんが、平日は平日で夜勤明けの帰宅需要がそれなりにあるらしく、始発の快速電車は意外にも混雑するという知見を得ました。

それから平日でも輪行する人はいるらしく、今回も先頭車両に乗っていると途中駅からミニベロを携えたお爺さんと遭遇し、高尾までご一緒することになりました。

高尾駅への到着は定刻通りの 6:23 — こちらはこちらで都心方面への通勤ラッシュが始まりそうな雰囲気で、駅前で輪行解除している傍から次々と人混みが押し寄せてきます。

人の少ない平日の休みを謳歌できるのは豊かな地方の話であって、こと首都圏においては当てはまらないのではないかと思えました。

車で混み合う高尾街道に沿って北上し、まずはウォーミングアップの和田峠に抜けます。

私にとって和田峠は峠原器みたいなもので、登った回数も桁違いに多いので、もはや何も感じなくなりました。

強いて感想をあげれば、山ガールって実在したのかといったところ。登坂中に大学生ぐらいの3人組を目撃し、その場違いな感じが強烈に印象に残りました。

そのまま和田峠を通過、甲武トンネルを経由して上川乗へと到着。

ここから真っ直ぐに目的地を目指すことも可能です。

しかし、補給食どころかドリンクすら用意してこなかったので、橘橋の檜原村役場のほうに寄り道してから都民の森を目指します。

走り出すと檜原村の微妙な変化に気づきます。

いつの間にか介護福祉施設や小さなスーパーマーケットが開業しています。

以前は村役場と都民の森のあいだの 20km 間には喫茶店と自動販売機しか存在せず、村内にはコンビニの1件すらなかったのに、今では食事処をいくつも選べるようになっています。

檜原村に活気がでてきているのは大きな変化ですが、走ってみると坂のキツさは相変わらずです。

と言うよりも、記憶のなかにあった都民の森の実走記録よりも、ずっとキツイです。

あらためて見ると登りが 20km もつづくルートなど、めったにないですし、ところどころで斜度 10% を超えてくる急勾配区間が地味に効いてきます。

料金所から先のいわゆる「ラスト 3km 区間」は易しいところで、本当に厳しいのは人里交差点、数馬ヘリポート、そして九頭龍神社の先の坂です。

この辺り、速く走ろうと重たいギアで突入すると、クランクが回せなくなります。

三頭山荘を通り過ぎて旧料金所にまで至れば、あとは 9% ぐらいで斜度が安定しているので、無事にここまで来れれば完走したようなものです。

余裕がでてきたところで、あたりを見渡すと舗装状態のよさに感心します。

登りが 20km も続くようなところも珍しいですが、その長さの道路をひび割れや落下物ひとつなく維持管理しつづけているのも、ここぐらいです。

台湾、九州から北海道までのあちこちの峠道を走ったあとで、あらためて訪れてみると奥多摩の特殊性が良く分かります。

ダウンヒルが苦手な人でも、安心して降れると断言できるぐらい綺麗な路面が奥多摩にはあります。

ただし、場所柄、非常に車が多いですし、速度取締重点路線として警察署に名指しされているぐらい暴走車両も少なくないので注意は必要です。

ここで少し道路から離れてみると、また新しい発見がありました。

ここまで自走で訪れて三頭山を登れという意味でしょうか。

ロードバイク × 登山という新しい可能性を感じます。

都民の森のある三頭山の反対側には、地味なことで有名な鶴峠がありますが、そのさらに向こうには絶景で名高い大菩薩嶺があることは登山家には有名です。

三頭山も登ってみると見どころの多い場所なのかも知れません。

都民の森をあとにして、風張峠をくだると奥多摩湖にたどり着きます。

この辺りは写真撮影には最高の場所です。山稜の緑とダム湖の青が作り上げる光景は関東でも有数の美しさを誇ります。

その一方で自転車で走行するには最低の場所です。

どの道路を通ってもトンネル続きで、交通量も檜原や都民の森とは比較にならないほど多いです。

しかもトンネル内は狭小で、照明もなく、湧水のせいで路面状態はまったく分からないのに落下物も多く、あげくに通行車両もダンプトラックを主体とした大型車ばかりという、考えられる限り最低の条件を合わせたような場所です。

これほどまでに好きで嫌いな場所というのは、ほかに国道 135 号ぐらいしか思い当たりません。

さすがに平日の朝なので、週末のように渋滞することはありませんけれども、関東らしい交通量の多さは相変わらずです。

そんな中でもロードバイクやクロスバイクの自転車乗りと3分間に1度ぐらい擦れ違います。

今まで知りませんでしたけど、平日に走りに出かけている人も多いのだなと実感できて新鮮な気分になりました。

そして、最後に梅ケ谷峠を超えて、京王八王子駅から輪行で帰ります。

ここは始発駅であり、スペースに余裕があることが多く(高尾駅との違い)、新宿まで乗換なしで40分前後で到着でき(拝島駅との違い)、さらに電車の本数自体も多い(奥多摩駅や武蔵五日市駅との違い)ので、奥多摩方面に向かうときには圧倒的に使いやすいです。

さらに混雑する時間は外しているはずなのですけれども、それでも新宿に近づくに連れて乗車人数が増えていくのは変わらずです。

最近、気がついたのですが郊外から都心に向かう電車では、途中下車する人がほとんどいないので、どれだけ空いているように見えても、結局、終点近くまで行けばいつでも混んでくることには違いがありません。

あらためて、はやく東京を離れたいと強く、強く思いました。

中国で一番おもしろい場所

中国で一番おもしろい場所は間違いなく食料品店です。

中国の食料品店は日本製と欧州製の商品に溢れており、見知った商品が脈略もなく陳列されている点がおもしろいだけでなく、中国人の好みがよく反映されている点が興味深くもあります。

日本人でも知らない人のほうが多いだろう網走ビールの真横に沖縄パイン酒とヨーグルッペと謎の乳酸菌飲料が並べられているのが中国の食料品店です。

そのすぐ手前の列には、サンガリアとドイツの ERDINGER と青島ビールが一緒に並んでいたりします。選別基準も良く分かりませんが、陳列方法はもっと訳が分かりません。

ただ、全体をよく見回していくと、中国人が好きな食品の傾向が分かります。




輸入されているのは飲料だけではなく、レトルトコーナーにはイタリアのスパゲッティソースと一緒に出前一丁が大きなスペースを占有していて、中国企業の製品が端の方に置かれていますし、チョコレート以外の菓子類は日本製と韓国製ばかりです。それも見たことも聞いたこともない無名のものと有名どころが半々ぐらい。

残ったチョコレートも高価なものは、世界中のどこにでもあるスイス製やドイツ製で、中国製のものはお土産用のパッケージに包まれたものが少量あるぐらいです。

日本製がほとんど見当たらないのはヨーグルトなどの乳製品コーナーで、こちらはドイツ製とスイス製とオーストラリア製で埋められています。

この写真だけを見ていると、どこの国に来たのか全く分からなくなりそうですが、空港からドイツ車で送迎されて、毎日、フランス人やドイツ人と顔を合わせて、オージービーフのハンバーガーばかり食べていると、本当にどこにいるのか分からなくなります。

中国人には申し訳ないですが、中華料理は日本や米国のレストランの方が美味しいぐらいで、香港や台湾と違って本場の美味しい中華料理を食べたいという気持ちにはならないです。

日本には高級中華料理店こそあっても、中国企業が作った飲料や調味料などに誰も興味を示さないのに、中国のスーパーマーケットは日本語パッケージそのままの輸入品で溢れているところにも、現在の両国の関係性が反映されているような気がしてきます。

日本製と同じぐらいか、それ以上に欧州製品の存在感があるのも、また示唆的です。

中国の食料品店は本当におもしろいです。

まあ、言い換えると他に見どころが乏しいということでもあるのですが。

太陽光パネルの発電を計測する電子工作

家庭用の市販の太陽光パネルは違いがよく分かりません。

よく晴れた日には1日でスマートフォンを満充電にできるなど、それなりに実用性がありそうな話は耳にしますが、発電量が気象条件に依存するだけに実際のところはよく分かりません。

よく分からないものは、自分で調べてみるしかありません。

発電量を調べるのは割と簡単でして Hall effect sensor というものを用意すれば、個人でも測定できます。


30Aレンジ電流センサモジュール ACS712モジュール

このセンサモジュールを制御するための Microcontroller (MCU) と接続用のケーブル、そしてプログラミング用のパソコンさえあれば測定を始められます。

センサモジュールはセンサの計測範囲によって3種類に分類されますので、お使いの太陽光パネルに応じて適切な計測範囲のものをお求めください。

略称 計測範囲 センサ型番
5A ±5A ACS712ELCTR-05B-T
20A ±20A ACS712ELCTR-20A-T
30A ±30A ACS712ELCTR-30A-T

ここでは 5A (ACS712ELCTR-05B-T) を用いるものとして話を進めます。

※ 電子工作では電圧や電流の向きなどを間違えるとコンデンサなどが爆発したり、回路が発火したりすることもありますので、部品を揃える段階から細心の注意を払ってください




MCU もお好きなものを自由に使っていただいて構いません。

「購入するまでもなく自宅にいっぱい転がっているから」という理由から、私は Arduino Uno を使用します。

センサモジュールと MCU の準備ができましたら、やることはたったの3つだけです。

(1)センサモジュール制御用のプログラムを書いて MCU にアップロードします。

つぎに(2)MCU とセンサモジュールをジャンパワイヤを用いて接続します。

最後に(3)データ受信用のプログラムを書いてパソコンを待機させます。

ここまでできましたら、あとは太陽光パネルとセンサモジュール、MCU とパソコンをそれぞれ接続させて実際に計測を行えます。




(1)センサモジュール制御用のプログラムを書く

ここでは開発環境として Arduino Software (IDE) 1.8.10 Linux 64 bits を使用しています。

Arduino を初めて使用される方は 公式ページ から、お使いの環境に適した最新の Arduino Software (IDE) をダウンロードしてインストールしておいてください。

センサモジュールの制御と USB の出力には、最低限、これだけあれば動きます。SD カードへの出力など、必要に応じて適宜改編してください。

const int analogInput = A0;

const double vcc = 5; // 5V
const double quiescentVoltage = 0.5 * vcc;
const double sensitivity = 0.185; // 185mV

void setup() {
  Serial.begin(9600); //baud rate 9600bps
}

void loop() {
  double rawVoltageInput = (double) analogRead(analogInput) / 1023 * 5.0;
  double volts = rawVoltageInput - quiescentVoltage;
  double amps = volts / sensitivity;

  Serial.println(String(volts, 3) + "\t" + String(amps, 3));
  delay(500);
}

これを保存して MCU にアップロードするとセンサモジュールの出力を受け取って、USB経由でパソコンにデータを書き出せるようになります。

何をしているのかを一言でまとめると、センサがアナログの入力を読み取って 10bit の(0 から 1023 までの)数値に変換するので、その数値を理解できる単位に変えて画面に出力するという処理を書いています。

なんだか得体の知れない数値 sensitivity = 0.185 は製造元のデータシートから得られます。

https://www.allegromicro.com/~/media/files/datasheets/acs712-datasheet.ashx [PDF]

ついでにデータシートからは ±5 A で気温 25°C のとき、センサの固有誤差は ±1.5% で精度階級は 1.5 ということが分かります。

なお Arduino の操作や用語については、日本語の参考書もありますので分かりにくかったら参考にしてください。


みんなのArduino入門

(2)MCU とセンサモジュールを接続する

ソフトウェアの準備ができましたら、次はハードウェアの準備です。

センサモジュールには VCC OUT GND という端子があります。それぞれ、電源端子、出力端子、グランド端子という意味があります。

検索すると大学の講義資料などで詳しく解説されていますので、興味がありましたら調べてみて下さい。

計測するために必要なことは、それぞれの端子を識別して、正しく接続することです。

具体的には以下のようになります。

プログラムの方で analogInput に A0 を指定して読み込んでいるので A0 に繋いでます。

接続に使っているのはジャンパワイヤという部品です。電子工作の基本部品の一つで、よく使われるので通常はまとめ買いされます。


ELEGOO 多色デュポンワイヤ 120pcs

(3)データ受信用のプログラムを書く

ソフトウェアとハードウェアの準備ができましたら、あとは実際に計測をおこなうだけです。

ただし、現状のままでは MCU はセンサモジュールの出力を無限に垂れ流すだけなので、どこかに(SDカードなどに)出力を書き出すか、USB から出力を受け取らないとデータを利用することができません。

SDカードソケットモジュールなどを利用すると外部メディアも利用できますが、そのモジュールを私が持っていないので USB で接続したパソコンに出力することにします。

出力されたデータを受け取るプログラムは Python でも Ruby でも、お好きな言語で実装していただいて問題ありません。

今回は JavaScript (node.js) を使って手抜きします。

この場合は適当なプロジェクト(以下の例では currentMeasurer)を作成して、serialport をインポートする準備をお願いします。

$ mkdir currentMeasurer && cd currentMeasurer
$ npm init
$ npm i serialport
$ touch measurer.js
$ vim measurer.js # ファイル編集

編集するファイルの中身は以下のようになります。標準出力 (stdout) している部分は直接ファイルに書き出してしまう形式に書き換えてしまっても構いません。

const SerialPort = require('serialport');
const Readline = require('@serialport/parser-readline');
const port = new SerialPort('/dev/ttyACM0', {baudRate: 9600,});
const parser = port.pipe(new Readline());

parser.on('data', line => console.log(`${line}`));

また、上の3行目で /dev/ttyACM0 と決め打ちしているところがありますが、これはシリアルポートなので、お使いの環境ではこのまま実行できない可能性があります。

以下の方法で MCU が使用しているシリアルポートを特定して、該当部分を必要に応じて書き換えてください。

Linux

$ ls /dev/tty*

ターミナルから上のコマンドを打つと ttyUSB もしくは ttyACM で始まるシリアルポートが見つかります

Mac

$ ls /dev/tty*

ターミナルから上のコマンドを打つと tty.usbmodem もしくは tty.usbserial で始まるシリアルポートが見つかります

Windows
デバイスマネージャーを立ち上げて ポート(COMとLPT という項目をクリックすると表示されます

準備ができましたら、USB ポートに MCU を接続した状態でプログラムを実行してください。

$ node measurer.js > log.txt 

計測

この状態のまま、センサモジュールと太陽光パネルを接続すると計測が始まります。

私が購入した太陽光パネルの出力は 2.1mm DC プラグになっていましたので、それに合うアリゲータクリップスを用意しました。

このアリゲータクリップスを介してセンサモジュールと太陽光パネルを接続します。


uxcell DCパワージャックアダプター 2.1mm x 5.5 mm

そしてセンサモジュールから得られた出力を MCU 内でボルトとアンペアに変換して USB ケーブルを通して PC に出力します。

出力された数値を PC で受け取ってテキストファイルに記録していきます。

うまく行けば log.txt というファイルの中にボルトとアンペアの数値が並んでいくはずです。

プログラム上は止めないと無限にループするようになっているので、計測を終えるときに停止させてください。

これで実際に出力された数値が出せればよかったのですが、いつまで経っても晴天にならないうちに某国に出張して、また自宅に帰れない生活が始まってしまったので、一度、ここで区切ります。