Raspberry Pi Picoが2021年1月21日に発表になりましたが、Twitterなどでもかなり話題になっていますね〜。2月に入ってからはスイッチサイエンスやKSYなど国内の販売代理店にも入荷して、簡単に入手できるようになっています。

Raspberry Pi Picoの最大の特徴は、従来のRaspberry Pi OS(旧称:Raspbian)を搭載しないマイコンボードという点です。どちらかというとArduinoに近い製品ですね。サイズ的にはArduino Micro(またはNano)と競合するような製品ということになるかと思います。下の写真からも分かる通りArduino Microとは、ほぼ同サイズです。

Arduino Micro とRaspberry Pi Pico の比較

後発のRaspberry Pi Picoのアドバンテージは税込価格が500円程度という価格にあるかと思います。Arduino Microは税込で2000円代後半なので、1/5程度の安さなのです!ご存知かとは思いますが、Arduinoには価格がかなり安い互換ボードがたくさん出回っているので、真のライバルはArduinoの互換ボードになるかもしれませんね。

というわけで、これまでのラズパイ・ファミリーとは一線を画すこの小さなマイコンボードですが、どのように開発環境を構築すればいいのでしょうか?今回は「Raspberry Pi Picoの使い方」と題して、電子工作初心者の人向けに、はんだ付けのコツやMicro Pythonの開発環境をどのように構築するか解説してみたいと思います。

スポンサーリンク




目次

  1. Raspberry Pi Picoの入手方法と必要な道具
  2. ピンヘッダをはんだ付けしてみよう!
  3. Thonny Python IDEのインストール方法と使い方
  4. VS CodeでもPicoが使える!
  5. まとめ

1. Raspberry Pi Picoの入手方法と必要な道具

まずはRaspberry Pi Picoの入手について。amazonもしくは国内の販売代理店から入手可能です。

※上記のリンクはamazonへのリンクとなっています。

2. ピンヘッダをはんだ付けしてみよう!

入手後にまずすべきなのは、ピンヘッダのはんだ付けです。初心者の方の中には、はんだ付けは難しそうと思われる方もいるかもしれませんが、慣れてしまえば難しいものではありません。

半田ごては安いもので全く問題ないと思います。ただ、こて先は細いものに変えておくとよいと思います。またはんだのフラックス(ヤニ)は弱活性化ロジンを使用した電子基板用のものを使うと綺麗にはんだ付けできます。

また、ピンヘッダに関してですが、Raspberry Pi Picoは片側20ピンなので、1列40ピンの一般的なピンヘッダを買えば、ちょうど半分の位置でニッパーで切断し、両サイドにはんだ付けできます。

※上記のリンクはamazonへのリンクとなっています。

3. Thonny Python IDEのインストール方法と使い方

Raspberry Pi Picoを入手して、ピンヘッダを装着したら、次はいよいよ開発環境を整えていきます。Raspberry Pi Picoで開発する場合C/C++でも開発できますが、ここではMicro Pythonを使うことを前提に話を進めていきます。

Thonny Python IDEのインストール

開発環境に特にこだわりがなければ、初心者向けのThonny Python IDEと呼ばれる開発環境を使ってみましょう。
https://thonny.org/

この記事はMacユーザーを対象としていますが、WindowsやLinux(ラズパイ含む)でも開発ができます。必要な環境のインストーラーをダウンロードしましょう。

インストール後の初回の起動時に「Language」と「Initial settings」を聞かれます。それぞれ好みの設定にしてください。「Initial settings」で「Standard」と「Raspberry Pi」を選べますが、「Raspberry Pi」はボタンがかなり大きいので、もしかすると子供向けのUIということなのかもしれません。

パソコンとUSBで接続する手順

Thonny Python IDEのインストールが完了したら、パソコンとUSBケーブルで接続します。ただ差し込んだだけでは何も起きませんが、基盤上の「BOOTSEL」と表示のある白いボタンを押しながら、USBケーブルを差し込むと「RPI-RP2」というUSBメモリのようなマスストレージ(大容量記憶装置)として認識します。

ここまでできたら、Raspberry Pi Pico用のファームフェアを下記からダウンロードしてください。

MicroPython UF2 file
https://www.raspberrypi.com/documentation/microcontrollers/micropython.html

ページにアクセスしたら、少しスクロールして上図に示されている部分を探し、該当するリンクをクリックします。

rp2-pico-20******-v*.**.uf2」をダウンロードできたら、ファームフェアの書き込みを行いますが、やり方は簡単です。さきほど開いた「RPI-RP2」にドラッグ&ドロップします。書き込みが完了すると下記のようなエラーが表示されます。

通常これはエラーとして認識すべきものですが、ここでは問題視せず無視してください。これが正しい方法です。

Thonny Python IDEの使い方

ファームウェアの書き込みが完了したら、先ほどインストールしたThonny Python IDEを起動してみましょう。

ツールバーコードタブ、インタプリタを使えるShellタブが並んでいます。ひとまず下側のShellタブを使いインタプリタできちんと動作するか試してみましょう。

もし画面下の「Shell」ウィンドウに「>>>」が表示されていないようなら、インタプリタが使えない状態になっているので、設定を確かめてみてください。

メニューの「Thonny -> Preferences…」をクリック。次いで表示された「Thonny option」の「インタプリタ」タブの最初のプルダウンで「MicroPython (Raspberry Pi Pico)」が選択されていれば、インタプリタを利用できるはずです。

インタプリタでの使い方

print("Hello, World!")

このように記述してReturn(Enter)キーを押して「Hello, World!」と出力されたらOKです。

Micro Pythonでコードを書いてみよう

