Arduino-言語・関数リファレンス一覧

当記事では、Arduinoの言語・関数リファレンスを紹介します。各標準関数・標準ライブラリの詳しい解説やサンプルプログラム(サンプルスケッチ)はリンク先の記事を確認してください。
現在掲載している情報は、まだ一部なので順次、追記していく予定です。
目次
データ型
| データ型 | 入力範囲 | サイズ (ビット数) | 説明 |
|---|---|---|---|
| boolean (ブーリアン) | 0, 1 | 8bit | “true”か”false”の判定に使用 |
| char (チャー、キャラ) | -128~127 | 8bit | 文字の代入に使用 |
| unsigned char (アンサインド チャー、 アンサインド キャラ) | 0~255 | 8bit | 〃 |
| int (イント) | -32,768~32,767 (Arduino Due: -2,147,483,648~2,147,483,647) | 16bit (32bit) | 整数に使用 |
| unsigned int (アンサインド イント) | 0~65,535 (Arduino Due: 0~4,294,967,295) | 16bit (32bit) | 〃 |
| long (ロング) | -2,147,483,648~2,147,483,647 | 32bit | 大きい整数に使用 |
| unsigned long (アンサインド ロング) | 0~4,294,967,295 | 32bit | 〃 |
| float (フロート) | 3.4028235E+38~-3.4028235E+38 | 32bit | 小数に使用 |
演算子
算術演算子
| 算術演算子 | 使用例 | 説明 |
|---|---|---|
| + | a = b + c | bとcを足した値をaに代入 |
| - | a = b - c | bからcを引いた値をaに代入 |
| * | a = b * c | bとcを掛けた値をaに代入 |
| / | a = b / c | bをcで割った値をaに代入 |
| % | a = b % c | bをcで割った余りをaに代入 |
| = | a = b | bの値をaに代入 |
代入演算子
| Arduino 代入演算子 | 使用例 | 説明 |
|---|---|---|
| += | a += b | aとbを足した値をaに代入 (a = b + cと同等) |
| -= | a -= b | aからbを引いた値をaに代入 (a = b - cと同等) |
| *= | a *= b | aとbを掛けた値をaに代入 (a = b * cと同等) |
| /= | a /= b | aをbで割った値をaに代入 (a = b / cと同等) |
| %= | a %= b | aをbで割った余りをaに代入 (a = b % cと同等) |
インクリメント・デクリメント演算子
| インクリメント・ デクリメント演算子 | 使用例 | 説明 |
|---|---|---|
| ++ | a++ | 古い aの値を返して、aの値を 1 増加 |
| ++a | aの値を 1 増加して、新しい aの値を返す | |
| -- | a-- | 古い aの値を返して、aの値を 1 減少 |
| --a | aの値を 1 減少して、新しい aの値を返す |
比較演算子
| 比較演算子 | 使用例 | 説明 |
|---|---|---|
| == | a == b | aとbが等しい時、真(true: 1) aとbが等しくない時、偽(false: 0) |
| != | a != b | aとbが等しくない時、真(true: 1) aとbが等しい時、偽(false: 0) |
| < | a < b | aがbより小さい時、真(true: 1) aがb以上の時、偽(false: 0) |
| > | a > b | aがbより大きい時、真(true: 1) aがb以下の時、偽(false: 0) |
| <= | a <= b | aがb以下の時、真(true: 1) aがbより大きい時、偽(false: 0) |
| >= | a >= b | aがb以上の時、真(true: 1) aがbより小さい時、偽(false: 0) |
論理演算子
| 論理演算子 | 使用例 | 説明 |
|---|---|---|
| && | (a >= 10) && (a < 100) | aが10以上かつ100未満の時、真(true: 1) それ以外は偽(false: 0) |
| || | (a == 10) || (a == 100) | aが10または100の時、真(true: 1) それ以外は偽(false: 0) |
| ! | !(a == 10) | aが10でない時、真(true: 1) それ以外は偽(false: 0) |
制御文
条件分岐「if」
if(条件A) {
条件Aが成立した場合に実行
}if(条件A) {
条件Aが成立した場合に実行
}
else {
条件Aが不成立した場合に実行
}if(条件A) {
条件Aが成立した場合に実行
}
else if(条件B) {
条件Aが不成立、条件Bが成立した場合に実行
}
else {
条件A、条件Bが不成立した場合に実行
}繰り返し「for」
for(カウンタ初期値; 条件A; カウンタ増加の指定) {
条件Aが成立する間、繰り返し実行
}繰り返し「while」
while(条件A) {
条件Aが成立する間、繰り返し実行
}繰り返し「do while」
do {
必ず1回実行した後、
条件Aが成立する間、繰り返し実行
} while(条件A);条件分岐「switch case」
switch(対象の変数) {
case 変数1:
対象の変数が1の場合に実行
break;
case 変数2:
対象の変数が2の場合に実行
break;
case 変数3:
対象の変数が3の場合に実行
break;
default:
対象の変数が全て当てはまらない場合に実行
}標準関数
Arduino IDEやArduino Web Editorでは、Arduino独自の標準関数が用意されています。
以下のリンクがArduino公式WEBサイトのリファレンスページになります。当記事では、これらの情報を参考にArduinoの標準関数をまとめています。
Digital I/O(デジタル入出力)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| void pinMode(pin, mode) | pin:対象のデジタル入出力のピン番号 mode:入力、出力、プルアップ入力のモード指定 | なし | デジタル入出力のモード切り替え |
| void digitalWrite(pin, value) | pin:対象のデジタル入出力のピン番号 value:5V/HIGHまたは0V/LOW | なし | デジタル出力 |
| int digitalRead(pin) | pin:対象のデジタル入出力のピン番号 | ピンの入力状態をHIGHまたはLOWで返す | デジタル入力 |
あわせて読みたい


