3次元加速度センサー・温湿度センサー・NEOPIXELテープで色々

11/8,9に開催されたSTEAM EXPO YOKOHAMA 2025というイベントの産業教育フェアというパートに出展されたCQ出版社にボランティアでの参加を持ちかけられたので参加される神奈川県内の高校生や見学に来られる小中学生にモノづくりのきっかけになればと作例や電子工作への招待のようなプレゼンを書いていたのだが、その過程でWokwiという魅力的なサービスを見つけたので解説動画プレゼンはそのYoutubeを見せることで対応した。

明らかに面白そうなものを見せることで不思議な世界に引き込めるという処が違うようだ。当初はキラキラとした光り物を用意すれば良かろうと思っていた安易な考えで100均で買える角材(450x35x10)にArduinoNanoや三次元の加速度センサーとモバイルバッテリーを握り部分に搭載して幅の細い面に一次元に並んだ48PIXELのシリアルマルチカラーLEDテープを取り付けた。XYZのセンサーデータをプラスマイナスの方向に点が動くことをRGBで示すことで分かりやすさが伝わるのではと考えての労作だった。ちなみにゼロ点にある時は輝度をそこだけ上げるようにしている。少し後を引くような形で表示位置が加速度変化で流れていくようにしていた。

しかし重力の不思議や加速度の不思議を棒を振ったりしても中々関心を引いてはくれない。

温湿度センサを取り付けてカラーコードで表示をしても抵抗のカラーコードを理解されている方には面白いと映っても一般の方にはそこから紐解くというところにはつながらない。

加速度センサーの垂直方向出力を微分検知して方向転換のタイミングで空間に残像表示させることで文字を出そうということまでは用意をすることにした。48ピクセルのLEDを用いると5×7のフォントにしたら8文字4行くらいは出来るのではないかと考えた。
5×7のフォントを拾うことから始めたのは少し今の時代では古いアプローチだったがセミナーで利
用している液晶仕様書から拾った公知のものとして実装した。ArduinoUNO/Nanoでは32kB/2kBのROM/RAMサイズとなっていて厳しいことも分かった。結果として8文字3行にして文字表示が可能になった。
表示の仕組みに疑問を持たれた学生には、加速度センサーを用いていること、加速度を計測して振り下ろし、振り上げの2点を変化から検知して表示スタートしていることを説明した。方向が異なるので中に書いてある黒板を上からと下からを読み替えながら出しているよと説明すると納得されて腑に落ちたようだ。

 

 

レシプロカル方式で低い周波数を精度高く計測する

組込みの里を始めてから、長く扱ってきたサークル時計というキットがある。定番の円筒型水晶(32kHz)でRTC 1302を駆動して沢山のLEDを秒針として装着するものだ。華やかな表示で温度表示もあり実用的なのだが、この時計用の水晶の精度が低いので時刻合わせをする必要が生じるのが残念なものである。

対策としては電波時計のユニットやネット同期の方法などがあるのだが、ここでは高精度の発振子を搭載した子基板を作りこちらもオプションとして提供している。下の写真の左側の基板がそれでDS32KHZというトリミングされた高精度の水晶発振子を内蔵した発振ICとなつていて、時計のRTCを付け替えて装着する形にしている。

この発振子自体は2ppmの精度を持っているということなのだが生憎と手持ちの周波数カウンタでは、精度もなければ32kHzという低い周波数では高精度の測定も出来ないのである。

下の写真は、マイコンで構成した高精度に32kHzを測定する試験治具である。こちらはSTM32マイコンを使って外部に高精度のTCXO(0.1ppm)を搭載して精度の高いカウントパルスを計測対象の信号でゲートタイムを作りパルスカウントして周期計測をして逆算して周波数を小数点以下二けた程度まで測定することで確認している。

試験には対象基板にあるDS1302の2番ピンにこの治具の計測信号端子からのジャンバー接続をしている。

計測結果はUSB接続されたパソコンにシリアルで表示している。