こんにちは! けい(Twitter)です。
今回は、Raspberry Pi Pico(ラズピコ)を電池駆動で動作させる方法について紹介していきたいと思います。
目次
ラズピコのデータシートを読む
データシート
では早速、ラズピコに一体何Vの電圧を入力すればいいのかをデータシートから見てみましょう。
データシートのP19に「Powering Pico」という項目があります。
ここに、
USB ポートを使用しない場合は,VSYS をお好みの電源(1.8V〜5.5V)に接続して Pico に電源を供給するのが安全です。
と書いてあります。
つまり、最小1.8V最大5.5Vの電圧のものを外部電源として使用することができます。
また、1.8V~5.5Vの電源を入力すれば、内部回路で3.3Vを維持できるようです。
乾電池の個数
必要な電圧が分かったところで、乾電池何個分なら動作するかを考えていきましょう。
一般的な電子工作で使われる電池は、単三電池です。
単三電池は一個が1.5Vなので、直列繋ぎにすると2個で3.0V、3個で4.5V、4個で6.0Vです。
つまり、単三電池の個数は2個か3個がラズピコへの電源として使えることが分かります。
実験準備
それでは、単三電池2個と3個で動作するのかを実験してみましょう。
用意した物
ラズピコ
単三電池
今回は家にあったPanasonicのEVOLTAを使用します。
電池の電圧を測定しました。
電池3個で4.8Vなので、1個で約1.6Vでした。
電池ボックス
ブレッドボード
サンプルプログラム
2つのプログラムを動作させたいと思います。
- Lチカできるかどうか
- I2C通信ができるかどうか
この2つが出来れば外部電源として使用しても問題ないと判断します。
また、その際の電圧もデジタルマルチメータで測っていきたいと思います。
また、プログラムを自動起動させる必要があるため、「main.py」という名前で保存してください。
①Lチカ
ラズピコの基板上のLEDを光らせるプログラムです。
詳細は以前の記事を参照してください。
import machine
import utime
led_onboard = machine.Pin(25, machine.Pin.OUT)
while True:
led_onboard.value(1)
utime.sleep(2)
led_onboard.value(0)
utime.sleep(2)
②I2C接続のOLEDディスプレイ
I2C接続のOLEDディスプレイを表示できるかを試します。
このプログラムを実行するためにはライブラリのインストールなどが必要です。
詳細は以前の記事を参照してください。
import machine
import ssd1306
import time
sda = machine.Pin(0)
scl = machine.Pin(1)
i2c = machine.I2C(0,sda=sda, scl=scl, freq=400000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
oled.text("Hello everyone", 0, 5)
oled.show()
time.sleep(2)
oled.text("Welcome to my", 0, 15)
oled.text("blog", 10, 25)
oled.show()
time.sleep(2)
oled.text("Thank You", 0, 35)
oled.show()
実験
2つのプログラムについて、それぞれ電池2個と3個の場合の、全4通りの実験を行います。
①:Lチカ
乾電池2個 (約3V)
動作okでした。
乾電池3個 (約4.5V)
動作okでした。
②:I2C通信
乾電池2個 (約3V)
動作okでした。
乾電池3個 (約4.5V)
動作okでした。
電圧レベル
ラズピコのPin36の3V3OUTピンの電圧レベルを測定しました。
乾電池が2個と3個のとき、どちらの場合でも同じ3.3Vが出力されていることが確認できました。
最後に
今回は、ラズピコを乾電池2個と3個での動作実験を行いました。
結果はどちらの場合でも特に問題なく動作しました。
また、動作電圧が3.3Vで一定に保たれていることも確認できました。
実際に外でラズピコを使う場合などの参考になればと思います。
では!