一般的なプログラムにおいて、計算する数値を一度記憶しておくことが必要になってきます。
特にArduino等のマイコンにおいてはセンサーなどの数値を一度記憶し、比較することが多くあります。
この様な場合には変数を使います。
変数は情報を記憶する箱のようなものです。この変数の内容はArduinoにおいてメモリ(RAM)に記憶されます。
本日はArduinoにおける変数と演算について学んでゆきます。
前回はこちら
データの型
ArduinoやそのベースとなるC言語では、データの型を意識してプログラムを作成する必要があります。
よく扱うデータの型は以下の通りです。
型名 | 扱えるデータ | サイズ(Byte) |
bool (boolean) | true(真)かfalse(偽)どちらか一方の値 | 1 |
char | 1つの文字を記憶 | 1 |
byte | 0から255までの8bitの数値 | 1 |
int (整数型) | -32,768から32,767の整数 | 2 |
unsigned int (符号なし整数型) | 0から65535までの正の整数 | 2 |
long (long整数型) | -2,147,483,648から2,147,483,647までの整数 | 4 |
unsigned long (符号なしlong整数型) | 0から4,294,967,295(2の32乗 - 1)までの正の整数 | 4 |
float (浮動小数点型) | 3.4028235E+38から-3.4028235E+38までの浮動小数点 | 4 |
double (倍精度浮動小数点型) | Arduinoのバージョンによって精度は異なる | 8 |
データ型の扱える範囲についてはマイコンによって異なるため、注意が必要です。
変数の宣言
変数を扱うためには変数を使うことをプログラム中で宣言しないといけません。
これを変数の宣言といいます。
例えば、int型でcountという名前の変数を宣言する場合は以下のように書きます。
int count;
同じ型を複数宣言する場合は以下のように書いてもかまいません。
int count1,count2;
初期値を設定しておく場合には以下のように記述します。
int count = 1;
変数名について
プログラムが大きくなると大量の変数を扱います。
この際にaやxなど単純な変数名を使ってしまうと、後から見直した際に大きな混乱を招きます。
変数名は後から見返した際にわかりやすい名前にする必要があります。
例えば温度を扱う場合はtempやtemperature等英語やその略称を用いるのが良いでしょう。
このアルファベットは大文字と小文字が厳密に区別されるため注意が必要です。
変数への代入
変数へ数値を入れることを代入といいます。
例えば変数countに1を代入するときは以下のように記述します。
count = 1;
変数を別の変数へ代入することもできます。
変数count1に変数count2の値を代入するときには以下のように記述します。
count1 = count2;
変数の値の確認
シリアルモニタを使うと、今変数にどのような値が入っているか確認することが出来ます。
変数countの中身を表示した後、改行しない場合は以下の通りです。
Serial.print(count);
変数countの中身を表示した後、改行する場合は以下の通りです。
Serial.println(count);
演算子
プログラムでは変数や数値を使って計算することが出来ます。
計算を示す記号を演算子といい、Arduinoでは以下のような演算子が使われます。
計算内容 | 演算子 |
足し算 | + |
引き算 | - |
掛け算 | * |
割り算 | / |
割った後のあまり | % |
値を増やす | += |
値を減らす | -= |
〇倍する | *= |
〇分の1にする | /= |
1増やす | ++ |
1減らす | -- |
例えば変数yにxに2を足した数を代入するには以下の通りに記入します。
y = X + 2;
xの値を3増やしたい場合には以下の通りに記入します。
x += 3;
xの値を1だけ増やしたい場合には以下の通り記入します。
x++;
Arduino 実験⑥
変数を以下の初期条件で準備をし、それぞれを計算した結果を1度だけシリアルモニタに表示するプログラムを作成せよ。
変数型 | 変数名 | 初期値 |
int | x | 5 |
int | y | 10 |
int | z | 2 |
表示する内容
x+y
y/z
x%z
x *=y
出力結果は以下の通りになるはずです。
次回はこちら