【C言語/Arduino】void loop関数の使い方や終了方法を解説

この記事では、C言語でArduinoのプログラミングにおけるvoid loop関数の役割や使い方、終了方法、注意点についてわかりやすく解説します。

目次から探す

void loop関数とは

void loop関数は、Arduinoプログラムで最も重要な関数の一つです。

この関数は、Arduinoボード上で繰り返し実行されるため、プログラムのメインループとして機能します。

loop関数は、センサーの値の読み取りやデータの処理、制御など、さまざまなタスクを実行するために使用されます。

loop関数の役割

loop関数の役割は、Arduinoプログラムのメインループを提供することです。

この関数は、プログラムが実行される間、無限に繰り返されます。

そのため、センサーの値の読み取りやデータの処理、制御など、プログラムの主要な処理を行うために使用されます。

loop関数の使い方

loop関数は、さまざまな方法で使用することができます。

以下では、いくつかの一般的な使い方を紹介します。

センサーの値を読み取る

Arduinoボードには、さまざまな種類のセンサーが接続されることがあります。

loop関数を使用して、センサーからのデータを読み取ることができます。

例えば、温度センサーからの値を読み取り、それを表示することができます。

void loop() {
  int temperature = analogRead(A0); // A0ピンからアナログ値を読み取る
  float voltage = temperature * (5.0 / 1023.0); // アナログ値を電圧に変換する
  float celsius = (voltage - 0.5) * 100; // 電圧を摂氏温度に変換する
  Serial.print("Temperature: ");
  Serial.print(celsius);
  Serial.println(" degrees Celsius");
  delay(1000); // 1秒待つ
}

データの処理と制御

loop関数を使用して、データの処理や制御を行うこともできます。

条件分岐やループの制御など、さまざまな制御構造を使用してプログラムのフローを制御することができます。

条件分岐

条件分岐を使用して、特定の条件が満たされた場合に特定の処理を実行することができます。

以下は、ボタンが押された場合にLEDを点灯させる例です。

void loop() {
  if (digitalRead(2) == HIGH) { // ボタンが押された場合
    digitalWrite(13, HIGH); // LEDを点灯させる
  } else {
    digitalWrite(13, LOW); // LEDを消灯させる
  }
}

ループの制御

ループの制御を使用して、特定の条件が満たされるまでループを繰り返すことができます。

以下は、ボタンが押されるまでLEDを点滅させる例です。

void loop() {
  while (digitalRead(2) == LOW) { // ボタンが押されるまでループを繰り返す
    digitalWrite(13, HIGH); // LEDを点灯させる
    delay(500); // 0.5秒待つ
    digitalWrite(13, LOW); // LEDを消灯させる
    delay(500); // 0.5秒待つ
  }
}

シリアル通信の利用

loop関数を使用して、シリアル通信を行うこともできます。

シリアル通信を使用すると、Arduinoとコンピュータ間でデータの送受信が可能になります。

以下は、シリアルモニタにメッセージを表示する例です。

void loop() {
  Serial.println("Hello, World!"); // シリアルモニタにメッセージを表示する
  delay(1000); // 1秒待つ
}
1 2

この記事のページ一覧
  1. 現在のページ
目次から探す