(記事中に、参考書籍へのPRリンクを含みます)
ラスピコ(Rust x Pico)とは、Rust言語でRaspberry Pi Picoを制御する電子工作のことを指します。U-知能デバイス研究所ではラスピコロボット開発プロジェクトを進めており、それに関連して様々な情報ソースやクレートを作成しています。
ここでは、ラスピコに取り組む際に便利な、U-知能デバイス研究所のリソースをまとめています。
書籍
Rust×Raspberry Pi Picoで本気の組み込み開発 IMUで姿勢情報を取得しよう!
Rust×Raspberry Pi Picoで本気の組み込み開発 IMUで姿勢情報を取得しよう!は、ラスピコでBNO055という慣性計測装置(IMU)から姿勢情報を読み取ることをテーマとした書籍です。それに必要となる手順を一通り扱い、
- 第1章で、ラスピコ開発のテンプレート・Lチカ
- 第2章で、シリアル通信を用いて文字列や数値を出力する方法
- 第3章で、BNO055モジュールの取り扱い方・Raspberry Pi Picoの外部フラッシュメモリに情報を保存する方法
を、それぞれ解説します。
記事
Rust x Raspberry Pi Picoで電子工作―実装例集
ラスピコの実装例集です。rp_halクレートが大幅改定される前の記事なので、情報が古くなっている箇所があります(現在、更新作業を進めています)。

Rust x Raspberry Pi Pico で超音波測距
ラスピコで超音波測距センサを使用する実装例です。rp_halクレートが大幅改定される前の記事なので、情報が古くなっている箇所があります(現在、更新作業を進めています)。

クレート
rp_pico_template
ラスピコ開発のためのテンプレート。最低限必要なクレートやメモリ配置の設定を行い、プロジェクト名を書き換えるだけで開発を始められます。
serial_write
ラスピコに限らず、シリアル出力を容易にするためのクレートです。文字列はもちろん、浮動小数点数を含む数値の出力が可能です。また、浮動小数点数の指数形式や配列としての表示にも対応しています。
rp2040_wait
Raspberry Pi Pico (RP2040)において、時間が不正確なDelay
の代わりに、Timer
を用いた正確な待ち時間を実現するためのクレートです。その他、特定区間の実行時間を一定にするgate
関数も利用可能で、制御プログラムの周期 \(\Delta t\) を一定にするために便利です。
oscillo_serial
シリアル通信の内容をそのまま表示したり、グラフとしてプロットするプログラムです。出力をCSVに保存する機能も備えています。
もっと知りたいこと、感想を教えてください!