目次
動画
動画内で使用したスケッチ
基本スケッチ(テンプレ)
Arduino IDEのシリアルモニタから送られてきたデータを、数値として受け取るスケッチの基本形です。
スケッチのテンプレとして利用できますので、活用してみてください。
/*
シリアルモニタから送られてきたデータを
数値として受け取る基本スケッチ
*/
void setup() {
Serial.begin(9600); // シリアル通信を9600bpsで初期化
}
void loop() {
if (Serial.available() > 0) { // バッファにデータが来ているか確認
String serialData = Serial.readStringUntil(10); // LFの前までの文字列を読み取る
int value = serialData.toInt(); // 読み取った文字列を数値に変換
// ここに変数valueを使ったスケッチを書く
// 例) valueの周波数でスピーカーで1秒間音を出す
// tone(スピーカー接続端子, value);
// delay(1000);
// noTone(スピーカー接続端子);
}
}
指定された時間分LEDを点灯するスケッチ
シリアルモニタから送られてきたデータを数値として受け取り、その数値の時間分LEDを点灯するスケッチの例です。1回ではわかりづらいので3回点灯するようにしています。
/*
シリアルモニタから送られてきたデータを数値として受け取って、
その時間分LEDを点灯するスケッチ
*/
#define LED_PIN 12 // LED接続端子
void setup() {
Serial.begin(9600); // シリアル通信を9600bpsで初期化
pinMode(LED_PIN, OUTPUT); // LED接続端子の出力設定
}
void loop() {
if (Serial.available() > 0) { // バッファにデータが来ているか確認
String serialData = Serial.readStringUntil(10); // LFの前までの文字列を読み取る
int value = serialData.toInt(); // 読み取った文字列を数値に変換
// value時間分LEDを3回点灯する
for( int i=0; i<3; i++) {
digitalWrite(LED_PIN, HIGH);
delay(value);
digitalWrite(LED_PIN, LOW);
delay(1000);
}
}
}