MicroPythonを使ったさまざまなループの使い方を学びます。
ループは全てのプログラム言語での基本的な構造です。これにより、コードブロックを複数回実行することができます。MicroPythonでは、繰り返しタスクを効率的に実行でき、開発者のツールボックスに入れておくべき素晴らしいツールです。
要件
始める前に、要件を確認します。
MicroPythonが利用できるArduinoボード
MicroPythonは、いくつかのArduinoボードで公式にサポートされています。互換性のあるボードの一覧を示します。
- Portenta C33
- Arduino GIGA R1 WiFi
- Portenta H7
- Portenta H7 Lite
- Portenta H7 Lite Connected
- Arduino Nano RP2040 Connect
- Nicla Vision
- Arduino Nano 33 BLE
- Arduino Nano 33 BLE Rev2
- Arduino Nano 33 BLE Sense Rev2
- Arduino Nano ESP32
ソフトウェア要件
- Arduino Lab for MicroPython: Arduino Lab for MicroPythonは、Arduinoボードで、MicroPythonスクリプトの作成・実行が可能なエディタです。
- Arduino Lab for MicroPythonを開きます。
- ArduinoボードとPCを、USBケーブルで接続します。

ボードとPCを接続します
- ウインドウの左上の接続ボタンをクリックします。接続したボード(のポート名)が現れます

エディタとボードを接続します
MicroPythonでのループ構造
MicroPythonは、2つの主なループ構造をサポートします。それぞれ特定の目的があります。
forループ: forループは、リストやタプル、文字列といった、事前に決まっているシーケンスを繰り返すものです。ループは、シーケンスの個々の要素を、一回に一つずつ取り出し、全ての要素を操作するまで処理を実行します。whileループ: whileループは、指定した条件が真の間、実行し続けます。シーケンスに依存するforループとは異なり、whileループは、ループを停止するかどうかを決定する条件式に依存します。
これらのループを深く理解するために、スーパーマーケットでのタスクを考えてみましょう。
- forループ: 各商品を正確にいくつカゴに入れるのかを順に書いてあるショッピングリストを持って、スーパーマーケットの通路を歩いていることを想像してください。リストにある商品をすべて集めると、タスクは終了します。これは、
forループがシーケンスを繰り返し、指定した商品をひとつづつ扱うのと同様です。 - whileループ: セール中のある商品を在庫がある分だけ買うために、スーパーマーケットに行くことを想像してください。あなたは、セールが終わるか、在庫がなくなるまで、毎日スーパーマーケットに戻ってきます。
whileループでは、条件(セールが続くなど)が真である間、戻り続けます。
Forループ
forループは、シーケンスを繰り返すのに使います。シーケンスの要素を自動的に一つずつ取得します。
|
|
for: ループを開始するキーワード。variable: シーケンスの繰り返し中に要素の値を格納します。集合のそれぞれの繰り返しの値を取得するものです。in: 繰り返すシーケンスを指定するのに使うキーワード。sequence: ループを繰り返す集合(リストやタプル、文字列など)。- コードブロック: 各繰り返しで実行するためのコードブロック。
コード例
forループを使ってみましょう。この例では、繰り返し(iterataion)を意味するiを、5個の範囲で設定します。
|
|
これは、0~数え始めるからです。最初にループを実行するときは、0を表示し、2回目は1を表示します。
Whileループ
whileループは、指定した条件が真の間実行し続けます。
|
|
while: ループを開始するキーワード。condition: 各繰り返し前に評価するブール表現。Trueのときはループを継続します。- コードブロック: 各繰り返しで実行するためのコードブロック。
コード例
whileループを使ってみましょう。この例では、カウンターがあり、その値をREPLで表示します。何回ループを実行したかを数えます。各表示の間に、time.sleep(1)関数で待つことで、REPLで簡単に読めるようにしています。
|
|
この例では以下を使いました。
while True:: whileループを無限に繰り返します。print('Number of iterations: ' + str(counter)): 現在の繰り返し数を表示します。print()関数では、数値と文字列を混ぜることができないので、REPLに表示する際、str(counter)を使う必要があります。
結果は無限ループで、現在の回数を表示します。
|
|
制御文
ループ中では、continueとbreakという制御文を使い、ループがどのように振舞うのかを制御できます。
Continue
continue文は、繰り返しで、以降をスキップするのに使います。例えば、何らかの理由で、5回ごとにスキップしたいとき、以下のコードが使えます。
|
|
このスクリプトを実行すると、結果は以下のようになります。
|
|
Breeak
break文は、全ての繰り返しを終える前にループから脱出するのに使います。これは、何か予期しないことが起こった時などに、処理を終了するのに役立ちます。
|
|
|
|
まとめ
MicroPythonでのループは、繰り返しタスクを自動化するための基本です。さまざまなループ構造の使い方を理解すれば、効率的で効果的なコードを書くことができます。
これらの例では、以下のようなループを示しました。
- 指定した繰り返し回数を実行するfor(forループ)
- 条件が満たされるまでループするwhile文(whileループ)
オリジナルのページ
https://docs.arduino.cc/micropython/basics/loops/
最終更新日
July 26, 2026