CircuitPython 10行プログラミング Step6 (1) Nano RP2040 Connectの準備と動作確認

 連載の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)を利用しました。

 STEP6では、Raspberry Pi Pico(RP2040)といくつかのセンサを搭載したNano RP2040 Connectを利用します。CircuitPythonのバージョンは、現時点の最新7.0.0をインストールします。

Arduino Nano RP2040 Connectのおもなスペック

  • 電源電圧 3.3V
  • CPU Raspberry Pi RP2040(Cortex-M0+ ×2)
  • メモリ SRAM;264Kバイト、外付けフラッシュROM;2Mバイト
  • Built-in LED 13番
  • I/O ディジタル;20本、アナログ;8本、PWM対応;20本、割り込み可能;20本 、電流4mA
  • RF U-blox Nina W102 module;Wi-Fi、Bluetooth(BLE5.2)
  • マイク STマイクロ MP34DT05
  • IMUセンサ STマイクロ LSM6DSOXTR(6軸)
  • I2Cピン A4;SDA、A5;SCL
  • SPIピン クロック;SCK、MOSI;D11?、MISO;D12?

環境

  • Arduino Nano RP2040 Connect
  • CircuitPython 7.0.0
  •  libフォルダ 空
  • Windows10 21H1
  • エディタMu 1.1.0 beta.5

Circuitpythonバージョン7.0.0を利用

 Circuitpythonの最新版を利用するために、二つのファイルをダウンロードして、インストールします。

STEP1 下記のサイトからこのボードにあったUF2のファイルをダウンロードします。下記のサイトのひとつ前のページはhttps://github.com/adafruit/circuitpython/tagsです。ここに最新版のリンクがあります。

  https://github.com/adafruit/circuitpython/releases/tag/7.0.0

  downloads pageをクリックします。

 検索欄にRP2040 と入れます。見つけてきたNano RP2040 Connectをクリックします。

 UF2ファイルをダウンロードします。

 Nano RP2040 ConnectボードをPCとUSBケーブルで接続します。エクスプローラでPCを開いておきます。マイコン・ボード上にあるResetスイッチを二度連続してクリックすると、RPI-PR2というドライブがマウントされます。

 ここへ、ダウンロードしたadafruit-circuitpython-arduino_nano_rp2040_connect-ja-7.0.0.uf2をドロップします。コピーが終わると、エクスプローラ上ではCIRCITPY(X:)ドライブに変わります。中身は次のようになっています。

 libフォルダの中身は空っぽです。必要に応じて追加します。code.pyにプログラムを保存すると、リセット後に自動で実行されます。

STEP2 最新のライブラリlibとexampleをダウンロードします。

  https://github.com/adafruit/Adafruit_CircuitPython_Bundle/tags

の一番上にあるリリースをクリックします。

  September 21, 2021 auto-release

 7.xとファイル名に書かれたzipファイルをダウンロードします。ダブルクリックします。examples、lib、requirementsの三つのフォルダをPCにコピーします(途中で解凍される)。

 examplesはCircuitPythonのサンプル・プログラム、libは主にAdafruitのライブラリ類、requirementsは、Aというライブラリを使うとき、Aだけで動く場合はよいのですが、X、Y、Zのライブラリも同時に必要なときの情報が書かれています。

 ライブラリは、必要なものだけをNano RP2040 Connectボードのlibフォルダにコピーします。全部コピーしようとすると、途中で満杯になります。

エディタはMuを使う

 中途半端なバージョンですが、執筆時点では1.1.0 beta.5でした。ダウンロードしたファイルをインストールします。最初少し時間がかかりますが、モード設定の画面が出ます。CircuitPython を選択します。

初めてのプログラム

 I2Cバスのスキャナを動かします。外部にI2Cバスのデバイスを接続するには、A4;SDA、A5;SCLと電源(3.3VとGND)です。いまは、何もつなぎません。

 プログラムを書いたら、保存します。code.pyに上書きします。

 なぜか、二度実行されます。ふつうは、1回だけです。プログラムの下の領域は、自動で出る場合がありますが、でないときはシリアルのアイコンをクリックします。

 Nano RP2040 Connectボードには、二つのI2Cデバイスが搭載されています。0x60がATECC608A、0x6aがLSM6DSOXTRのアドレスです。

 9行と10行のプログラムと12行のプログラムは、どちらもscan()関数を実行しています。

連載 CircuitPython 10行プログラミング Step6 release7.0.0

(1) Nano RP2040 Connectの準備と動作確認

(2) Nano RP2040 Connectの搭載センサIMU LSM6DSOX

(3) Nano RP2040 ConnectにI2CでIMUセンサLSM9DS1

(4) Nano RP2040 ConnectのWi-Fi

(5) Nano RP2040 Connectで確度0.1℃の温度計TMP117+ht16k33


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

(1) Raspberry Pi Picoの準備と動作確認 (2) digitalio (3) Raspberry Pi Picoのmicrocontroller (4) アナログ入力 (5) PWM出力 (6) I2S出力 (7) I2C ① OLEDディスプレイ (8) I2C ② 温湿度センサ (9) 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

前へ

ArduinoでIoTにチャレンジ<その3>Wi-Fi経由でLチカ

次へ

CircuitPython 10行プログラミング Step6 (2) Nano RP2040 Connectの搭載センサIMU LSM6DSOX