Arduinoのサンプルプログラム

Arduino-Trigonometry関数(三角関数)の使い方

当記事では、ArduinoのTrigonometry関数(三角関数)の使い方について詳しく解説します。

Trigonometry関数を使うことによって、cos、sin、tanの三角関数の計算をすることができます。

cos()/cos計算


void setup() {
  Serial.begin(9600);//シリアル通信を9600bpsで初期化
}

void loop() {
  double cal;//「cal」をdoubleで変数宣言

  cal = cos(0);//cos0(cos0°)を計算、1.00をcalに代入
  Serial.print("cos0:");//文字列「cos0:」を送信
  Serial.println(cal);//数字「1.00」を送信、改行

  cal = cos(PI/2);//cosπ/2(cos90°)を計算、-0.00をcalに代入
  Serial.print("cosπ/2:");//文字列「cosπ/2:」を送信
  Serial.println(cal);//数字「-0.00」を送信、改行

  cal = cos(PI);//cosπ(cos180°)を計算、-1.00をcalに代入
  Serial.print("cosπ:");//文字列「cosπ:」を送信
  Serial.println(cal);//数字「-1.00」を送信、改行

  cal = cos(PI*3/2);//cos3π/2(cos270°)を計算、0.00をcalに代入
  Serial.print("cos3π/2:");//文字列「cos3π/2:」を送信
  Serial.println(cal);//数字「0.00」を送信、改行

  cal = cos(PI*2);//cos2π(cos360°)を計算、1.00をcalに代入
  Serial.print("cos2π:");//文字列「cos2π:」を送信
  Serial.println(cal);//数字「1.00」を送信、改行

  delay(1000);//1秒待機(1000msec待機)
}

cos()は、cos計算(余弦計算)をします。サンプルプログラムはcos0、cosπ/2、cosπ、cos3π/2、cos2πをそれぞれ計算して、シリアルモニタに表示します。cos()の引数は、角度ではなくrad単位になるので注意してください。

sin()/sin計算


void setup() {
  Serial.begin(9600);//シリアル通信を9600bpsで初期化
}

void loop() {
  double cal;//「cal」をdoubleで変数宣言

  cal = sin(0);//sin0(sin0°)を計算、1.00をcalに代入
  Serial.print("sin0:");//文字列「sin0:」を送信
  Serial.println(cal);//数字「1.00」を送信、改行

  cal = sin(PI/2);//sinπ/2(sin90°)を計算、-0.00をcalに代入
  Serial.print("sinπ/2:");//文字列「sinπ/2:」を送信
  Serial.println(cal);//数字「-0.00」を送信、改行

  cal = sin(PI);//sinπ(sin180°)を計算、-1.00をcalに代入
  Serial.print("sinπ:");//文字列「sinπ:」を送信
  Serial.println(cal);//数字「-1.00」を送信、改行

  cal = sin(PI*3/2);//sin3π/2(sin270°)を計算、0.00をcalに代入
  Serial.print("sin3π/2:");//文字列「sin3π/2:」を送信
  Serial.println(cal);//数字「0.00」を送信、改行

  cal = sin(PI*2);//sin2π(sin360°)を計算、1.00をcalに代入
  Serial.print("sin2π:");//文字列「sin2π:」を送信
  Serial.println(cal);//数字「1.00」を送信、改行

  delay(1000);//1秒待機(1000msec待機)
}

sin()は、sin計算(正弦計算)をします。サンプルプログラムはsin0、sinπ/2、sinπ、sin3π/2、sin2πをそれぞれ計算して、シリアルモニタに表示します。sin()の引数は、角度ではなくrad単位になるので注意してください。

tan()/tan計算


void setup() {
  Serial.begin(9600);//シリアル通信を9600bpsで初期化
}

void loop() {
  double cal;//「cal」をdoubleで変数宣言

  cal = tan(0);//tan0(tan0°)を計算、1.00をcalに代入
  Serial.print("tan0:");//文字列「tan0:」を送信
  Serial.println(cal);//数字「1.00」を送信、改行

  cal = tan(PI/2);//tanπ/2(tan90°)を計算、-0.00をcalに代入
  Serial.print("tanπ/2:");//文字列「tanπ/2:」を送信
  Serial.println(cal);//数字「-0.00」を送信、改行

  cal = tan(PI);//tanπ(tan180°)を計算、-1.00をcalに代入
  Serial.print("tanπ:");//文字列「tanπ:」を送信
  Serial.println(cal);//数字「-1.00」を送信、改行

  cal = tan(PI*3/2);//tan3π/2(tan270°)を計算、0.00をcalに代入
  Serial.print("tan3π/2:");//文字列「tan3π/2:」を送信
  Serial.println(cal);//数字「0.00」を送信、改行

  cal = tan(PI*2);//tan2π(tan360°)を計算、1.00をcalに代入
  Serial.print("tan2π:");//文字列「tan2π:」を送信
  Serial.println(cal);//数字「1.00」を送信、改行

  delay(1000);//1秒待機(1000msec待機)
}

tan()は、tan計算(正接計算)をします。サンプルプログラムはtan0、tanπ/2、tanπ、tan3π/2、tan2πをそれぞれ計算して、シリアルモニタに表示します。tan()の引数は、角度ではなくrad単位になるので注意してください。

テキストのコピーはできません。