[貂蝉がプログラミングを学ぶ] Arduino ハンズオン (196) --- Raspberry Pi Pico 開発ボード

37 個のセンサーとモジュールというアイデアはインターネット上で広く広まっていますが、実際には、Arduino と互換性のあるセンサー モジュールは 37 個以上あるはずです。いくつかのセンサーとアクチュエータモジュールが手元に蓄積されているという事実を考慮して、真の知識(手作業で行う必要がある)の概念に従って、学習とコミュニケーションの目的で、より多くの実験を試みるつもりです——小さな進歩でも、解決できない問題でも、レンガを投げて翡翠に火花を散らすことができればと思っています。

【Arduino】168種類のセンサーモジュールシリーズ実験(データコード+シミュレーションプログラミング+グラフィックスプログラミング)
実験196:Raspberry Pi Pico開発ボード raspberry pi PICOデュアルコアRP2040シングルチップC++/Pythonプログラミング入門コントローラ

ここに画像の説明を挿入
ここに画像の説明を挿入

2021年1月21日、Raspberry Pi Foundation(ラズベリーパイ財団)公式ウェブサイトのブログで、初の自社開発チップRP2040を採用した最新マイクロコントローラー開発ボード:RaspBerry Pi Picoがリリースされました。

RP2040 チップは 40nm プロセスを使用して TSMC によって製造され、動作周波数 133 MHz の Arm Cortex M0+ プロセッサ アーキテクチャを採用しており、264K SRAM と 2MB のオンボード ストレージ スペースを備えており、アナログ入力、低遅延、そして低消費電力です。

Raspberry Pi Pico は RP2040 をベースとしています。オリジナルの設計原則に従って、PR2040 は 3 つの目標を達成しました: 1 つ目、特に整数ワークロードに対する高性能、2 つ目、より柔軟な I/O、あらゆる外部デバイスとの通信が可能、3 つ目、低コスト。

ここに画像の説明を挿入
RP2040 モデル番号の意味については、RP は「Raspberry Pi」を表し、「2」はコアの数、「0」は使用される MCU コア (例: Cortex-M0+) を指します。

最後の 2 桁は「4」と「0」です。floor(log2(x/16k)) 式を使用して、チップ内の SRAM と不揮発性ストレージ容量を表す数値を計算します。

RP2040 チップは 7×7mm QFN-56 にパッケージされており、具体的な機能ブロック図は次のとおりです。

ここに画像の説明を挿入
RP2040 のパフォーマンス指標:

デュアルコア Arm Cortex-M0+ @ 133MHz
264KB オンチップ RAM、内部 6 つの独立した RAM ブロック、バスの中央で交換されるため、コアと DMA が競合せずに並列実行可能 最大 16MB のオフチップ フラッシュ メモリを
サポート専用 QSPI バス
DMA コントローラ経由 補間器
および整数分周器ペリフェラル
30 個の GPIO ピン (そのうち 4 個はアナログ入力に使用可能)
UART × 2、SPI コントローラ × 2、および I2C コントローラ × 2
PWM チャネル × 16
1 × USB 1.1 コントローラおよび PHY 、ホストとデバイスをサポート
8 × Raspberry Pi プログラマブル I/O ステート マシン
USB ストレージ ブート モード、UF2 をサポート、ドラッグ アンド ドロップでプログラム可能
7*7 56 ピン QFN パッケージ

ここに画像の説明を挿入
RP2040 チップは、40 nm プロセス技術と 7×7 mm QFN-56 パッケージを使用して、Raspberry Pi 自体によって設計および開発されています。RP2040 の設計哲学は、長年にわたってプロジェクトで使用されてきた Raspberry Pi 製品および他のベンダーの機器の長所と短所に基づいています。主に次の 3 つの重要な利点があります。

1. 2 つの高速 CPU コア。RP2040 は、133 MHz で動作する ARM Cortex-M0+ コアのペアを備えており、十分な整数パフォーマンスを提供します。ユーザーは 1 つのコアを使用してアプリケーション コードを実行し、もう 1 つのコアでハードウェアを監視できます。また、FreeRTOS または MicroPython を使用して両方のコアでアプリケーション コードを実行することもできます。
2. 大量の RAM。RP2040 には 264KB の RAM が搭載されているため、ユーザーはアプリケーションのサイズの最適化に時間と労力を費やすことなく、機能の実装に集中できます。その中で、完全に接続されたスイッチは、ARM コアと DMA エンジンを 6 つの独立した RAM バンクに接続し、ユーザーがシステムのパフォーマンスを最大限に活用できるようにします。
3. 柔軟な I/O。RP2040 は、ハードウェア UART、SPI および I2C コントローラ、USB 1.1、および 4 チャネル ADC などのすべての共通インターフェイスを提供します。RP2040 の特徴は、SDIO、DPI、I2S、さらには DVI-D などのソフトウェア実装プロトコルをサポートするプログラマブル I/O (PIO) サブシステムです。

これらすべてが 2mm² 40nm チップにパッケージされています。

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

ラズベリーパイピコ開発ボードの電気回路図

ここに画像の説明を挿入

Raspberry Piのピコピン図

