2025年1月27日

020-1.SPIKEセンサー自作入門-第5回「パソコンなしでラズパイを動かす方法」

この連載では「レゴ エデュケーションSPIKEプライム(以下、SPIKE)」で動作するセンサーの作り方を紹介します。センサーを自作して、市販のセンサーにはできないような面白い使い方を考えてみましょう。センサーを作るには電子工作のスキルが必要となります。様々な危険がともないますので、充分に注意して行いましょう。なお、以下の内容によって生じた損害については保障できかねますのでご了承ください。
SPIKEアプリおよびハブOSは、SPIKE App Legacyを利用しています。SPIKE App3での動作は未確認となりますのでご了承ください。(文/松原拓也)

◆ VSYS端子を使う

前回に引き続き、「DIY Distance Sensor」の作り方を紹介していきます。前回の時点では、写真のようにRaspberry Pi Pico(ラズパイ)がパソコンと接続されていました。このままでは使い勝手が良くありませんので、パソコンなしでも動くようにします。この写真の丸の部分を取り除くわけです。

パソコンなしでラズパイを動かすには、ラージハブ(ハブ)から電源を供給するように変更します。
そして、今まではMicroPythonのプログラムをパソコン内に保存していましたが、次からはラズパイ内に保存するように変更します。

ラズベリーパイ財団が公開している「Hardware Design with RP2040」という資料の「Chapter 3. The VGA, SD Card & Audio Demo board for Raspberry Pi Pico」という章の中で、電源を供給する方法が書かれています。これによると、「VSYS」端子から電源を入力すると、1.8~5.5Vの電圧でラズパイを動かすことができます。DC/DCコンバータという機能によって、内部の電圧が3.3Vに調節されます。 SPIKEのハブのポートからは約3Vを出力していますので、これを使ってラズパイを動かすことにします。

回路図です。
VSYS端子には1つ注意点があります。ラズパイをパソコンのUSBポートに接続したままの場合、パソコンから供給される5VがVSYS端子から逆流してしまいます。逆流した場合、電流が流れすぎて、パソコンやハブの回路が壊れるという危険性があります。
この事故を防ぐため、「ショットキーダイオード」を使います。「ショットキーダイオード」は「ショットキーバリアダイオード」とも呼ばれています。ショットキーダイオードは通常のダイオードに比べて、降下電圧が低いという特徴があります。少ない電圧で動かしたい場合には、ショットキーダイオードを使ったほうが有利というわけです。

ショットキーダイオードは決まった方向にだけ電気を通すという部品です。この機能を使って逆流を防ぎます。
. ショットキーダイオードには整流用、小信号用などがあり、使用可能な電圧と電流が違います。「Hardware Design with RP2040」によると、ラズパイには最大1Aに耐えられるような「整流用」ショットキーダイオードが推奨されています。ちなみに「A」は「アンペア」と読みます。アンペアは電流の大きさを示す単位です。
筆者が用意したのは「小信号用」なので、200mAくらいまでしか耐えられません。ただし、今回の回路は40mA程度の電流しか流さないので、問題なしと判断して使っています。

ショットキーダイオードを取り付けると、こうなります。

◆ ラズパイにプログラムを書き込み

ラズパイにプログラムを書き込みます。ラズパイをパソコンに接続して、「Thonny」を立ち上げて、「diydistsensor.py」を開きます。
(1)「ファイル」→「Save as...」をメニュー選択。
(2)ファイルの保存先は「Raspberry Pi Pico」を選択。
(3)ファイル名を「main.py」として保存する。ファイル名をmain.pyとすると、起動した時に自動的に実行されます。

プログラムが正しく書き込まれたかを確認するには、もう一度、メニューから「ファイル」→「Save as...」を選択します。表示されたダイアログの中に「main.py」の文字があれば成功です。

それでは動作を確認してみましょう。ラズパイをハブと接続します。
「きょりセンサー」の値をライトマトリクスに表示するプログラムを実行してみました。正常に動作しています。これで見事、パソコンなしでラズパイを動かすことができるようになりました。
現時点ではセンサーはダミーの値を返していますが、次回はダミーではなく、本当にセンサーとして使えるようにしてみたいと思います。

当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。