Arduino-Digital I/O関数(デジタル入出力関数)の使い方
当記事では、ArduinoのDigital I/O関数(デジタル入出力関数)の使い方について詳しく解説します。 Digital I/O関数を使うことによって、Arduinoボードのデジタル信号の出...
Analog I/O(アナログ入出力)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| void analogReference(type) | type:基準電圧の設定 | なし | アナログ入力の基準電圧を設定 |
| int analogRead(pin) | pin:対象のアナログ入力のピン番号 | ピンの入力状態を返す 10bits: 0~1023 12bits: 0~4095 | アナログ入力の状態を確認 |
| void analogWrite(pin, value) | pin:対象のデジタル入出力のピン番号 value:出力値を0~255で指定 | なし | アナログ出力(PWM) |
あわせて読みたい


Arduino-Analog I/O関数(アナログ入出力関数)の使い方
当記事では、ArduinoのAnalog I/O関数(アナログ入出力関数)の使い方について詳しく解説します。 Analog I/O関数を使うことによって、Arduinoボードのアナログ信号の出力...
Advanced I/O(デジタル・アナログ入出力 発展版)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| void tone(pin, unsigned int frequency, unsigned long duration) | pin:対象のデジタル入出力のピン番号 frequency:出力周波数(Hz) duration:出力時間(ms) | なし | 矩形波出力 |
| void noTone(pin) | pin:対象のデジタル入出力のピン番号 | なし | 矩形波停止 |
| unsigned long pulseInLong(pin, value, unsigned long timeout) | pin:対象のデジタル入出力のピン番号 value:パルス検出タイプ(HIGHまたはLOW) timeout:タイムアウト時間(us) | パルスの時間(us)を返す | パルス検出 |
| void shiftOut(dataPin, clockPin, bitOrder, value) | dataPin:データ出力するデジタル入出力のピン番号 clockPin:クロック出力するデジタル入出力のピン番号 bitOrder:出力データの順番をMSBFIRSTまたはLSBFIRSTで指定 value:出力する1Byteのデータ | なし | 1Byteのデータを出力 |
| byte incoming = shiftIn(dataPin, clockPin, bitOrder) | dataPin:データ入力するデジタル入出力のピン番号 clockPin:クロック出力するデジタル入出力のピン番号 bitOrder:入力データの順番をMSBFIRSTまたはLSBFIRSTで指定 value:出力する1Byteのデータ | 入力データを1Byteで返す | 1Bitずつの入力から1Byteのデータを取得 |
Time(時間)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| void delay(unsigned long ms) | ms:待機時間(ms) | なし | プログラムの実行を指定時間待機(ms) |
| void delayMicroseconds(unsigned int us) | us:待機時間(us) | なし | プログラムの実行を指定時間待機(us) |
| unsigned long millis(void) | なし | プログラム実行からの経過時間(ms)を返す | プログラム実行からの経過時間(ms)を計測 |
| unsigned long micros(void) | なし | プログラム実行からの経過時間(us)を返す | プログラム実行からの経過時間(us)を計測 |
あわせて読みたい


