ラズパイPico
- 2021-02-05 初版 レビュー
- 2021-02-24 第2版 CPU、開発環境
- 2021-04-27 第3版 在庫情報
- 2022-06-30 第4版 Pico W
はじめに
- 2021年1月21日Raspberry Pi Picoを発表しました。
- 従来とは異なりマイコンです。
- なにが違うのかを紹介します。
- 筆者はArduinoやmbed,Nucleo、その他マイコンを利用した経験があります。
著作権と免責事項
- 記事は無保証です。
- 直接間接に関わらず、使用によって生じたいかなる損害も筆者は責任を負いません。
Pico W
- 2022-06-30 Pico W 発表
- infineon(旧サイプレス)のCYW43439を搭載し、802.11nを実現
- これに伴いSDKも更新
- 価格は驚異の$6
- 日本の技適(相互認証)を取得しているかは不明(また忘れている可能性あり)
在庫情報
比較
Raspberry Pi 4B | Raspberry Pi Pico |
コンピュータ | マイコン |
Single Board Computer | Micro Controller Board |
電子計算機 | 制御装置 |
$55 | $4 |
4 core 1.5GHz | 2 core 133MHz |
RAM 4GB | RAM 264kB |
OSあり | OSなし |
同時実行プログラム複数 | 同時実行プログラム1つ |
リアル応答性× | リアル応答性〇 |
消費電力大 | 消費電力小 |
コンピュータとマイコンの違い
- Raspberry Pi Picoはマイコンです。コンピュータではありません。
- コンピュータとマイコンにはそれぞれメリットとデメリットがあります。
- 単純にどちらが優れているではなく、用途に応じて使い分けます。
- 適材適所で使い分けます
- コンピュータはOSを搭載し、複雑な処理を同時に複数こなすことができます。
- OSはタイムシェアリング方式のため、リアルタイム性が低いです。割り込み処理があったりすると処理が遅れたりします。
- 瞬時に応答できなかったり、処理速度がばらついたりします。
- 一方でマイコンはOSを持たず、1つのプログラムしか実行しないので、リアルタイム性が高いです。
- 瞬時に起動し、応答します。処理速度のばらつきも小さいです。
- コンピュータは「計算」を主目的にしているのに対して、マイコンは「制御」を主目的にしています。
- 主眼が違います。
- コンピュータは計算を重視し、制御は二の次です。
- マイコンは制御を重視し、計算は二の次です。
- 小規模な制御はマイコンに任せ、そこから収集したデータをコンピュータで処理するといった具合です。
- マイコンの消費電力は小さいため、電池駆動で長時間使用可能です。
- 赤外線リモコンにマイコンが使われています。
- コンピュータほどの処理能力は必要ないけれど、ちょっとした制御をしたいときにマイコンが使われます。
- 大は小を兼ねますが、最適とは言えません。
特徴
- マイコンの後発ということもあり、いいとこどりをしたマイコンです。
- $4という他社を寄せ付けない価格->たとえ使いこなせなくても、壊しても痛くない出費。
- Arduino Nano(45mmx18mm)Arduino Micro(48mmx18mm)とほぼ同じサイズ(51mmx21mm)->DIPで物理的にピンを扱いやすい。表面実装では扱いにくい。
- mbedと同様のプログラム書き込み方式->OSからはUSBメモリにみえ、ファイルをコピーするだけ。専用のプログラム書き込み装置を必要としない。
- Raspberry Pi4を開発環境にしてしまうアイデア->開発環境が身近にある。専用の開発環境を購入しなくてよい。
- CやMicroPythonで開発->使い慣れたCやPythonで開発でき言語習得の必要がない。
CPU
- Raspberry Pi PicoはRP2040というチップを搭載しています。
- ARM Cortex-M0+をベースとしたCPUです。
- デフォルトで125MHzで動作し、マイコンとしては十分すぎるくらい速いです。
- 最高は133MHzですが標準125MHzです。確認済みです。システム・クロックの設定で変更します。
- CPUに浮動小数点演算機能がありませんが、ライブラリとして供給されます。ハードではなくソフトで解決します。
- 2 coreを搭載しており、プログラムすれば2スレッドを同時実行できます。
プログラム書き込み
- マイクロUSBケーブルが必要です。
- BOOTSELボタンを押しながらUSB接続するとOSからUSBメモリ(USB Mass Storage Device)として見えます。
- Desktopを起動していれば、自動的に/media/pi/RPI-RP2 にマウントします。USBメモリの容量は128MBです。
- OS上からプログラム・ファイル(拡張子uf2)をコピーするだけです。
- プログラム・ファイルが書き込まれるとフラッシュ(2MB、マイコン側のメモリ)にファイルの内容を転送します。
- そして自動的にアンマウントし、プログラムを実行します。
- プログラムを上書きしないかぎり、以前のプログラムはフラッシュに保存されます。そのため電源を切ってもプログラムは消滅しません。
- プログラムの実行はBOOTSELボタンを押さずにUSB接続します(電源供給)。
- (1)書き込みモード=BOOTSELボタンを押しながら電源
- (2)実行モード=BOOTSELボタンを押さずに電源
開発環境
- Picoの開発環境を最小限ダウンロードし、インストールしました。
- ダウンロード容量としては175MBで展開後の容量は1.7GBでした。
- 他のマイコン開発環境に比べたら軽いです。
- 普段必要としないデバッグツールOpenOCDやVisual Studio Codeをインストールしません。
- シェルスクリプトにbugがあるので事前回避します。
- $ sudo apt install -y libusb-1.0-0-dev
- $ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
- $ chmod +x pico_setup.sh
- $ SKIP_OPENOCD=1 SKIP_VSCODE=1 ./pico_setup.sh
注意事項
- ブレッドボードで使用するためには連結ピン(20pin)2個必要です。あるいはピンヘッダー(20pin)2個。
- 600milの幅ではないため、ICソケットタイプの連結ピンは使用できません。
- ピンの太い側をはんだ付けします。
©2021 All rights reserved by Y.Onodera.