差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
gimmickkouza:electronic_basic:3:5_variable [2024/05/27 20:53] lutamestagimmickkouza:electronic_basic:3:5_variable [2024/06/21 18:26] (現在) lutamesta
行 2: 行 2:
 Arduino言語のプログラミングでは、「変数」に数値や文字列を記憶させたり、呼び出したり、計算や処理をして便利に使うことができます。 Arduino言語のプログラミングでは、「変数」に数値や文字列を記憶させたり、呼び出したり、計算や処理をして便利に使うことができます。
 多くの人にはなじみのない言葉ですが、Arduinoでプログラミングをする上で変数は非常に大事な概念で、__**超便利かつ不可欠で将来にわたってめちゃくちゃ使います。**__ 多くの人にはなじみのない言葉ですが、Arduinoでプログラミングをする上で変数は非常に大事な概念で、__**超便利かつ不可欠で将来にわたってめちゃくちゃ使います。**__
 +  
  
 ===== 変数とは何か ===== ===== 変数とは何か =====
行 10: 行 10:
 {{:gimmickkouza:electronic_basic:3:3-11.png?|}} {{:gimmickkouza:electronic_basic:3:3-11.png?|}}
  
 +  
 === 変数を宣言しよう === === 変数を宣言しよう ===
 変数を使うためには、 変数を使うためには、
行 89: 行 89:
 以上が変数の基本です! 以上が変数の基本です!
 ちょっとわかりにくいかもしれませんが、実際にプログラム上で扱いながら覚えていけばいいと思います。 ちょっとわかりにくいかもしれませんが、実際にプログラム上で扱いながら覚えていけばいいと思います。
- +   
 +  
 ===== 変数のデータ型について ===== ===== 変数のデータ型について =====
 ==== よく使うデータ型一覧表 ==== ==== よく使うデータ型一覧表 ====
行 96: 行 96:
 変数のデータ型(=変数の中身にどういうデータを入れられるか)には、さまざまな種類があります。 変数のデータ型(=変数の中身にどういうデータを入れられるか)には、さまざまな種類があります。
 よく使うものを一覧表にして比較しました。 よく使うものを一覧表にして比較しました。
 +  
 ^  データ型の名前    説明                                                                        ^  実際に利用できる数値                                                      備考(と講師の感想)                                                                                                                                                                                                                                                                                                ^ ^  データ型の名前    説明                                                                        ^  実際に利用できる数値                                                      備考(と講師の感想)                                                                                                                                                                                                                                                                                                ^
-| bool\\ (boolean)  | false(偽、数値なら0)か\\ true(真、数値なら1)の\\ どちらかを代入できる型      | 0か1                                                                      | 0か1の二値を扱えるので、LEDやスイッチのON/OFF等に使える。\\ 今はboolという名前だが、かつてはbooleanという名前が使われていた。                                                                                                                                                                                      |+| bool\\ (boolean)  | false(偽、数値なら0)か\\ true(真、数値なら1)の\\ どちらかを代入できる型      | false(0)true(1)                                                         | 0か1の二値を扱えるので、LEDやスイッチのON/OFF等に使える。\\ 今はboolという名前だが、かつてはbooleanという名前が使われていた。                                                                                                                                                                                      |
 | char              | 文字を数値として記憶する型\\ 1バイトで一文字                                 | -128~127                                                                 | Arduinoで文字データを扱いたい場合はこのchar型か、後述するStringクラスを使う。\\ charは文字を数値として扱う(例えば'A'は65、'B'は66)ので、\\ 'A'の入ったcharの変数に+1をすると中身が'B'に変化するといった使い方もできます。                                                                                          | | char              | 文字を数値として記憶する型\\ 1バイトで一文字                                 | -128~127                                                                 | Arduinoで文字データを扱いたい場合はこのchar型か、後述するStringクラスを使う。\\ charは文字を数値として扱う(例えば'A'は65、'B'は66)ので、\\ 'A'の入ったcharの変数に+1をすると中身が'B'に変化するといった使い方もできます。                                                                                          |
 | int               | R4系では4バイト、\\ R3系等の大半のArduinoでは\\ 2バイトの整数を代入できる型  | R4系では\\ -2,147,483,648\\ ~2,147,483,647\\ R3系では\\ -32,768~32,767  | そんなにケタが大きくない整数を扱う場合に一般的に使われる型。\\ R4系ではボードの性能がつよつよになった結果、\\ longと同じ範囲の整数を扱えるようになっているが、\\ 実際にきぐるみの実装に使うマイコンはR3系の可能性が高いです。\\ なので互換性の観点から、当面はR4でもR3と同じ基準でintを使った方が無難と思います。  | | int               | R4系では4バイト、\\ R3系等の大半のArduinoでは\\ 2バイトの整数を代入できる型  | R4系では\\ -2,147,483,648\\ ~2,147,483,647\\ R3系では\\ -32,768~32,767  | そんなにケタが大きくない整数を扱う場合に一般的に使われる型。\\ R4系ではボードの性能がつよつよになった結果、\\ longと同じ範囲の整数を扱えるようになっているが、\\ 実際にきぐるみの実装に使うマイコンはR3系の可能性が高いです。\\ なので互換性の観点から、当面はR4でもR3と同じ基準でintを使った方が無難と思います。  |
行 104: 行 104:
 | float             | 4バイトの小数を代入できる型                                                  | 3.4028235E+38\\ ~\\ -3.4028235E+38                                       | 小数を扱いたい場合に使う型。割り算の答えやセンサから読み取った値など、\\ 小数点以下の数値が出る場合はfloatを使うと覚えておけばOK。\\ 使える範囲が広い分intやlongといった整数型より計算に時間がかかるので、\\ 小数を使わない(整数のみ)のであれば整数型を使った方がいいです。                                        | | float             | 4バイトの小数を代入できる型                                                  | 3.4028235E+38\\ ~\\ -3.4028235E+38                                       | 小数を扱いたい場合に使う型。割り算の答えやセンサから読み取った値など、\\ 小数点以下の数値が出る場合はfloatを使うと覚えておけばOK。\\ 使える範囲が広い分intやlongといった整数型より計算に時間がかかるので、\\ 小数を使わない(整数のみ)のであれば整数型を使った方がいいです。                                        |
  
 +R4とR3で利用できる数値が異なる問題については、こちらで補足しています:[[gimmickkouza:electronic_basic:7:3-r3-r4#マイコンのbit数の違い|]] 
 +   
 +/*<alert type="danger">bool型は実際に利用できる値がtrue/falseのほうがわかりやすいかも 
 +https://garretlab.web.fc2.com/arduino.cc/www/reference/ja/language/variables/data-types/bool/ 
 +</alert>*/ 
 +  
 ==== 各データ型の使い方例 ==== ==== 各データ型の使い方例 ====
 各例はコピーしてloop部の内部に貼り付けることで動作確認ができます。 各例はコピーしてloop部の内部に貼り付けることで動作確認ができます。