Arduino-Time関数(時間関数)の使い方
当記事では、ArduinoのTime関数(時間関数)の使い方について詳しく解説します。 Time関数を使うことによって、プログラム実行を指定時間待機したり、プログラム実行から...
Math(数学)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| min(x, y) | x:1つ目の数値 y:2つ目の数値 | 2つの数値を比べて小さい数値を返す | 2つの数値を比べて小さい数値を算出 |
| max(x, y) | x:1つ目の数値 y:2つ目の数値 | 2つの数値を比べて大きい数値を返す | 2つの数値を比べて大きい数値を算出 |
| abs(x) | x:数値 | 絶対値を返す | 絶対値を計算 |
| constrain(x, a, b) | x:対象の数値 a:範囲の最小値 b:範囲の最大値 | 範囲内の値を返す | 対象の数値が範囲内であれば、そのまま算出 範囲外であれば範囲の最小値または最大値で算出 |
| long map(long value, long fromLow, long fromHigh, long toLow, long toHigh) | value:対象の数値 fromLow:元の範囲の最小値 fromHigh:元の範囲の最大値 toLow:変換後の範囲の最小値 toHigh:変換後の範囲の最大値 | 変換した値を返す | 対象の値を元の範囲から変換後の範囲に割合で変換 |
| double pow(float base, float exponent) | base:基数 exponent:乗数 | べき乗した値を返す | べき乗計算 |
| double sqrt(x) | x:数値 | 平方根で計算した値を返す | 平方根を計算 |
| sq(x) | x:数値 | 対象の値の2乗を計算した値を返す | 対象の値の2乗を計算 |
あわせて読みたい


Arduino-Math関数(数学関数)の使い方
当記事では、ArduinoのMath関数(数学関数)の使い方について詳しく解説します。 Math関数を使うことによって、数値の比較、絶対値、べき乗、平方根などの計算をすること...
Trigonometry(三角関数)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| double cos(float rad) | rad:数値(rad) | cosで計算した値を返す | cos計算 |
| double sin(float rad) | rad:数値(rad) | sinで計算した値を返す | sin計算 |
| double tan(float rad) | rad:数値(rad) | tanで計算した値を返す | tan計算 |
あわせて読みたい


Arduino-Trigonometry関数(三角関数)の使い方
当記事では、ArduinoのTrigonometry関数(三角関数)の使い方について詳しく解説します。 Trigonometry関数を使うことによって、cos、sin、tanの計算をすることができます...
Random Numbers(乱数)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| void randomSeed(unsigned int seed) | seed:乱数の種 | なし | 乱数の種を指定 |
| long random(long max) long random(long min, long max) | min:範囲の最小値 max:範囲の最大値 | 取得した乱数 | 乱数を取得 |
あわせて読みたい


Arduino-Random Numbers関数(乱数関数)の使い方
当記事では、ArduinoのRandom Numbers関数(乱数関数)の使い方について詳しく解説します。 Random Numbers関数を使うことによって、乱数列を作成して乱数を取得すること...
Bits and Bytes(ビット・バイト)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| uint8_t lowByte(x) | x:対象の数値 | 下位Byteを返す | 下位Byteを取得 |
| uint8_t highByte(x) | x:対象の数値 | 上位Byteを返す | 上位Byteを取得 |
| boolean bitRead(x, n) | x:対象の数値 n:取得するBitの桁 | 取得Bitを返す | 指定Bitを取得 |
| void bitWrite(x, n, b) | x:対象の数値 n:取得するBitの桁 b:指定値(0または1) | なし | 特定の桁を変更した値を取得 |
| void bitSet(x, n) | x:対象の数値 n:1にするBitの桁 | なし | 特定の桁を1に変更した値を取得 |
| void bitClear(x, n) | x:対象の数値 n:0にするBitの桁 | なし | 特定の桁を0に変更した値を取得 |
| bit(n) | n:指定Bitの桁 | 指定した桁のBitを1にした値を返す | 指定した桁のBitを1にした値を取得 |
あわせて読みたい


