人気のMicroPythonの実装とArduinoボードでの互換性、環境設定方法、詳細なチュートリアル、有用なリンクを学びます。
AUTHOR: Karl Söderby、LAST REVISION: 2022/12/08 18:58
MicroPythonはPython®プログラミング言語の実装で、Python®標準ライブラリの一部を実装していて、マイクロコントローラ上で動作するように設計されています。
MicroPythonを利用する大きな利点は学習しやすく、多くのボード向けの素晴らしいドキュメントがあることです。現状、MicroPythonが利用できるボードは4つあり、互換ボードで詳しく説明します。
ArduinoはOpenMVのMicroPythonのブランチを公式にサポートしています。OpenMV IDEを使い、MicroPythonのインストールや、ボードの接続・切断、スクリプトのアップロードができます。
Arduino IDEで、C++ベースのArduinoプログラミング言語を使うときと、MicroPythonを使うときとで、プログラムの方法は全く異なります。スケッチと呼ぶものをボードにアップロードするとき、最初に書いたスケッチをコンパイルした後、ボードにアップロードし、古いスケッチを新しいスケッチに入れ替えます。
MicroPythonを使うには、最初にボードにMicroPythonをインストールする必要があります。そして、以下のblinkの例のように、script.py
をロードします。
|
|
MicroPythonはすでにボード上で動いていて、コードのコンパイルとアップロードは不要です。命令を与えるだけです。これは、シリアル通信経由で実行されます。
MicroPython用Arduino Lab
MicroPython用Arduino Labは、PCとボード間の簡単な対話型の軽量エディタです。ポートを選んだり、スクリプトをロードしたり、REPLシェルなどを使ったりできます。
OpenMVエディタ
OpenMVはMicroPythonの派生を使ってArduinoボードのプログラムをサポートするプラットフォームです。OpenMVエディタを通じ、MicroPythonのインストールや、ボードに直接スクリプトをアップロードすることができます。エディタ内で直接利用できる多くのスケッチ例もあります。
OpenMVは、コンピュータビジョンや機械学習プロジェクト用の素晴らしいプラットフォームです。
OpenMVの例
このページの後の方に、始めるのに適した役に立つコード例がたくさん掲載されています。
互換ボード
現状、4種類のArduinoボードが、MicroPythonを公式にサポートしています。以下に示します。
上記の全ては、OpenMV IDEと互換性があります。
Nano 33 BLE
Nano 33 BLEボードでMicroPythonを始めるのに手助けが必要なときは、以下のチュートリアルを参照してください。
- Install MicroPython on your Nano BLE
- Getting started with MicroPython with Nano 33 BLE(環境設定)
- Nano 33 BLE Python® API guide(役に立つスクリプト集)
Nano 33 BLE Sense
Nano 33 BLE SenseボードでMicroPythonを始めるのに手助けが必要なときは、以下のチュートリアルを参照してください。
Nano RP2040 Connect
Nano RP2040 ConnectボードでMicroPythonを始めるのに手助けが必要なときは、以下のチュートリアルを参照してください。
- Install MicroPython on your Nano RP2040 Connect
- Nano RP2040 Connect Python® guide
- Getting Started with OpenMV and MicroPython on Nano RP2040 Connect
Portenta H7
Portenta H7ボードでMicroPythonを始めるのに手助けが必要なときは、以下のチュートリアルを参照してください。
Python®を学習する
MicroPythonはPython®の一実装なので、多くのPython®スクリプトを直接ボード上で実行することができます。例えば、PC上で動作するこのPython®スクリプトはボード上でも同じように動作します。
|
|
これはPython®を学習する時期であることを意味していて、そのためのリソースも多くあります。Python®言語をより理解するためには、以下のリソースを参照することを推奨しています。
MicroPython Docs
Python®がマイクロコントローラ上でどのように動作するかを理解するには、MicroPython documentationを訪問してください。
API
以下には、全てのArduinoボードで利用できる実用的な例があります。ボード上のセンサーや接続性、通信などのより具体的な機能については、個々のガイドを参照してください。
"Hello World!"
を1秒ごとに表示する簡単なスクリプトです。
|
|
関数
このスクリプトは、"Hello World!"
を1秒ごとに表示します。さらに、counter_function()
も実行します。
|
|
forループ
forループと関数の簡単な使い方です。このスクリプトは10数え、0まで戻ります。
|
|
Digital Write
1秒ごとにデジタルピンにHIGHとLOWを書きます。また、端末に状態を表示します。
|
|
Digital Read(pull up)
PULL_UP
設定でデジタルピンの値を読みます。
|
|
Digital Read(pull down)
PULL_DOWN
設定でデジタルピンの値を読みます。
|
|
Analog Read
アナログピンを読み、0.5秒の遅延で端末に表示します。
|
|
PWM
指定したピンに特定のデューティ比で書きます。
|
|
Delay
簡単な遅延を使うには、time
モジュールを使います。秒単位で待ちたいときは、time.sleep(seconds)
を使い、ミリ秒単位では、time.sleep_ms(milliseconds)
を使います。
|
|
割り込み
プルアップボタンとLEDを使った簡単な割り込みの例です。
このプログラムは、ボタンが押されるまでLEDを点滅させます。ボタンには割り込みが設定されています。その割り込みでは、3秒間LEDを消灯します。
|
|
オリジナルのページ
https://docs.arduino.cc/retired/other/arduino-and-python/
最終更新日
April 30, 2024