Google-code-prettifyを導入してソースコードをきれいに表示できるようになった。せっかくなのでソースコードを掲載できるような内容ということで、数年ぶりにRaspberry Pi Picoを使ってオンボードのLED点滅と温度計数値取得を試してみた。
- Raspberry Pi Pico
- https://www.raspberrypi.com/products/raspberry-pi-pico/
- Raspberry Pi財団が開発したマイコンボード。3D Printer / OctoPiで使っているRaspberry Pi 3Bとは似て非なるもの。USBからしか通信ができない(Wifi付きなPico Wが発売されている)が、ADコンバータが内蔵されているなどI/Oは充実。
- UF2ファイル
- PicoでMicroPythonを動作させるためのファームウェア
- Raspberry Pi公式サイトのMicroPythonのページから、UF2ファイルをダウンロード
- PicoをBOOTSELモードで起動(Windows上ではUSBメモリとして認識される)
- ボード上の”BOOTSEL”ボタンを押しながらUSBケーブルをPCに挿す
- エクスプローラからダウンロードしたUF2ファイルをPicoへドロップ
- UF2ファイルを入れた瞬間にPicoは勝手に再起動して、MicroPython使用の準備完了となる。
- Thonnyインストール
- https://thonny.org
- Pythonの統合開発環境。PicoをUSBでWindows PCとつないだ状態で、Thonnyのソフトウェアからそのままコードを走らせることが可能。Picoのチュートリアルにはたいてい登場する。
- ThonnyのOption > Interpreterの設定から、PicoとUSBデバイスを選ぶ
- Interpreter: MicroPython (Raspberry Pi Pico)
- Port: USB シリアルデバイス
プログラムを走らせる(LED点滅)
- Picoはボード上にLEDがあるため、外に回路を何も繋がなくてもLチカまでは試すことができる。
- LEDはGPIO25につながっているので、GPIO25の出力をON/OFFすれば点滅する
オンボードのLEDはBOOTSELボタンの隣 |
- ひとまず参考サイトにあったタイマーを使ってON/OFFさせるコードを実行。
- Thonnyを使う場合、画面上の緑色の(Run current script)ボタンから直接実行可能。
- Pico単体で実行させる場合は、コードをmain.pyという名前でPicoに保存して再起動すると実行される
プログラムを走らせる(LEDーPWMで明るさ調整)
- GPIO25の出力をON/OFFするだけでなく、出力の値をPWM(周波数100Hz)を用いて調整。
- random(0~1.0)を使って乱数を発生させて、明るさをsleep時間毎に変動させる。
プログラムを走らせる(オンボード温度計の数値取得)
- Picoには最初からついている温度計の値を読み取る
- 温度計はADC4番
- PicoのADCレンジは3.3V = 65535
- 温度計は、27℃ = 0.706V、変化率は-1.721mV/℃
- 実行すると、Thonny上で読み取った温度をが表示される。
短時間である程度使い方は思い出すことが出来たので、今後は以前Raspberry Piにつないで遊んでいたLED MatrixやSG90とかを繋いで試していきたい。
参考にしたサイト
- Raspberry Pi Pico公式
- marutsu
- 初めの一歩!ラズパイPicoマイコン×PythonでLチカ入門
- https://www.marutsu.co.jp/pc/static/large_order/zep/m-z-picoled-da1
- Github: pico-micropython-examples