CircuitPython 10行プログラミング Step5 (1) Raspberry Pi Picoの準備と動作確認
連載のSTEP1はとてもコンパクトなTrinket M0を、STEP2はArduino MEGAと大きさが同じGrand Central M4 Expressを利用しました。STEP3はAdafruit Metro M4 Express AirLift (WiFi)を利用しました。大きさはArduino UNOと同じです。
STEP4では、いろいろなセンサを搭載したAdafruit Feather nRF52840 Sense(別の名称;Feather Bluefruit Sense)を利用します。BLE(技適のコードがモジュール上に刻印されている)が利用できるボードです。同じBLEのモジュールが搭載されているのがAdafruit Feather nRF52840です。
STEP5では、Raspberry Pi Pico(RP2040)を利用します。 開発環境はラズパイ4(2Gバイト・モデル)です。 CircuitPythonのバージョンは、現時点の最新6.2.0-beta.3をインストールします。 |
CPUは、ラズべり財団が開発した2コアのCortex M0+を採用しています。形状は比較的スリムで、USBはmicroです。
●Raspberry Pi Pico(RP2040)のおもなスペック
- CPU ARM Cortex M0+ 2コア(最大133MHz、システム・クロックのデフォルトは125MHz)
- メモリ SRAM 256KB(6バンク)
- 外部メモリ 2Mバイトのフラッシュ
- 動作電圧 1.8~3.3V。GPIOは3.3V
- GPIO 26本
- アナログ 4チャネル(12ビット、500ksps)
- 2×UART、2×I2C、2×SPI、16×PWM
- Micro-USB Bポート
- 2個のProgrammable IO (PIO)
- 3V3が3.3Vの電源で、300mAまで利用できる
- 温度センサが内蔵され、アナログ・ポート4につながっている
- I2C、SPIはそれぞれ2組用意されているが、ピンは固定ではなく、いろいろなGPIOピンで利用できる
- SPIのCSはただのGPIOピンで、自動では駆動されない
●Circuitpythonバージョン6.2.0-beta.3を利用
Circuitpythonの最新版を利用するために、二つのファイルをダウンロードして、インストールします。
STEP1 下記のサイトからこのボードにあったUF2のファイルをダウンロードします。下記のサイトのひとつ前のページはhttps://github.com/adafruit/circuitpython/tagsです。ここに最新版のリンクがあります。
https://github.com/adafruit/circuitpython/releases/tag/6.2.0-beta.3
downloads pageをクリックします。
検索欄にpicoと入れます。
Picoをクリックします。
UF2ファイルをダウンロードします。左の言語がJAPANESEになっている場合がありますが、ベータ版なので、ENGLISHのほうがよいかもしれません。ダウンロードされたadafruit-circuitpython.uf2ファイルをデスクトップにドラッグします。
(画面はWindows10でキャプチャしている。ラズパイでも同じ)
ボード上のBOOTSELを押しながらUSBケーブルをつなぎます。画面にRPI-RP2ドライブがマウントされるので、adafruit-circuitpython.uf2ファイルをドラッグします。
コピーが終わると、RPI-RP2はCIRCUITPYドライブに名前が変わります。
STEP2 最新のライブラリlibとexampleをダウンロードします。STEP1と同じ最初のページに戻ります。
https://github.com/adafruit/circuitpython/releases/tag/6.2.0-beta.3
this pageをクリックします。中ほどのクリックしろという緑色のエリヤをクリックします。
バージョン6の最新zipファイルをクリックしてダウンロードします。
ダウンロードしたzipファイルをダブルクリックすると、解凍ソフトが立ち上がっています。Extract filesをクリックします。
/tmpに解凍する画面が出ているので、そのままExtractをクリックします。
File Managerで、tmpを開きます。Examplesとlibのフォルダをpiフォルダにコピー(移動になる)します。
ストレージに使えるメモリが2Mバイトしかないので、解凍したファイルのすべてをCIRCUITPYドライブへコピーできません。解凍後libフォルダとexampleフォルダはラズパイの/home/piにコピーしました。以降、必要なライブラリだけをCIRCUITPYドライブのlibフォルダにコピーします。
プログラミングは、ラズパイにインストールされているMuエディタを使います。
●Lチカ
メニューのprogrammingのMuを起動します。Newで新規ファイルを開きます。
https://www.denshi.club/pc/python/circuitpython/circuitpython-10-2-l.html
からLチカのプログラムをコピーし、USBコネクタの横のLEDのつながっているポートD13をGP25に変更します。
import digitalio
from board import *
import time
led = digitalio.DigitalInOut(GP25)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.1)
led.value = False
time.sleep(0.1)
Serialをクリックします。Saveをクリックし、code.pyに上書きします。プログラムが実行されます。time.sleep(0.1)の時間を変更してSaveすると、変更した待ち時間になったでしょうか。