日々の開発の途中、息抜きで多肉植物のための自動照明植木鉢を作っている。単体で卓上栽培できる全自動化が目標だ。多肉植物は、季節によって必要な日照量がかなり変化する。日本の多湿な気候ではかなりデリケートなものが多い。日照が少なければ徒長してしまうし、水の量を間違えても腐ってしまう。水はスケジュールに従い、むしろ水やりしすぎないようにすればいいけれど、日照管理は窓辺など場所が限られてしまう。そもそも観賞したいのに、窓辺に遠ざけるのも悲しい。5V給電)なども売っている。フレキシブルなLED灯を改造し、栽培灯の自作もしたけれど、手動で点灯管理する必要があり、一鉢しか育てられないため、株個体が増えてきた場合にその都度5V電源が必要になってしまう。電源の問題はレイアウトの自由度に直結する。システムのスケール問題を解決するには、初めから対応した設計が必要だ。一株程度を植えられる容器を3Dプリンタで出力。個々のパーツをジュラコンスペーサで積み上げる方式。ItsyBitsy専用拡張基板を流用。単体で栽培時の環境モニタやリソース管理のために必要な拡張に対応している。デイジーチェーン方式のバス式接続規格の研究用にこしらえたので、この基板も多数の同規格の基板を連結することができる。システムとしては一つの通信バスでシーケンスを可視化し、異常なボードは電気的に切り離し、プログラムバスで一か所の接続点から全基板を書き換えできる。ItsyBitsyボードにはもともとNeopixel駆動専用のポートが用意されていて、DMAで点灯制御ができる。スイッチも要らず、コントローラ一つでポットの数だけ照明をデイジーチェーンすることができる。スケーラブルなポットとして必要な要素だ。サンプルを実行した結果ゲーミングPCのように虹色に輝く多肉植物というサイケデリックなものが出現してしまった。単なる照明としてのコードに替える。16個のリングを輝度最大にすると500mAも引っ張る。ユニットが増えてくると、5V電源の容量、電源配線の許容値も検討しないといけない。半分以下の電流による輝度でも3cm先で5000ルクスを確保できた。徒長対策には十分な明るさがある。細かく調節できるので、時間に応じて色温度を変化させたり、輝度を調節して自然の日照を模擬するところまで実装してみたい。可視パスを撮り始めた。仰角が80°を超える好条件では、天頂付近でマイナス4等星近くまで明るくなる。人々の暮らしの頭上を人類の宇宙基地が音もなく渡っていく。第一宇宙速度で移動しているにもかかわらず、400kmも離れると見かけの移動速度は航空機に近い。https://www.heavens-above.com可視パスでフィルタをかけ、予報の中で仰角が50度を超える好条件な日を狙うと良い。三脚に設置したカメラでこの軌跡を撮るにはいくつか方法があるけれど、お手軽なコンポジット撮影を試みた。6.7-13mmを付けて待ち構える。この機種ではインターバルは最短で5秒、インターバルが遅延しない最大の露出時間は2.5秒となる。換算18mmだと地平線から天頂までを映せるので、到来方向の空にカメラを向け固定し、撮影してみた。撮影後は比較明合成をして完成。スターリーナイト)のみでの撮影。急いだためピント出しに失敗したが、明るい点光源が強調され、ソフトフィルターと同じ効果をもたらした。拡大しなければ問題ない1月21日プロソフトンAを入手したのでピントを出してから撮影。時刻的にはほぼ同一なのに、季節変化で空が明るくなっているのが分かる。2回のパスを比較すると以下のようになる(Orbitronを使い、当時の軌道元期で比較)。1月のパス軌跡がかなりまっすぐ。軌道の途中から赤い線になるのは、地球の影に入ったということ。この日は天頂通過後に日陰に突入した。直前、ISSの反射光が夕焼け色に赤く変わり、あっという間に消えていった。低軌道衛星の夕焼けは短い。合成した画像の個々の破線は、2.5秒間にISSが移動した距離も表している。軌道速度は秒速7.66kmだから、露光する間にISSは約19km移動している。眼で追う場合、地平線近くで識別するのは至難の業だ。都市部なので、仰角が40度を超え、輝度がマイナス等級に達するあたりから周囲の星よりも目立ちはじめて気が付きはじめる。1月のパスで破線を数えてみると、地平線近くは太陽光の名残りで明るく識別できないが、45個の破線を確認できた。天頂まで写したコンポジット画像には差し渡し1723kmの軌道が写っていることになる。この日も肉眼ではっきりと視認できたのは、ISSの仰角が金星を超え、距離が800kmを切ったあたりからだった。ISSの軌道高度変化(5年分)ここ5年間の軌道要素から高度変化を算出して見てみると、高度410km前後に維持されている。気が付いたら10年が経過していた。ATmega328Pはいまだに手軽さでは抜きんでている。動作周波数も100MHz超えが当たり前で、30mA程度しか消費しない。動作電圧範囲が広く、単純な8ビットMCUが不要になることはまだないだろうけど、クラシックなAVRマイコンは値上がりしており、価格競争力は無くなりつつある。コモディティ化により、公式ボードでは不可能な値付けの安価な互換ボードがたいていの需要を満たすようになってしまった。Everyそんな中、Arduino本家がリリースした新しいNanoボードの一つ。Rev2と同じくAtmega4809を採用していて、安価で5V単電源な8ビットのボードだ。Atmega4809はATmegaと名がついているが、アーキテクチャはXMEGAベースなので、クラシックAVRとのコード互換はない。https://blog.kemushicomputer.com/2018/08/megaavr0.htmlもちろん、ArduinoAPIのみで記述されたスケッチやライブラリは普通に動作するし、I/Oレジスタ操作についてはAPIでエミュレーションするコンパイルオプション(328Pモード)がある。megaAVR-0はプログラミング方式がUPDIになったため、プログラマ・USBCDCとしてATSAMD21が搭載されている(中央の四角いQFNパッケージ)。UPDIは外部に配線が引き出されていない。ATmega4809ボードとしてのピンマップを調べてみたのが下の図。)引き出してあるI/Oが少ないので気になっていたが、UARTについてはハードウェア的に4chを使うことができそうだ。公式のボード定義では互換性を優先し、2ポートしか使用していない。megaCoreX(https://github.com/MCUdude/MegaCoreX)を利用するのが良いだろう。Nanoと比べたメリットは以下のようになる。・シリアル通信は2ポート定義されている・ブートローダー形式ではないので、起動時に余計な処理が入らない・シリアル通信のボーレートは1Mbpsくらいまでは文字化けもせず送受信できる(※ただし、230k以上はCPUの処理が追い付かなくなり、だんだんバイト間に隙間が開きはじめる。4.3V)INTERNAL0V55INTERNAL1V1INTERNAL1V5INTERNAL2V5INTERNAL4V3・5V系のために降圧DCDCを搭載している。ボード設計で気になったのはアナログ入力兼I2Cのピンだ。Nanoの328Pの端子を再現しているらしい。ボード仕様の継承って大変だなぁ...低価格とはいえ、5V系の電源はかなり余裕がある設計となっている。VINには6V~21Vと幅広い電圧入力が可能になっていて、DCDCによる降圧方式が採用されているため、9V以上の電源から駆動してもレギュレータの発熱で動かないということが減る。VIN経由であれば、最大で1.2Aまで負荷を駆動できるようなので、サーボモーターなどを繋ぐ用途でも駆動には余裕があるだろう。