Raspberry Pi Pico WをPlatformIOでLチカ

プログラミング

ガジェット

今回の目的はRaspberry Pi Pico Wをサクサク使うためにPlatforIOで開発できる環境を作ります。


まずRaspberry Pi Pico Wとは

Raspberry Pi Pico Wとは、Raspberry Pi財団が開発したOSを搭載しないマイコンのRaspberry Pi PicoにWifiとBluetooth機能が付いたマイコンです。

機能は

  • 2 MBフラッシュメモリおよびRP2040マイコンを搭載
  • シングルバンドの2.4 GHz無線LANインターフェース搭載(802.11n)
  • 26本の多機能3.3 V GPIO
  • 23本のGPIOピンはデジタル専用、残り3本はADC搭載ピン
  • 2 x UART、2 x I2C、2 x SPI、16 x PWMチャンネル
  • 1 x 四つのアラーム機能を備えたタイマー、1 x RTC

などなど 詳しくはhttps://www.switch-science.com/products/8171を参照


これが1300円くらいで買えます。

早速これを使おうと思いましたが、いろいろと手間がかかったのでやったことを書いていきます。


自分は最近まではArduinoIDEを使用してましたが、書き込みのたびにコンパイルしなおしたり、サジェストが使えなかったりとイライラがたまってきたので別の開発環境を探し始めました。

そこで見つけたのがPlatforIOです。


PlatforIOとは

みんなおなじみのVScodeで様々なマイコン開発ができる拡張プラグインです。

これを使えばVScodeの機能を使ってストレスフリーな開発が可能になります。そしてコンパイルも書き込みも爆速になります。

ということで早速インストールしましょう

インストール方法は拡張機能でPlatformIOを検索して上にくる蜂の顔のものをインストールするだけ。

インストール後にVScodeを再起動すればGitの下に蜂のマークができているはずです。


これでもうArduinoの開発なら可能になりました。(やり方は調べて)

けれどラズパイの開発にはもうひと手間必要になります。

具体的にやることは4つ

  1. ラズパイピコWのファームウェアのアップデート
  2. Gitのインストールと長いパスの許可
  3. 開発プロジェクトの作成
  4. COMとして認識させる


一つ目

まず最新のファームウェアをhttps://rpf.io/pico-w-firmwareからダウンロードします。


次にラズパイピコWのBOOTSELボタンを押したままパソコンに接続します。

するとRPI-RP2というファイルが開くはずなので、そこにダウンロードしたファームをドラッグアンドドロップします。

すると自動でファイルを閉じてセットアップが完了すると再びファイルが開きます。これでファームウェアのアップデータが完了です。


二つ目

ここからGitをダウンロードして、後は適当にはいを押していけばインストール完了です。

インストール後にGit Bashを「管理者として実行」して





git config --system core.longpaths true

と書いてエンターを押せば設定は完了です。

もしWindows Proなどを使用している場合は、windowsの検索にgpedit.mscと入力

検索結果に出なければ無視していいです。

出た場合は、ローカルコンピュータポリシー→コンピュータの構成→管理用テンプレート→システム→ファイルシステム

その中にある「win32の長いパスを有効にする」をダブルクリック→有効を選択


ここまで出来たら一度パソコンを再起動します。


3つ目

VScodeにC/C++とPlatformIOの拡張機能をインストール

インストールが完了したらVScodeを再起動して蜂のマークをクリック

するとPIO HOMEが起動するのでそこからNEW Projectを選択。

名前は適当に決めてください。

Board: はRaspberru Pi Picoに

フレームワークはArduinoのままにします。

また、保存場所を決めたい場合はUse default locationのチェックボックスを外してファイルを選択してください。

そしたらFinishを押してしばらく待てば完了です。


これでプロジェクトが作成できました。

ここからはプログラムです。まずmainというファイル内にプログラムを書き、platformio.iniというファイル内にはコンパイルにかかわる情報を書きます。

platformio.iniに




[env:rpipicow]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = rpipicow
framework = arduino
board_build.core = earlephilhower
upload_protocol = picotool

と書き、

main.cppには

#include <Arduino.h>

// put function declarations here:
// #include <Arduino.h>
void setup() {  // 初期設定
  pinMode(LED_BUILTIN, OUTPUT);     // LED端子を出力に設定
}
void loop() {   // メイン処理(繰り返し)
  digitalWrite(LED_BUILTIN, HIGH);  // LEDを点灯
  delay(500);                       // 0.5秒待つ
  digitalWrite(LED_BUILTIN, LOW);   // LEDを消灯
  delay(500);                       // 0.5秒待つ
}

と書いてください。

書き終えたら

このチェックマークを押してコンパイルしてください。

おそらく最初のコンパイル時にはだいぶ時間が掛ります。


コンパイルが完了したら次の段階です。


5つ目

再びラズパイピコWのBOOTSELボタンを押したままパソコンに繋げたのちにチェックマークの隣の矢印を押すと書き込みがされるはずですが、おそらくUploadエラーが発生すると思います。

デバイスマネージャーで見てみるとRPI-RP2に注意マークが出ています。

これをCOMポートとして認識させるためにUSBドライバをインストールします。

自分はZadigを使用しました。

インストールして起動させたら、RP2BootからWinUSBへのドライバーをインストールします。


これが完了すれば、書き込みができるようになります。

これで緑色のランプがチカチカするはずです。




Discussion

コメントはまだありません。

ログインするとコメントできます!

新着記事

eyecatch of pipicow_platformio

Raspberry Pi Pico WをPlatformIOでLチカ

by かいと

eyecatch of tocbot

【Tocbot】Next.js+MicroCMSのブログ記事に目次を作る方法が簡単すぎた話

by Yoshi_Zen

eyecatch of dev_pixel_tab

大学生向け Pixel Tablet の使用感

by アンティキラのポンコツ

eyecatch of civil_test

国家公務員総合職試験受験のすすめ

by アンティキラのポンコツ

eyecatch of Civil_Engineering_Soil_mec_4

[土質力学]地盤沈下の区別とその計算

by アンティキラのポンコツ

eyecatch of cpp1

【C++】#0:はじめに

by Yoshi_Zen

すべての記事を見る