ここに画像の説明を挿入
ここに画像の説明を挿入

収集された Raspberry Pi Pico リソースのリスト
Raspberry Pi Pico は、柔軟なデジタル インターフェイスを備えた、低コストで高性能のマイクロコントローラー ボードです。

ドキュメント
スタートガイド - 公式 Pico スタートガイド。https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
Pico SDK C/C++ - Pico SDK C/C++ ± 公式 Pico C/C++ SDK ドキュメント。https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf
Pico SDK MicroPython - Pico SDK MicroPython - 公式 MicroPython SDK ドキュメント。https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-python-sdk.pdf
Pico Doxygen - Pico Doxygen - 公式の「Raspberry Pi Pico の API レベル Doxygen ドキュメント」。https://www.raspberrypi.com/documentation/pico-sdk/
ピン配置図 - Raspberry Pi pico の公式ピン配置図。https://datasheets.raspberrypi.com/pico/Pico-R3-A4-Pinout.pdf
フリッツィング図 - フリッツィング図 - 公式ピコフリッツィング図。
デザイン ファイル - デザイン ファイル - 公式 Pico ハードウェア デザイン ファイル。
Pico データシート - Pico データシート - 公式 Pico データシート。https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf
RP2040 データシート - RP2040 チップ データ - 公式 RP2040 チップ データ シート。
ハードウェア設計 - ハードウェア設計 - RP2040 の公式ハードウェア設計リファレンス マニュアル。

ソフトウェアとツール
Pico の例 - Raspberry Pi Pico SDK の例。https://github.com/raspberrypi/pico-examples
Pico MicroPython の例 - Raspberry Pi Pico MicroPython の例。https://github.com/raspberrypi/pico-micropython-examples
Pico SDK リポジトリ - 公式 Raspberry Pi Pico SDK リポジトリ。https://github.com/raspberrypi/pico-sdk
Pico C++ セットアップ スクリプト - デバイス上で Pico C++ ツールチェーンをセットアップするための BASH スクリプト。
Picotool - Picotool は、RP2040 バイナリを検査し、BOOTSEL モードで RP2040 デバイスと対話するためのツールです。
Picoprobe - 1 つの Raspberry Pi Pico を使用して別の Pico をデバッグします。これは、Pico を USB→SWD および UART コンバータとして機能させるアプリケーションである picoprobe を使用することで可能になります。
Pico フラッシュ メモリのリセット - Raspberry pi のピコ フラッシュ メモリ空間を強制的にクリアして空にします。
Thonny IDE - Pico の Thonny IDE サポート。https://github.com/raspberrypi/thonny-pico
Pico-Stub - Visual Studio Code からの Raspberry Pi pico の Python コード挿入とオートコンプリート。https://github.com/cpwood/Pico-Stub
Pimoroni Pico - micropython と C/C++ をサポートする Pimoroni Pico ライブラリとサンプル。https://github.com/pimoroni/pimoroni-pico

リソース ブログ
公式 Pico 発表 - 最初の Raspberry Pi Pico 発表。
MicroPython Book - Raspberry Pi Pico で MicroPython を使い始めるのに役立つ新しい本。
NeoPixel ディザリング - Raspberry Pi Pico を使用した NeoPixel についての HackSpace Magazine の記事。
RP2040 を詳しく見る - Raspberry Pi RP2040 プログラマブル I/O (PIO) について詳しく学びます。

書籍
MicroPython Pico - micropython を使用して raspberrypi pico 開発ボードについて学び始めます。

コミュニティ プロジェクト
Pico Tetris - Pimoroni Pico Explorer にインストールされた Raspberry Pi Pico 上のテトリス。
Pico Display Color Change - Pimoroni のディスプレイ パッケージを使用した Pico アプリケーション。
Pico Lib for NeoPixels - NeoPixels (WS2812b LED) を使用するための Raspberry Pi Pico ライブラリ。
TensorFlow Lite Micro - Pico 用の TensorFlow Lite Micro ライブラリ。
Rust Support Crate - Raspberry Pi の PIO アーキテクチャのサポートを提供します。
morse4pico - Raspberry Pi Pico 用の MicroPython の非常にシンプルなモールス信号スクリプト。
picoLCD - picoLCD は、Raspberry Pi Pico 上で HD44780 ベースの LCD 画面とのインターフェースを容易にする機能のコレクションです。
気球追跡 Raspberry Pi Pico 気象気球追跡デバイス。コードは https://github.com/daveake/pico-tracker にあります
Pico Snake - Pimoroni Pico Explorer で実行される Raspberry Pi Pico Snake。
迷惑なブックマーク - 最後に本を開いてからの経過時間をカウントするブックマーク。

チュートリアル
LED を制御する - Raspberry Pi 公式設定ドキュメント。マイクロ Python 言語を使用して LED ライトを制御します。https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico

グラフィック プログラミング
Playpiper - 初心者向けの学習プラットフォーム。https://make.playpiper.com/

ボードに付属するデータリンク
モデル: Raspberry Pi RP2 https://www.raspberrypi.org/documentation/rp2040/getting-started/

おすすめ

転載: blog.csdn.net/weixin_41659040/article/details/132148065