Arduino-Bits and Bytes関数(ビット・バイト関数)の使い方
当記事では、ArduinoのBits and Bytes関数(ビット・バイト関数)の使い方について詳しく解説します。 Bits and Bytes関数を使うことによって、ビットやバイトの操作をす...
Interrupts(割り込み)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| interrupts() | なし | なし | 割り込みを有効 |
| noInterrupts() | なし | なし | 割り込みを無効 |
External Interrupts(外部割り込み)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| void attachInterrupt(digitalPinToInterrupt(pin), ISR, int mode) | digitalPinToInterrupt(pin):割り込みチャンネル ISR:割り込み時の実行関数 mode:割り込みタイミング | なし | ピンの状態によって割り込みを実行 |
| void detachInterrupt(digitalPinToInterrupt(pin)) | digitalPinToInterrupt(pin):割り込みチャンネル | なし | 特定のチャンネルの割り込みを無効 |
Communication/Serial(シリアル通信)
| 説明 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| Serial.begin(unsigned long speed) | speed:通信速度 | なし | シリアル通信を初期化 |
| end() | なし | なし | シリアル通信を終了 |
| int Serial.available() | なし | 残りByte | 読み取り可能Byte数を調べる |
| int Serial.read() | なし | 1Byte読み込んだ値を返す | 1Byte読み込み |
| int Serial.peek() | なし | 1Byte読み込んだ値を返す | 1Byte読み込み、読み取り位置は動かさない |
| Serial.flush() | なし | なし | シリアルデータの送信完了を待つ |
| Serial.write(data) Serial.write(buf, len) | data:送信データ buf:送信する配列データ len:データの長さ | 送信データのByte数 | データ送信 |
| Serial.print(val, format) | val:読み込むデータ format:基数または有効桁数 | 送信データのByte数 | 文字列送信(改行なし) |
| Serial.println(val, format) | val:読み込むデータ format:基数または有効桁数 | 送信データのByte数 | 文字列送信(改行あり) |
あわせて読みたい


Arduino-Communication関数(シリアル通信)の使い方
当記事では、ArduinoのCommunication関数(シリアル通信)の使い方について詳しく解説します。 Arduinoではシリアル通信の標準関数が用意されており、簡単にシリアル通信...
標準ライブラリ
Arduino IDEやArduino Web Editorでは、Arduino独自の標準ライブラリが用意されています。
以下のリンクがArduino公式WEBサイトのリファレンスページになります。当記事では、これらの情報を参考にArduinoの標準ライブラリをまとめています。
ちなみに、標準関数と違い、標準ライブラリの日本語ページは用意されていません。
EEPROM
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| byte Read(int address) | int address:アドレス | 1byteデータ | EEPROMの指定したアドレスから1byteデータを取得 |
| void Write(int address, byte value) | int address:アドレス byte value:1byteデータ | なし | EEPROMの指定したアドレスに1byteデータを保存 |
| int length(void) | なし | EEPROMメモリ容量 | EEPROMメモリ容量を取得 |
| void Get(int address, T & data) | int address:アドレス T &data:2byte以上のデータ | なし | EEPROMの指定したアドレスから2byte以上のデータを取得 |
| void Put(int address, const T & data) | int address:アドレス T &data:2byte以上のデータ | なし | EEPROMの指定したアドレスに2byte以上のデータを保存 |
| void Update(int address, byte value) | int address:アドレス byte value:1byteデータ | なし | EEPROMの指定したアドレスに1byteデータを保存、元データと書き込みデータが同じ場合、保存しない |
| byte EEPROM[int address] | int address:アドレス | 1byteデータ | EEPROMの指定したアドレスから1byteデータを取得、 EEPROMの指定したアドレスに1byteデータを保存 |
あわせて読みたい


