- Arduino 標準関数・定数一覧表(サンプルスケッチ付き)
- abs()
- analogRead(pin)
- analogReadResolution(bits)
- analogReference(type)
- analogWrite(pin, value)
- analogWriteResolution(bits)
- attachInterrupt(digitalPin, ISR, mode)
- begin()
- beginTransmission(address)
- bit()
- bitClear()
- bitRead()
- bitSet()
- bitWrite()
- byte(value)
- clear()
- constrain()
- cos()
- delay(ms)
- delayMicroseconds(us)
- detachInterrupt(digitalPin)
- detachInterrupt(pin)
- digitalPinToInterrupt(pin)
- digitalRead(pin)
- digitalWrite(pin, value)
- EEPROM.read(address)
- EEPROM.update()
- EEPROM.write(address, value)
- end()
- endTransmission()
- exp()
- float(value)
- highByte(x)
- int(value)
- interrupts()
- isDigit(c)
- isLetter(c)
- isSpace(character)
- log()
- lowByte(x)
- map(value, fromLow, fromHigh, toLow, toHigh)
- max(a, b)
- micros()
- millis()
- min(a, b)
- noInterrupts()
- noTone(pin)
- pinMode(pin, mode)
- pow(base, exponent)
- pulseIn(pin, value, timeout)
- random(min, max)
- randomSeed(seed)
- reset()
- scl()
- sda()
- Serial.available()
- Serial.flush()
- Serial.print(data)
- Serial.println(data)
- Serial.read()
- shiftIn(dataPin, clockPin, bitOrder)
- shiftOut(dataPin, clockPin, bitOrder, value)
- sin()
- sizeof()
- sqrt(x)
- strcat(string1, string2)
- strcmp(string1, string2)
- strcpy(destination, source)
- string.concat(value)
- string.toFloat()
- string.toInt()
- strlen(string)
- tan()
- toLowerCase(character)
- tone(pin, frequency, duration)
- toUpperCase(character)
- transfer(value)
- word(highByte, lowByte)
- write(value)
- yield()
Arduino 標準関数・定数一覧表(サンプルスケッチ付き)
abs()
説明: 絶対値を取得します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
int value = -123;
Serial.println(abs(value)); // 絶対値
delay(1000);
}
analogRead(pin)
説明: 指定したアナログ入力ピンからのアナログ値を読み取ります。値は0から1023までの範囲です。
サンプルスケッチ:
int sensorPin = A0; // アナログセンサーのピン
int sensorValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
delay(1000);
}
analogReadResolution(bits)
説明: アナログ入力の解像度を設定します。bits
は解像度のビット数で、10ビットなどが指定可能です。
サンプルスケッチ:
void setup() {
analogReadResolution(12); // 12ビット解像度
Serial.begin(9600);
}
void loop() {
int value = analogRead(A0);
Serial.println(value);
delay(1000);
}
analogReference(type)
説明: アナログ入力の基準電圧を設定します。内部、外部、またはデフォルトの基準を選択できます。
サンプルスケッチ:
void setup() {
analogReference(INTERNAL); // 内部1.1V基準を使用
Serial.begin(9600);
}
void loop() {
int value = analogRead(A0);
Serial.println(value);
delay(1000);
}
analogWrite(pin, value)
説明: 指定したピンにPWM信号を出力します。value
は0から255までの範囲で、デューティサイクルを指定します。
サンプルスケッチ:
int ledPin = 9; // PWM対応ピン
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
for (int i = 0; i <= 255; i++) {
analogWrite(ledPin, i);
delay(10);
}
for (int i = 255; i >= 0; i--) {
analogWrite(ledPin, i);
delay(10);
}
}
analogWriteResolution(bits)
説明: アナログ出力の解像度を設定します。bits
は解像度のビット数で、8、10、12ビットなどが指定可能です。
サンプルスケッチ:
void setup() {
analogWriteResolution(12); // 12ビット解像度
pinMode(9, OUTPUT);
}
void loop() {
analogWrite(9, 2048); // 12ビット解像度で2048の値
delay(1000);
}
attachInterrupt(digitalPin, ISR, mode)
説明: デジタルピンに対する割り込みを設定します。ISR
は割り込み処理関数、mode
はトリガ条件(RISING, FALLING, CHANGEなど)を指定します。
サンプルスケッチ:
volatile bool flag = false;
void setup() {
pinMode(2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), blink, FALLING);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
if (flag) {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
flag = false;
}
}
void blink() {
flag = true;
}
begin()
説明: シリアル通信を開始します。ボーレート(通信速度)を指定する必要があります。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Hello, World!");
delay(1000);
}
beginTransmission(address)
説明: I2C通信を開始し、指定したアドレスのデバイスにデータを送信する準備をします。
サンプルスケッチ:
#include <Wire.h>
void setup() {
Wire.begin();
}
void loop() {
Wire.beginTransmission(8); // デバイスアドレス
Wire.write("Hello");
Wire.endTransmission();
delay(1000);
}
bit()
説明: 指定したビットを設定します。
サンプルスケッチ:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
PORTB |= bit(5); // 5番目のビットをセット
delay(1000);
PORTB &= ~bit(5); // 5番目のビットをクリア
delay(1000);
}
bitClear()
説明: 指定したビットをクリアします。
サンプルスケッチ:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
bitClear(PORTB, 5); // 5番目のビットをクリア
delay(1000);
bitSet(PORTB, 5); // 5番目のビットをセット
delay(1000);
}
bitRead()
説明: 指定したビットの値を読み取ります。
サンプルスケッチ:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
bool bitValue = bitRead(PINB, 5); // 5番目のビットの値を読み取る
if (bitValue) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
delay(1000);
}
bitSet()
説明: 指定したビットをセットします。
サンプルスケッチ:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
bitSet(PORTB, 5); // 5番目のビットをセット
delay(1000);
bitClear(PORTB, 5); // 5番目のビットをクリア
delay(1000);
}
bitWrite()
説明: 指定したビットに値を設定します。
サンプルスケッチ:
int value = 0b10101010;
void setup() {
Serial.begin(9600);
}
void loop() {
bitWrite(value, 2, 1); // 2番目のビットを1に設定
Serial.println(value, BIN); // 2進数で表示
delay(1000);
}
byte(value)
説明: 値をバイト型に変換します。value
は0から255までの整数です。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
byte b = byte(150);
Serial.println(b);
delay(1000);
}
clear()
説明: LCDなどのディスプレイをクリアし、表示内容を消去します。
サンプルスケッチ:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.print("Hello");
delay(2000);
lcd.clear();
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("Arduino");
delay(1000);
}
constrain()
説明: 値を指定した範囲に制限します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
int value = analogRead(A0);
int constrainedValue = constrain(value, 0, 512);
Serial.println(constrainedValue);
delay(1000);
}
cos()
説明: 余弦を計算します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
float angle = 45.0;
Serial.println(cos(angle * PI / 180.0)); // 角度をラジアンに変換
delay(1000);
}
delay(ms)
説明: 指定したミリ秒だけプログラムの実行を停止します。ms
は遅延時間をミリ秒単位で指定します。
サンプルスケッチ:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // 1秒待機
digitalWrite(LED_BUILTIN, LOW);
delay(1000); // 1秒待機
}
delayMicroseconds(us)
説明: 指定したマイクロ秒だけプログラムの実行を停止します。us
は遅延時間をマイクロ秒単位で指定します。
サンプルスケッチ:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delayMicroseconds(500); // 500マイクロ秒待機
digitalWrite(LED_BUILTIN, LOW);
delayMicroseconds(500); // 500マイクロ秒待機
}
detachInterrupt(digitalPin)
説明: 指定したデジタルピンの割り込みを解除します。これにより、割り込み処理が無効になります。
サンプルスケッチ:
volatile bool flag = false;
void setup() {
pinMode(2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), blink, FALLING);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
if (flag) {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
flag = false;
}
}
void blink() {
flag = true;
detachInterrupt(digitalPinToInterrupt(2)); // 割り込み解除
}
detachInterrupt(pin)
説明: 指定したピンの外部割り込みを無効にします。
サンプルスケッチ:
void setup() {
pinMode(13, OUTPUT);
attachInterrupt(digitalPinToInterrupt(2), toggle, CHANGE);
delay(5000); // 5秒後に割り込みを無効化
detachInterrupt(digitalPinToInterrupt(2));
}
void loop() {
digitalWrite(13, HIGH); // 割り込みが無効化された後もピン13はHIGHを保持
}
void toggle() {
digitalWrite(13, LOW); // 割り込み時にピン13をLOWに設定
}
digitalPinToInterrupt(pin)
説明: デジタルピン番号を割り込み番号に変換します。割り込みを設定する際に使用します。
サンプルスケッチ:
void setup() {
pinMode(2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), blink, FALLING);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
// 何もしない
}
void blink() {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
digitalRead(pin)
説明: 指定したデジタルピンの状態を読み取ります。値はHIGH
またはLOW
です。
サンプルスケッチ:
int buttonPin = 2; // ボタンピン
int buttonState = 0;
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
delay(1000);
}
digitalWrite(pin, value)
説明: 指定したデジタルピンにHIGH
またはLOW
の値を書き込みます。ピンを出力モードに設定する必要があります。
サンプルスケッチ:
int ledPin = 13; // LEDピン
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000); // 1秒点灯
digitalWrite(ledPin, LOW);
delay(1000); // 1秒消灯
}
EEPROM.read(address)
説明: EEPROMの指定したアドレスからデータを読み取ります。アドレスは0から1023の範囲で指定します。
サンプルスケッチ:
#include <EEPROM.h>
void setup() {
Serial.begin(9600);
int value = EEPROM.read(0);
Serial.println(value);
}
void loop() {
// 何もしない
}
EEPROM.update()
説明: EEPROMにデータを更新します(値が変わった場合のみ)。
サンプルスケッチ:
#include <EEPROM.h>
void setup() {
EEPROM.update(0, 123); // アドレス0にデータ123を更新
}
void loop() {
}
EEPROM.write(address, value)
説明: EEPROMの指定したアドレスにデータを書き込みます。address
は0から1023の範囲で、value
は0から255までの範囲です。
サンプルスケッチ:
#include <EEPROM.h>
void setup() {
Serial.begin(9600);
EEPROM.write(0, 123); // アドレス0に123を書き込む
delay(1000);
int value = EEPROM.read(0);
Serial.println(value);
}
void loop() {
// 何もしない
}
end()
説明: シリアル通信を終了します。これにより、シリアルポートが閉じられます。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
delay(2000);
Serial.end(); // シリアル通信終了
}
void loop() {
// 何もしない
}
endTransmission()
説明: I2C通信を終了します。データの送信を完了させるために使用します。
サンプルスケッチ:
#include <Wire.h>
void setup() {
Wire.begin();
Wire.beginTransmission(8); // デバイスアドレス
Wire.write("Hello");
Wire.end
Transmission(); // 通信終了
}
void loop() {
// 何もしない
}
exp()
説明: 指数関数を計算します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
float exponent = 2.0;
Serial.println(exp(exponent)); // 指数関数
delay(1000);
}
float(value)
説明: 値を浮動小数点型に変換します。value
は整数または小数です。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
float f = float(123.456);
Serial.println(f);
delay(1000);
}
highByte(x)
説明: 指定した数値の上位バイトを返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
int value = 0x1234;
byte high = highByte(value); // 上位バイトを取得
Serial.println(high, HEX); // 16進数で表示
delay(1000);
}
int(value)
説明: 値を整数型に変換します。value
は浮動小数点数または整数です。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
int i = int(123.456);
Serial.println(i);
delay(1000);
}
interrupts()
説明: 割り込みを有効にします。
サンプルスケッチ:
void setup() {
interrupts(); // 割り込みを有効にする
}
void loop() {
// 割り込み有効な状態での動作
}
isDigit(c)
説明: 文字c
が数字かどうかを判定します。数字の場合はtrue
を返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char c = '5';
if (isDigit(c)) {
Serial.println("Digit");
} else {
Serial.println("Not Digit");
}
delay(1000);
}
isLetter(c)
説明: 文字c
がアルファベットかどうかを判定します。アルファベットの場合はtrue
を返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char c = 'A';
if (isLetter(c)) {
Serial.println("Letter");
} else {
Serial.println("Not Letter");
}
delay(1000);
}
isSpace(character)
説明: 指定された文字がスペースかどうかを確認します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char character = ' ';
if (isSpace(character)) {
Serial.println("スペースです");
} else {
Serial.println("スペースではありません");
}
delay(1000);
}
log()
説明: 自然対数を計算します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
float value = 10.0;
Serial.println(log(value)); // 自然対数
delay(1000);
}
lowByte(x)
説明: 指定した数値の下位バイトを返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
int value = 0x1234;
byte low = lowByte(value); // 下位バイトを取得
Serial.println(low, HEX); // 16進数で表示
delay(1000);
}
map(value, fromLow, fromHigh, toLow, toHigh)
説明: 値value
を指定した範囲にスケーリングします。fromLow
とfromHigh
が元の範囲、toLow
とtoHigh
が新しい範囲です。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
int mappedValue = map(100, 0, 255, 0, 100); // 0-255を0-100にマッピング
Serial.println(mappedValue);
delay(1000);
}
max(a, b)
説明: 2つの値のうち、大きい方の値を返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
int a = 10;
int b = 20;
Serial.println(max(a, b));
delay(1000);
}
micros()
説明: プログラムが開始されてから経過した時間をマイクロ秒単位で返します。
サンプルスケッチ:
unsigned long startTime;
void setup() {
Serial.begin(9600);
startTime = micros();
}
void loop() {
unsigned long elapsedTime = micros() - startTime;
Serial.println(elapsedTime); // 経過時間を表示
delay(1000);
}
millis()
説明: プログラム開始からの経過時間をミリ秒単位で取得します。
サンプルスケッチ:
unsigned long startTime;
void setup() {
Serial.begin(9600);
startTime = millis();
}
void loop() {
unsigned long currentTime = millis();
Serial.println(currentTime - startTime); // プログラム開始からの経過時間を表示
delay(1000);
}
min(a, b)
説明: 2つの値のうち、小さい方の値を返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
int a = 10;
int b = 20;
Serial.println(min(a, b));
delay(1000);
}
noInterrupts()
説明: 割り込みを無効にします。割り込みを一時的に停止するために使用します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
noInterrupts();
Serial.println("Interrupts Disabled");
delay(2000);
interrupts();
Serial.println("Interrupts Enabled");
delay(2000);
}
noTone(pin)
説明: tone()
で発生させた音を停止します。
サンプルスケッチ:
int speakerPin = 8;
void setup() {
pinMode(speakerPin, OUTPUT);
tone(speakerPin, 1000); // 1kHzで音を鳴らす
delay(1000);
noTone(speakerPin); // 音を止める
}
void loop() {
// 何もしない
}
pinMode(pin, mode)
説明: デジタルピンの入力または出力を設定します。pin
はピン番号、mode
はINPUT
、OUTPUT
、またはINPUT_PULLUP
です。
サンプルスケッチ:
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
pow(base, exponent)
説明: 指定した数値のべき乗を計算します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
float base = 2.0;
float result = pow(base, 3); // 2の3乗を計算
Serial.println(result);
delay(1000);
}
pulseIn(pin, value, timeout)
説明: 指定したピンで、value
(HIGH
またはLOW
)のパルスの長さを測定します。timeout
はタイムアウト時間です。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
pinMode(7, INPUT);
}
void loop() {
unsigned long duration = pulseIn(7, HIGH, 1000000); // 最大1秒待つ
Serial.println(duration);
delay(1000);
}
random(min, max)
説明: min
とmax
の範囲内でランダムな整数を返します。min
は含まれ、max
は含まれません。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop() {
int randValue = random(1, 100);
Serial.println(randValue);
delay(1000);
}
randomSeed(seed)
説明: 擬似乱数の初期シードを設定します。
サンプルスケッチ:
void setup() {
randomSeed(analogRead(0)); // アナログピンA0からランダムシードを取得
}
void loop() {
int r = random(0, 100); // 0から100までの乱数を生成
Serial.println(r);
delay(1000);
}
reset()
説明: マイコンをリセットします。ソフトウェアからリセットを発行するために使用します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
Serial.println("Resetting...");
delay(2000);
asm volatile (" jmp 0");
}
void loop() {
// 何もしない
}
scl()
説明: I2C通信のクロック線(SCL)を設定します。通常、ライブラリ内で使用されます。
サンプルスケッチ:ライブラリ依存の為省略
sda()
説明: I2C通信のデータ線(SDA)を設定します。通常、ライブラリ内で使用されます。
サンプルスケッチ:ライブラリ依存の為省略
Serial.available()
説明: シリアルポートに読み取るデータがどれだけ存在するかをバイト数で返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
char data = Serial.read();
Serial.println(data);
}
delay(100);
}
Serial.flush()
説明: シリアルポートの送信バッファをクリアします。全てのデータが送信されるのを待ちます。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Hello");
Serial.flush(); // データが送信されるまで待つ
delay(1000);
}
Serial.print(data)
説明: シリアルポートにデータを出力します。data
は文字列、数値、または他のデータ型です。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Value: ");
Serial.println(123);
delay(1000);
}
Serial.println(data)
説明: シリアルポートにデータを出力し、行の終わりで改行します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Hello, World!");
delay(1000);
}
Serial.read()
説明: シリアルポートから1バイトのデータを読み取ります。データがない場合は-1を返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
char data = Serial.read();
Serial.println(data);
}
delay(100);
}
shiftIn(dataPin, clockPin, bitOrder)
説明: 指定されたピンからシフトレジスタを使ってデータを入力します。
サンプルスケッチ:
void setup() {
pinMode(8, INPUT); // データピン
pinMode(9, OUTPUT); // クロックピン
Serial.begin(9600);
}
void loop() {
byte value = shiftIn(8, 9, MSBFIRST); // MSBファーストでデータをシフトイン
Serial.println(value, BIN); // データを2進数で表示
delay(1000);
}
shiftOut(dataPin, clockPin, bitOrder, value)
説明: 指定したデジタルピンに対して、ビットを順番にシフトアウトします。dataPin
はデータピン、clockPin
はクロックピン、bitOrder
はビット順序、value
はシフトアウトする値です。
サンプルスケッチ:
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
void loop() {
shiftOut(2, 3, MSBFIRST, 0xFF); // 8ビット全てHIGH
delay(1000);
shiftOut(2, 3, MSBFIRST, 0x00); // 8ビット全てLOW
delay(1000);
}
sin()
説明: 正弦を計算します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
float angle = 45.0;
Serial.println(sin(angle * PI / 180.0)); // 角度をラジアンに変換
delay(1000);
}
sizeof()
説明: データ型または変数のサイズを取得します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
int num = 123;
Serial.println(sizeof(num)); // 変数numのサイズ
}
void loop() {
}
sqrt(x)
説明: 値x
の平方根を計算します。x
は非負の数でなければなりません。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
float result = sqrt(16.0);
Serial.println(result);
delay(1000);
}
strcat(string1, string2)
説明: 2つの文字列を連結します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char text1[20] = "Hello";
char text2[] = " World";
strcat(text1, text2); // 文字列を連結
Serial.println(text1); // 結果を表示
delay(1000);
}
strcmp(string1, string2)
説明:2つの文字列を比較します。等しい場合は0を返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char text1[] = "Arduino";
char text2[] = "Arduino";
if (strcmp(text1, text2) == 0) {
Serial.println("文字列は等しいです");
} else {
Serial.println("文字列は異なります");
}
delay(1000);
}
strcpy(destination, source)
説明:文字列を別の文字列にコピーします。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char source[] = "Arduino";
char destination[10];
strcpy(destination, source); // 文字列をコピー
Serial.println(destination); // 結果を表示
delay(1000);
}
string.concat(value)
説明:文字列に他のデータを追加します。
サンプルスケッチ:
String text = "Hello";
void setup() {
Serial.begin(9600);
}
void loop() {
text.concat(" World!"); // " World!"を追加
Serial.println(text); // 結果を表示
delay(1000);
}
string.toFloat()
説明:文字列を浮動小数点数に変換します。
サンプルスケッチ:
String text = "123.45";
void setup() {
Serial.begin(9600);
}
void loop() {
float number = text.toFloat(); // 文字列を浮動小数点数に変換
Serial.println(number);
delay(1000);
}
string.toInt()
説明:文字列を整数に変換します。
サンプルスケッチ:
String text = "1234";
void setup() {
Serial.begin(9600);
}
void loop() {
int number = text.toInt(); // 文字列を整数に変換
Serial.println(number);
delay(1000);
}
strlen(string)
説明:文字列の長さを返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char text[] = "Arduino";
int length = strlen(text); // 文字列の長さを取得
Serial.println(length);
delay(1000);
}
tan()
説明: 正接を計算します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
float angle = 45.0;
Serial.println(tan(angle * PI / 180.0)); // 角度をラジアンに変換
delay(1000);
}
toLowerCase(character)
説明:指定された文字を小文字に変換します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char character = 'A';
char lowerCase = toLowerCase(character); // 大文字を小文字に変換
Serial.println(lowerCase);
delay(1000);
}
tone(pin, frequency, duration)
説明: 指定したピンで指定した周波数の音を鳴らします。duration
は音の長さをミリ秒単位で指定します。
サンプルスケッチ:
int speakerPin = 8;
void setup() {
pinMode(speakerPin, OUTPUT);
}
void loop() {
tone(speakerPin, 1000, 500); // 1kHzの音を500ミリ秒鳴らす
delay(1000);
}
toUpperCase(character)
説明:指定された文字を大文字に変換します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
char character = 'a';
char upperCase = toUpperCase(character); // 小文字を大文字に変換
Serial.println(upperCase);
delay(1000);
}
transfer(value)
説明: SPI通信でデータを送受信します。value
は送信するデータです。
サンプルスケッチ:
#include <SPI.h>
void setup() {
SPI.begin();
}
void loop() {
byte received = SPI.transfer(0xFF); // 0xFFを送信し、受信データを取得
Serial.println(received);
delay(1000);
}
word(highByte, lowByte)
説明:2つのバイトを結合して16ビットの整数を返します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
byte high = 0x12;
byte low = 0x34;
unsigned int result = word(high, low); // 2つのバイトを結合
Serial.println(result, HEX); // 16進数で表示
delay(1000);
}
write(value)
説明: デバイスにデータを書き込みます。通常、I2CやSPIデバイスにデータを送信するために使用されます。
サンプルスケッチ:
#include <Wire.h>
void setup() {
Wire.begin();
}
void loop() {
Wire.beginTransmission(8); // デバイスアドレス
Wire.write("Hello");
Wire.endTransmission();
delay(1000);
}
yield()
説明: 他のタスクに処理を譲るために使います。特に、delay()
やdelayMicroseconds()
を使わないでいる場合に、処理を中断して他のタスクを実行するために使用します。
サンプルスケッチ:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Yielding...");
yield();
delay(1000);
}
コメント