🤖
エンジくん
Lesson 7でつまみの値を読んだね。今日はその値をシリアルモニターに「グラフ」として表示しよう!for文という繰り返しの魔法を覚えるよ!
1このレッスンで学ぶこと
- 🔁 for文 — 指定した回数だけ繰り返す
- 📊 シリアルグラフ — ★を並べてテキストグラフを作る
- 🔢 map()関数 — センサー値をグラフの長さに変換
- 🎛 つまみ — 可変抵抗でリアルタイム制御
- 🎮 アナログメーターシミュレーター — スライダーでグラフを操作!
2用意するもの
3for文ってなんだろう?
for文は「同じことを決まった回数だけ繰り返す」ための命令です。★を5個表示したいとき、5回Serial.print('★')を書く代わりにfor文1つで書けます!
for ( 初期化 ; 条件 ; 更新 ) { … }
① 初期化(最初の1回)
int i = 0
変数iを0からスタート
② 条件(毎回チェック)
i < bars
iがbars未満の間ループ
③ 更新(1回ごとに)
i++
iを1ずつ増やす
👉 for(int i=0; i<5; i++) なら → i=0,1,2,3,4 の5回ループします
4コードを見てみよう
const int POT = A0; // 可変抵抗のピン
void setup() {
Serial.begin(9600);
}
void loop() {
int raw = analogRead(POT); // 0〜1023
int bars = map(raw, 0, 1023, 0, 50); // 棒の数(0〜50)
// ★をbars個並べる
for (int i = 0; i < bars; i++) {
Serial.print('★');
}
Serial.println(); // 改行
delay(200);
}
💡 Serial.println()を引数なしで呼ぶと改行だけ送れます。★の後に忘れずに!
5回路のつなぎ方
⚠️ Lesson 7と全く同じ配線です!LEDはなくてOK。シリアルモニターだけで確認できます。
6実際につないでみよう!
7クイズに挑戦!
🤖
エンジくん
for文とmap()の組み合わせはよく使う技術だよ。しっかり覚えよう!
クイズを読み込み中…
8アナログメーターシミュレーター 📊
🤖
エンジくん
スライダーを動かしてみよう!シリアルモニターにどんなグラフが出るかリアルタイムで確認できるよ!
📊 アナログメーターシミュレーター — スライダーを動かそう!
← 左に回す 右に回す →
512
analogRead (0〜1023)
25
棒の数 (0〜50)
9まとめ
- ✅
for(int i=0; i<N; i++)でN回繰り返せる - ✅
map()でセンサー値をグラフの長さに変換 - ✅
Serial.print('★')でキャラクターを並べてグラフを作る - ✅
Serial.println()(引数なし)で改行だけ送る - ✅ for文は値を変えるだけでグラフの形が変えられる!