TOPに戻る

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すると、変更した待ち時間になったでしょうか。

連載 CircuitPython 10行プログラミング Step5

(1) Raspberry Pi Picoの準備と動作確認

(2) Raspberry Pi Picoのdigitalio

(3) Raspberry Pi Picoのmicrocontroller

(4) Raspberry Pi Picoのアナログ入力

(5) Raspberry Pi PicoのPWM出力

(6) Raspberry Pi PicoのI2S出力

(7) Raspberry Pi PicoのI2C ① OLEDディスプレイ

(8) Raspberry Pi PicoのI2C ② 温湿度センサ

(9) Raspberry Pi PicoのI2C ③ 気圧センサ

(10) Raspberry Pi PicoのSPI ① TFTディスプレイ


連載 CircuitPython 10行プログラミング Step4

(1) Adafruit Feather nRF52840 Senseの準備 (2) Lチカ (3) 搭載センサ (4) BLE①ペリフェラル (5) BLE②セントラル


連載 CircuitPython 10行プログラミング Step3

(1) Metro M4 Express AirLift (WiFi)の準備 (2) ロータリ・エンコーダ (3) eInk/ePaper (4) Wi-Fi その1 接続 (5) Wi-Fi その2 ソケット (6) Wi-Fi その3 電圧測定 (7) 気圧センサLPS25HB (8) サーミスタ


連載 CircuitPython 10行プログラミング Step2

(1) Grand Central M4 Expressの準備 (2) グラフィック・ディスプレイOLED (3) RTC DS3231 (4) モジュール/SDメモリ (5) 複合センサ BME680 (6) ロードセル+ADS1220 (7) サーボ・モータ① (8) サーボ・モータ② (9) I2S UDA1334A (10) D-Aコンバータ


連載 CircuitPython 10行プログラミング

(1) Trinket M0の準備 (2) ディジタルI/O (3) アナログ入出力 (4) I2C 温湿度センサSi7021 (5) SPI 熱電対+MAX31855 (6) UART 距離センサTFMini (7) 1-Wire 温度DS18B20 (8) ロータリ・エンコーダ (9) 7セグメントLED (10) FANコントロール (11) UART GPS (12) I2C Lチカ MCP23017