Arduino-EEPROMライブラリの使い方
当記事では、ArduinoのEEPROMライブラリの使い方について詳しく解説します。 Arduinoボードには、電源を切った後でもデータを保持できる不揮発性メモリ「EEPROM」が実装...
Servo(サーボモーター)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| attach(int pin, int min, int max) | int pin:指定する int min:角度0°のパルス幅(usec)、初期値544 int max:角度180°のパルス幅(usec)、初期値2400 | インデックス値 | サーボモーターのピン番号を指定 |
| bool attached(void) | なし | 割り当てあり:true 割り当てなし:false | ピンにサーボモーターが割り当てられてるか確認 |
| void detach(void) | なし | なし | サーボモーターに割り当てられているピンを開放 |
| void write(int angle) | int angle:指定の角度 | なし | 指定角度にサーボモータを回転 |
| void writeMicroseconds(int uS) | int uS:パルス幅をusec単位で指定 | なし | パルス幅を指定してサーボモーターを回転 |
| int read(void) | なし | サーボモーターの角度 | 現在のサーボモーターの角度を読み取り |
あわせて読みたい


Arduino-Servo(サーボモーター)ライブラリの使い方
当記事では、ArduinoのServo(サーボモーター)ライブラリの使い方について詳しく解説します。 Arduinoのサーボモーター制御用ライブラリ「Servo」を使ったプログラムで、...
Wire(I2C/TWI)
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| void begin(int address) | int address:スレーブアドレス | なし | I2C初期化 |
| requestFrom(int address, int quantity, int stop) | int address:I2Cデバイスのアドレス int quantity:データのbyte数 int stop:1に指定すると、データ送信後にSTOPメッセージを送信して接続終了 0に指定するとデータ送信後も接続保持 | 受信したbyte数 | 他のI2Cデバイスにデータ要求 |
| void beginTransmission(int address) | int address:I2Cデバイスのアドレス | なし | I2Cスレーブにデータ送信開始 |
| endTransmission(int stop) | int stop:1に指定すると、データ送信後にSTOPメッセージを送信して接続終了 0に指定するとデータ送信後も接続保持 | データ送信結果 | I2Cスレーブデバイスとのデータ送信完了 |
| write(value) write(string) write(data, length) | value:1byteデータ string:文字列データ data:配列データ length:送信byte数 | 送信したbyte数 | I2Cスレーブデバイスにデータ送信 |
| int available(void) | なし | 読み込み可能byte数 | 読み込み可能なbyte数を調べる |
| int read(void) | なし | 受信byte数 | 受信したbyte数を調べる |
あわせて読みたい


Arduino-Wire(I2C)ライブラリの使い方
当記事では、ArduinoのWire(I2C)ライブラリの使い方について詳しく解説します。 ArduinoのI2C制御用ライブラリ「Wire」を使ったプログラムで、各種I2Cデバイスを動作さ...
SPI
| 関数 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| void begin(void) | なし | なし | SPI初期化 |
| void end(void) | なし | なし | SPIバス無効 |
| void beginTransaction(mySettings) | mySettings:SPIスピード、ビットオーダー、データモード | なし | SPI初期化 (SPISettingsを使用) |
| void endTransaction(void) | なし | なし | SPIバス終了 |
| void setBitOrder(order) | order:LSBFIRSTまたはMSBFIRST | なし | SPIビットオーダー設定 |
| void setClockDivider(divider) | divider: SPI_CLOCK_DIV2 SPI_CLOCK_DIV4 SPI_CLOCK_DIV8 SPI_CLOCK_DIV16 SPI_CLOCK_DIV32 SPI_CLOCK_DIV64 SPI_CLOCK_DIV128 | なし | SPIクロック分周器設定 |
| void setDataMode(mode) | mode: SPI_MODE0 SPI_MODE1 SPI_MODE2 SPI_MODE3 | なし | SPI転送モード設定 |
| int transfer(value) | value:1byteデータ | 受信byte数 | SPIデバイスとデータ送受信 |
あわせて読みたい


Arduino-SPIライブラリの使い方
当記事では、ArduinoのSPIライブラリの使い方について詳しく解説します。 ArduinoのSPI制御用ライブラリ「SPI」を使ったプログラムで、各種I2Cデバイスを動作させます。...