今回は、Raspberry Pi 4Bを使って、Raspberry Pi Picoに書き込みをおこなってみました。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/02/5c02fd197164b56d88f85c951dee4963-1024x538.jpg?resize=1024%2C538&ssl=1)
基板を眺める
まずは基板を眺めてみましょう。下図は表面となります。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-14-1024x566.png?resize=1024%2C566&ssl=1)
Raspberry Pi Picoに載っているチップのRP2040はRaspberry Pi UKによる設計で、しっかりRaspberry Piのトレードマークが刻印されています。白いボタンはファームウェアの書き込みを行うBOOTSELモードで起動する際に利用します。また、同じく右上にあるLEDはGP25につながっていてプログラムから制御が可能です。後ほど実際に点滅させてみます。
次に裏面です。こちらにはPIN配列のシルクが印刷されています。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-13-1024x556.png?resize=1024%2C556&ssl=1)
ちなみにピンヘッダをはんだ付けすると、そのままブレッドボードに取り付けることができます。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-12.png?w=1200&ssl=1)
MicroPythonを使う準備
それではプログラミングの準備に移っていきます。本記事で紹介するのは、Raspberry Pi 4Bを使ってRaspberry Pi Picoにプログラムを書き込む手順です。
Raspberry Pi Picoでは、C/C++かMicroPythonを使ってプログラミングすることができます。MicroPythonを使用する場合、はじめにファームウェアの書き換えが必要です。
ファームウェアの書き込みを行う時は、Raspberry Pi Picoの基板上のボタンを押したまま電源を入れます。これにより、ファームウェアの書き込みを行うBOOTSELモードで起動します。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/pico-power-up.gif?w=1200&ssl=1)
起動すると、Raspberry Pi OS側にマスストレージとしてマウントされます。ファイルマネージャーで開くと下図のように2つのファイルが見えるので、「INDEX.HTM」の方をダブルクリックして開きましょう。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-11-1024x746.png?resize=1024%2C746&ssl=1)
ブラウザで開いたページは、Raspberry Pi Picoのスタートガイドです。ページを少しスクロールしたところにある、真ん中のタブを選択します。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-10-1024x146.png?resize=1024%2C146&ssl=1)
するとインストール手順が表示されるので、「Download UF2 file」と書かれた緑色のボタンをクリックしてファームウェアをダウンロードします。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-9-1024x693.png?resize=1024%2C693&ssl=1)
ダウンロードフォルダに .uf2 という拡張子のファイルが保存されるため、こちらをRaspberry Pi Picoのマスストレージにドラッグ&ドロップします。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-8-1024x805.png?resize=1024%2C805&ssl=1)
これでファームウェアの書き込みは完了です。Raspberry Pi Picoが自動的にリブートされるためマスストレージの取り外しに関する警告がでますが、無視して大丈夫です。
プログラムを動かしてみる
Raspberry Pi OS から Raspberry Pi Pico に書き込みを行ってみます。開発環境にはいくつかの選択肢がありますが、ここではRaspberry Pi OSにあらかじめインストールされているThonny IDEを利用します。
私の環境ではThonny IDEのバージョンが古かったため、Raspberry Pi Picoを認識させるためにバージョンの更新を行う必要がありました。ターミナルで以下のコマンドを実行します。
sudo apt update sudo apt upgrade thonny
更新を終えてThonny IDEを立ち上げたら、右下に表示されているインタープリタをクリックします。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-7-1024x931.png?resize=1024%2C931&ssl=1)
表示される項目の中から「MicroPython (Raspberry Pi Pico)」を選択しましょう。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-6.png?w=1200&ssl=1)
エディターに以下のコードを記述します。こちらはRaspberry Pi Picoの基板にあらかじめ載っているLEDを点滅させるコードです。
import machine import utime led = machine.Pin(25, machine.Pin.OUT) while True: led.value(1) utime.sleep(5) led.value(0 utime.sleep(5)
コードを書き終えたら、メニューのRunボタンをクリックします。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-5-1024x818.png?resize=1024%2C818&ssl=1)
保存先を聞かれるので「Raspberry Pi Pico」を選択します。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-4.png?w=1200&ssl=1)
ファイル名を入力してOKボタンをクリックすれば、Raspberry Pi Picoへのプログラムの書き込みと実行が行われます。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-3-1024x521.png?resize=1024%2C521&ssl=1)
Raspberry Pi PicoのLEDを光らせる
プログラムの実行後、基板上のLEDが5秒ごとに点滅すればうまく動作しています。プログラムを停止するには、Ctrl + Cを入力するか、Thonny IDEのメニューにあるStopボタンを押します。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/01/image-2-1024x559.png?resize=1024%2C559&ssl=1)
ちなみに以下のようなコードで、同じく基板に搭載されている温度センサーから値を取得することも可能です。
import machine import utime sensor_temp = machine.ADC(4) conversion_factor = 3.3 / (65535) while True: reading = sensor_temp.read_u16() * conversion_factor temperature = 27 - (reading - 0.706)/0.001721 print(temperature) utime.sleep(2)
Raspberry Pi Pico を使ってみた所感
発表された当初の想像では micro:bit のようなものが出たのかな、と想像していましたが、どちらかといえばArduinoのようなマイコンに近いデバイスとなっています。
そして、やはりRaspberry Pi から Raspberry Pi Picoに書き込むのは面白いですね。まだ登場したばかりで日本語の資料はほぼありませんが、MicroPythonと電子工作で遊んでみたい方にはちょうど良いかもしれません。
Raspberry Pi Pico用のHATもすでに発売されており、いくつか仕入れてみたので次回以降紹介していきたいと思います。
電子工作に興味のある方、この機会にはじめてみてはいかがでしょうか!
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2021/02/4dc08721924fdf7fe0f354f42f5b4e48-1024x538.jpg?resize=1024%2C538&ssl=1)