void setup() {
Serial.begin(9600); // シリアル通信を9600ボーレートで開始
}
void loop() {
if (Serial.available() > 0) {
String input = Serial.readStringUntil('\n'); // 改行までの文字列を取得
// 受け取った文字列が整数かどうかをチェック
if (isInteger(input)) {
int value = input.toInt(); // 整数に変換
if (value >= -100 && value <= 100) {
Serial.println("Valid integer: " + String(value));
} else {
Serial.println("Integer out of range");
}
} else {
Serial.println("Invalid input: Not an integer");
}
}
}
bool isInteger(String str) {
if (str.length() == 0) return false;
int i = 0;
if (str[0] == '-') {
if (str.length() == 1) return false; // 単なる '-' だけは無効
i = 1;
}
for (; i < str.length(); i++) {
if (!isDigit(str[i])) return false;
}
return true;
}