🤖
エンジくん
Arduinoはセンサーの値や状態をパソコンに送って「おしゃべり」できるよ!これがシリアル通信。プログラムのバグを見つける「デバッグ」にも必須のスキルだ!
1このレッスンで学ぶこと
- 💬 シリアル通信とは — ArduinoとPCが文字で話す仕組み
- 📟 Serial.begin / print / println — 基本の3関数
- 🔢 数値も文字も送れる — センサー値の確認に最適
- 🎮 シリアルモニター体験ゲーム — ボタンを押してArduinoの「声」を聞
2用意するもの
💡 このレッスンはArduinoとUSBだけでOK!ハードウェア不要。
3シリアル通信ってなに?
ArduinoはUSBケーブルを通してパソコンと文字や数字を送り合えます。これを「シリアル通信」といいます。Arduino IDEの「シリアルモニター」を開くと、Arduinoが送ってくる文字が画面に表示されます。
Serial.begin(9600)
setup()に書く。シリアル通信を速度9600bpsで開始する。シリアルモニターとボーレートを合わせること!
Serial.print(x)
xを送信する。改行なし。文字は"Hello"のようにダブルクォートで囲む。
Serial.println(x)
xを送信して改行。センサー値を1行ずつ表示するときに最適!
millis()
電源ONからの経過ミリ秒を返す。タイマーや時間計測に使える。
🤖
エンジくん
シリアルモニターは「Arduinoの声」が聞こえる窓だよ!センサーの値が正しく読めているか確認したいとき、必ずお世話になるよ。
4コードを書いてみよう
基本の「Hello World」から始めよう。
void setup() {
Serial.begin(9600); // 通信開始
Serial.println("Hello, Arduino!"); // 起動メッセージ
}
void loop() {
Serial.print("時間: ");
Serial.print(millis());
Serial.println(" ms");
delay(1000);
}
Serial.begin(9600); // 通信開始
Serial.println("Hello, Arduino!"); // 起動メッセージ
}
void loop() {
Serial.print("時間: ");
Serial.print(millis());
Serial.println(" ms");
delay(1000);
}
📺 シリアルモニターの開き方
- Arduino IDEの右上の「🔍」ボタン(または Ctrl+Shift+M)
- 右下のボーレートを「9600 baud」に設定
- →ボタンでスケッチを書き込むと文字が流れてくる!
次は変数の値やLEDの状態も表示してみよう:
int counter = 0;
int ledPin = 13;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
Serial.println("=== Blink Counter ===起動");
}
void loop() {
counter++;
Serial.print("点灯回数: ");
Serial.println(counter);
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
int ledPin = 13;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
Serial.println("=== Blink Counter ===起動");
}
void loop() {
counter++;
Serial.print("点灯回数: ");
Serial.println(counter);
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
5実際にやってみよう!
6クイズに挑戦!
🤖
エンジくん
シリアル通信の基本は覚えたかな?4問チャレンジ!
クイズを読み込み中…
7シリアルモニター体験ゲーム🎮
🤖
エンジくん
Arduinoが実際にどんな文字を送るか、ボタンで体験してみよう!各ボタンが「Arduinoの動作」を表しているよ。
🔬 観察してみよう!
- ✅ 電源ONはsetup()の中のSerial.println()が一度だけ実行される
- ✅ カウンターはloop()がずっと繰り返されるので数字が増え続ける
- ✅ センサー値はloop()で毎回読んで表示するので変化が分かる
8まとめ
- ✅
Serial.begin(9600)でシリアル通信を開始する - ✅
Serial.print()は改行なし、Serial.println()は改行あり - ✅ 文字は
"..."ダブルクォート、数字はそのまま送れる - ✅ シリアルモニターとArduinoのボーレートを合わせること
- ✅ センサー値の確認(デバッグ)に大活躍!