このエラーの時の変数の値が知りたいな~
プログラムがうまく動かないのか?
Raspberry Pi Pico Wでもデバック機能が使えると
いいのだが。。。
Raspberry Pi Pico / Wのデバッグができるぞ!
デバッグとは、プログラムした、ソースコード(スケッチ)のエラーや、バグ(意図しない動きなど)を見つけて、修正することです。
この記事紹介する、デバッグ機能は、プログラムを実行した際に、ソースコード(スケッチ)内の指定した行にあるプログラムで実行を止め、その時点の変数などの値を調べたり、停止したプログラムの次の処理を順々に実行(ステップ実行)させることができる機能のことを示します。
この機能があると、プログラムの各ステップにおける状態を確認できるため、デバッグ作業が非常にやりやすくなります。
正確なタイマ機能を搭載しています。ディスプレイ等がないため、消費電力を抑えた構成をとることができます。いろいろ遊べますよ~
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
ピンヘッダを自分ではんだ付けするもの
正確なタイマ機能やWifi/Bluetoothを搭載しています。ディスプレイ等がないため、消費電力を抑えた構成をとることができます。いろいろ遊べますよ~
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
Arduino IDE でRaspberry Pi Pico/Wをデバッグするには
まず、今回の記事の目標を確認しましょう。
次のような仕組みを作ることが目標です。
図でもわかるように、Picoprobe用の「Raspberry Pi Pico」を一つ用意します。
Raspberry Pi Picoは、安価で手に入るので、おすすめです。
正確なタイマ機能、温度センサーなどを備えたモデルです。ディスプレイ等がないため、消費電力を抑えた構成をとることができます。いろいろ遊べますよ~
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
- Raspberry Pi Picoに「Picoprobe」を構成する
- プログラム実行用のRaspberry Pi Pico/WをArduino IDE で書き込めるようにする
- プログラム実行用のRaspberry Pi Pico/Wと「Picoprobe」を結線する
- Arduino IDE 2.1.0のデバッグ環境を整える
- 「Picoprobe」経由でプログラムを書き込む
- デバッグ機能を使う
Raspberry Pi Picoに「Picoprobe」を構成する
Raspberry Pi Picoに、「Picoprobe」を構成します。
所要時間:10分程度
左のRaspberry Pi 公式サイトにアクセスします。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
「Debugging using another Raspberry Pi Pico」
「Download the UF2 file」のリンクを
クリックします。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
ダウンロードされる「picoprobe.uf2」を
コピーします。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
Raspberry Pi Pico の「BootSel」ボタン
を押します。
※ボタンは押したまま
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
Raspberry Pi Pico をパソコンにUSBで
接続します。
※ボタンは押したまま
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
Raspberry Pi Pico がパソコンに
USBドライブとして認識されます。
※ボタンを離す
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
コピーした「picoprobe.uf2」を
Raspberry Pi Picoのドライブへ
ペーストします。
※読み込まれるとUSBドライブの
認識が外されます。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
Windowsのデバイスマネージャを開きます。
「ユニバーサルシリアルバスデバイス」に
「Picoprobe CMSIS-DAP v2」として認識されます。※「libusb-win32」デバイスとして認識される
可能性があります。
その場合は「補足」にあるツールを使って、
「WinUSB(v6.1.7600.xx)」に
ドライバを変更します。
補足
Iibusb-win32」デバイスとして認識されている場合、次のツールを使ってドライバを変更します。
ツールは、インターネットで検索してダウンロードしてください。
ツール:zadig-2.8.exe(2023年6月時点)
変更内容
・[Options]から、[List All Devices]を選択します
・対象のインターフェイスを選択します
・Driverを「WinUSB」に変更します
・ Replace Driverボタンを押します
プログラム実行用のRaspberry Pi Pico/WをArduino IDE で書き込めるようにする
すけろく ついに、国内でもRaspberry Pi Pico Wを手に入れたぞ! げんろく Wi-Fiモジュールがついているので、 国内の技適取得が必要だったからな。 すけろ[…]
すけろく うぬぬ。 げんろく どうした? 何かあったのか? すけろく Raspberry Pi Pico W にArduinoから プログラムが書き込めないのだ・・・ […]
プログラム実行用のRaspberry Pi Pico/Wと「Picoprobe」を結線する
Raspberry Pi Pico Wにピンヘッダをはんだ付けする
「Raspberry Pi Pico W」には、ピンヘッダをつけるための穴(ランド)がついています。
ピンヘッダをつけることで、ブレッドボードや、ディスプレイのシールドなどと接続することができます。
ピンヘッダとは次のようなものです。
入手元:秋月電子
型番:PH-1x40S
片方のピンが長いものになります。
40ピンありますので、8ピン分を切って使うなどできます。
秋月電子さんの通販サイトURLはこちらです。
電子工作という言葉を聞くとまず思い浮かぶのは、中学校の技術家庭の授業でやったはんだ付け。 最近の学校は実習とかやっているのかなとふと思います。 子供の頃は何となく作業していたので、今思うと「よく部品壊さなかったな・・・」と思いま[…]
Raspberry Pi Picoのはんだ付け部分
Raspberry Pi Picoのはんだ付け部分は、次の通りになります。
周囲GPIOと今回デバッグに使うGPIOは上下逆に、ピンヘッダをはんだ付けします。
はんだ付けした結果は次のようになります。
デバッグに使うピンヘッダだけ、上向きにはんだ付けしています。
Raspberry Pi Pico Wのはんだ付け部分
Raspberry Pi Pico W のはんだ付け部分は、次の通りになります。
周囲GPIOと今回デバッグに使うGPIOは上下逆に、ピンヘッダをはんだ付けします。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
ブレッドボードを使って結線する
はんだ付けが終わったら、ブレッドボード上で、プログラム実行用のRaspberry Pi Pico/Wと、「Picoprobe」を結線します。
結線内容は次の通りです。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
左右にVinとGNDがあり、中心部分に回路を構成して使います。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
ブレッドボード上で使用する際にはこちらが便利です。
持っておくと便利です。
いろんな長さのものがセットになり、保管用のボックスもついています。
Arduino IDE 2.1.0のデバッグ環境を整える
前提条件
この手順は、Arduino IDEにボードマネージャとして「Raspberry Pi Pico/RP2040」がインストールされていることが必要です。
使用する情報 | 設定値 |
ボードマネージャURL | https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json |
ボードマネージャ名 | Raspberry Pi Pico/RP2040 |
ボードマネージャの追加手順については、次の記事をご覧ください。
ボードマネージャのインストール手順については、次の記事を参考にしてください!
今回は、「Arduino IDE 2.0」の「ボードマネージャ」と書き込み先のボードの指定について記載します。 Arduino IDEは、Arduinoに対応した各種ボード(Arduino uno、M5Stack、M5Stic[…]
所要時間:10分程度
Windowsのエクスプローラから、以下のフォルダにアクセスします。
C:\Users\{ユーザー名}\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\{Arduino-picoのバージョン}\lib
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
「picoprobe.tcl」をメモ帳で開きます。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
「picoprobe.tcl」をメモ帳で開きます。
次のとおり変更し保存します。
【変更前】
source [find interface/picoprobe.cfg] 【変更後】
source [find interface/cmsis-dap.cfg]
Windowsのエクスプローラから、以下のフォルダにアクセスします。
C:\Users\{ユーザー名}\AppData\Local\Arduino15\packages\rp2040\tools\pqt-openocd\1.5.0-b-c7bab52\share\openocd\scripts\interface
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
「cmsis-dap.cfg」をメモ帳で開きます。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
「picoprobe.tcl」をメモ帳で開きます。
次の内容を追加し保存します。
【変更前】
transport select swd
adapter_khz 500
「Picoprobe」経由でプログラムを書き込む
いよいよ、プログラムの書き込みを「Picoprobe」経由で行います。
所要時間:10分程度
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
パソコンと、「Picoprobe」を接続します。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
Arduino IDEを起動します。
[ツール]-[ボード]から、下記を選択します。
[Raspberry Pi Pico/RP2040] – [Raspberry Pi Pico W]
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
3
[ツール]-[ボード]から、下記を選択します。
[Upload Method]から[Pocoplobe (CMSIS-DAP)]を
選択します。
void setup() { // put your setup code here, to run once: Serial.begin(); Serial.println("Picoprobe Test"); } void loop() { // put your main code here, to run repeatedly: Serial.println("Picoprobe Test loop"); }
新規にスケッチを開き、左のようなプログラムを
入力します。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
[スケッチ]-[書き込み]を選択して書き込みます。
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
書き込みが終わるまでしばらく待ちます。
デバッグ機能を使う
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
編集後記
いかがだったでしょうか。
Raspberry Pi Pico/Wで開発する際に、便利なデバッグ機能をArduino IDEで使うことができました。
これで、効率的なプログラム開発ができますね!
Raspberry Pi Picoは、非常に安価な開発ボードなので、「Picoprobe」を手軽に手に入れることができます!
以下のリンクからRaspberry Pi PicoやRaspberry Pi Pico Wを、ぜひ手に入れてくださいね~
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
正確なタイマ機能、温度センサーなどを備えたモデルです。ディスプレイ等がないため、消費電力を抑えた構成をとることができます。いろいろ遊べますよ~
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
![](https://karakuri-musha.com/wp-content/themes/the-thor/img/dummy.gif)
Raspberry Pi Pico Wの他の記事はこちらからどうぞ!
すけろく ウーム。 センサーなどの情報を記録したいな。 げんろく なに。Raspberry Pi Picoで記録媒体を 使いたいのか。 すけろく そうだ。 センサーやカメラのデータを保存したいのだ。 げんろく データの保管には、microSDカードが 使いやすいそ。使ってみるか! この記事では、「Raspberry Pi Pico/W」に「microSDカードスロット」を接続して読み書きしてみま […]
すけろく うーむ。 げんろく どうした?浮かない顔をして。 すけろく LEDを火のように光らせる方法を知りたくてな。 げんろく それなら、1/fの揺らぎを使って 再現してみるか。 この記事では、「Raspberry Pi Pico W」を使って、「LEDを揺らぎを加えて点灯させる」方法をご紹介します。 Raspberry Pi の中でも、省電力なCPUを搭載したマイコン開発ボードです。 他のRa […]
すけろく うーむ。 どうしたものか。 げんろく どうした。 暗い顔をして。 すけろく カーモデルのウィンカー点滅を再現したくてな。 明滅回路を作ろうか悩んでおる。 げんろく ん!? そんなときは、メインプロセッサと切り離して 動作するPIOの出番ではないのか! この記事では、「Raspberry Pi Pico/W」に実装されている「PIO(Programmable I/O」を実際に使ってみます […]
すけろく Raspberry Pi Pico/WのPIO機能を使ってUARTの送信には成功した。 しかし、まだ受信側ができていないのぉ。 げんろく そうだな。 今度は受信側を試してみるか。 すけろく どうせなら、パソコンから送った文字を返すような やり取りができるといいな。 げんろく よし。 UART送受信を実装してみよう。 この記事では、「Raspberry Pi Pico/W」に実装されてい […]
すけろく Raspberry Pi Pico/WのPIO機能については前回調べた。 今度は実際に使ってみたいの~ げんろく そうだな。 実際にプログラムする際の注意事項などを見ていこう。 すけろく Arduino IDEでも使用できるのか? げんろく ああ。 使えるぞ! Arduino IDEで使う場合を例にやっていこう。 この記事では、「Raspberry Pi Pico/W」に実装されている […]
すけろく Raspberry Pi Pico/Wには、PIOという機能があるらしいな。 げんろく そうだ。 UARTなどのインタフェース不足や、実装されていない機能を GPIOに対してプログラムできる機能だ。 すけろく Raspberry Pi Pico/Wをもっと知るために PIOを調べてみたい。 げんろく よし! PIOについて少し調べてみるか! この記事では、「Raspberry Pi P […]
すけろく うーむ。 げんろく どうした浮かない顔して。 すけろく これまで、Raspberry Pi Pico / Wをいろいろ確認してきたが 外付けのボタンの認識ってやったかぇ? げんろく たしかに!まだ取り上げていない基本的なものがあるな よし、今回はボタン押下時の状態を Raspberry Pi Pico / Wで認識してみよう。 この記事では、「Raspberry Pi Pico W」を […]
すけろく 宅内で使っているリモコンは、どういった仕組みで テレビなどをつけているのかな~? げんろく 赤外線を使って信号を送っているのだ。 すけろく しかし、たくさんある機器のリモコンが混信しないのは どういった仕組みなのかぇ? げんろく よし、今回は赤外線リモコンの通信を 調査してみるか! この記事では、「Raspberry Pi Pico W」を使って、「赤外線リモコンの通信内容を分析する」 […]
すけろく うーむ。 対応付けが難しいな。 げんろく どうした? Raspberry Pi Picoで悩んでいるようだな。 すけろく Raspberry Pi PicoやPico Wの GPIOピンの情報がボード上にプリント されていないから資料との対応付けがやりづらくてな。 げんろく そうか。そういう課題があるのだな。 よし、解決するグッツを作って提供してみよう! 皆さんは、「Raspberry […]
すけろく うーむ。 モーターを毎回同じくらい回転させることはできんのかな。 げんろく DCモーターや、サーボモーターだと、 回転量を正確に制御することは難しいぞ。 すけろく では、何か解決策はあるのかぇ? げんろく ステッピングモーターというものがある。 モーターの回転をステップとして制御できる。 今回はこのあたりを動かしてみるか。 この記事では、「Raspberry Pi Pico W」を使っ […]