ここまでできたら、最初のLチカを試してみましょう!今度は上側のコードを書くタブ内に実際にコードを書いてみましょう。

import machine
import utime
led = machine.Pin(25, machine.Pin.OUT)
while True:
	led.value(1)
	utime.sleep(2)
	led.value(0)
	utime.sleep(2)

ここでは基盤上にある緑色のLEDを単純に2秒点灯、2秒消灯を繰り返すコードになっています。

このように書けたら、ツールバーの「実行」ボタンを押してみてください。

保存先を聞かれますので、Raspberry Pi Picoを選んでください。

ファイル名は何でもいいですが「blinking_led.py」などとしておきます。保存の完了後に…

このように2秒ごとに点滅すれば成功です!停止するには「停止」ボタンをクリックします。

4. VS Codeでも機能拡張「MicroPico」を使えばPicoが使える!

これまで解説してきたようにThonny Python IDEでも開発できますが、使い慣れたエディタがあるなら、そちらで開発したいですよね?

というわけで、ここでは多くのプログラマーが愛用しているVS Codeでの開発方法も紹介します。

まず「表示」の「機能拡張」を開き「MicroPico」を検索してインストールします。下記URLからでもインストール可能です。
https://marketplace.visualstudio.com/items?itemName=paulober.pico-w-go

この機能拡張を使うにはPython 3Node.jsが必要です。Node.jsがインストールされていない人はインストールしてください。

Python 3 ダウンロード
https://www.python.org/downloads/
Node.js ダウンロード
https://nodejs.org/ja/download/

これらは「Homebrew」でもインストール可能です。
https://brew.sh/index_ja

上記の「MicroPico」ですが、当初「Pico-Go」として公開され、その後「Pico-W-Go」となり、現在は「MicroPico」(2023年8月現在)となったようです。この記事を書いた当初は「Pico-Go」について紹介していましたが、「Pico-Go」や「Pico-W-Go」が共にメンテされなくなったため記事を更新しました。この機能拡張は、初代「Pico」でも、その後発売された「Pico W」でも問題なく動作します。

コードの実行手順

インタプリタでの実行については、「ターミナル」を開きプルダウンメニューから「Pico (W) vREPL」を選択することで可能になります。>>>」の後に「help()」を入力すると、下記のような説明が表示されますので、一度参照してみてください。

Welcome to MicroPython!

For online help please visit https://micropython.org/help/.

For access to the hardware use the 'machine' module.  RP2 specific commands
are in the 'rp2' module.

Quick overview of some objects:
  machine.Pin(pin) -- get a pin, eg machine.Pin(0)
  machine.Pin(pin, m, [p]) -- get a pin and configure it for IO mode m, pull mode p
    methods: init(..), value([v]), high(), low(), irq(handler)
  machine.ADC(pin) -- make an analog object from a pin
    methods: read_u16()
  machine.PWM(pin) -- make a PWM object from a pin
    methods: deinit(), freq([f]), duty_u16([d]), duty_ns([d])
  machine.I2C(id) -- create an I2C object (id=0,1)
    methods: readfrom(addr, buf, stop=True), writeto(addr, buf, stop=True)
             readfrom_mem(addr, memaddr, arg), writeto_mem(addr, memaddr, arg)
  machine.SPI(id, baudrate=1000000) -- create an SPI object (id=0,1)
    methods: read(nbytes, write=0x00), write(buf), write_readinto(wr_buf, rd_buf)
  machine.Timer(freq, callback) -- create a software timer object
    eg: machine.Timer(freq=1, callback=lambda t:print(t))

Pins are numbered 0-29, and 26-29 have ADC capabilities
Pin IO modes are: Pin.IN, Pin.OUT, Pin.ALT
Pin pull modes are: Pin.PULL_UP, Pin.PULL_DOWN

Useful control commands:
  CTRL-C -- interrupt a running program
  CTRL-D -- on a blank line, do a soft reset of the board
  CTRL-E -- on a blank line, enter paste mode

For further help on a specific object, type help(obj)
For a list of available modules, type help('modules')

【重要】もし「>>>」の後に「help()」コマンドを入力しても、何も表示されない場合はVS CodeとPicoが接続されていない状態なので、ターミナルウィンドウ左下の「× Pico Disconnected」をクリックしてください。「✔︎ Pico Connected」になればOKです。

書いたコードをひとまず実行したい場合ですが、ウィンドウ右上の「…(三点リーダー)」から「Run current file on Pico」を選択することで実行されます。あるいは、ターミナルウィンドウ左下の「▷ Run」でも実行されます。

実行中のプログラムの停止については、ヘルプの説明にもあったように「Ctrl + C」をタイプするか、ターミナルウィンドウ左下の「□ Stop」でも停止できます。

コードの書込手順

コードを単に実行するだけでなく、Pico側に書き込むには、「✔︎ Pico Connected」の状態であることを確認してから、画面右上の「Upload project to Pico」をクリックします。その後、書き込み完了の通知「Project uploaded.」が表示されたら、先ほどの「× Pico Disconnected」をクリックしてPicoとの接続を解除します。これで書き込み完了です。次にPCに接続もしくは、USBポートから給電された状態の時に、書き込まれたコードが実行されるようになります。

5. まとめ

今回は発売されて間もない話題のRaspberry Pi Picoの使い方を解説してみました。従来のRaspberry Pi OSを搭載しないマイコンボードとして新しいファミリーが増えたラズパイですが、Arduinoと競合するPicoの今後から目が離せませんね!

新しいデバイスが発売されると何を組もうかワクワクするものですが、あなたならPicoを使って何を組みますか?