ホーム 🤖 Arduino入門にゅうもん Lesson 7
🤖 Chapter 2 • Arduino入門にゅうもん

つまみをまわしてアナログ制御せいぎょ!PWMの魔法まほう

⏱ やく45ぷん
🤖 Arduino使用しよう
🎛 可変抵抗かへんていこう・PWM
🤖
エンジくん これまではLEDをON/OFFしていたね。今日は「つまみ可変抵抗かへんていこう)」をまわすとLEDのあかるさがなめらかにわる「アナログ制御せいぎょ」をまなぼう!

1
このレッスンでまなぶこと

  • 🎛 可変抵抗かへんていこう(つまみ) — 0〜1023のを読む
  • 📡 analogRead() / analogWrite() — アナログ入出力にゅうしゅつりょくの基本
  • PWMとは — 高速ON/OFFで「中間の明るさ」を作る
  • 🔢 map()関数 — 0〜1023を0〜255に変換する
  • 🎮 つまみシミュレーター — ドラッグして明るさを操作!

2
用意よういするもの

💡 部品名をクリックすると詳しい説明とAmazonリンクが見られるよ!

3
analogRead と analogWrite

analogRead(A0)
0 〜 1023

アナログピン(A0〜A5)の電圧でんあつむ。0Vなら0、5Vなら1023。可変抵抗かへんていこうやセンサーのむのに使つかう。

analogWrite(9, x)
0 〜 255

PWM対応たいおうピン(~3,5,6,9,10,11)にPWM信号しんごう出力しゅつりょく。0で消灯、255で最大輝度きど

🔄 map()関数

map(value, fromLow, fromHigh, toLow, toHigh)

ある範囲はんいを別の範囲はんい比例ひれい変換します。

int raw = analogRead(A0); // 0〜1023
int pwm = map(raw, 0, 1023, 0, 255); // 0〜255に変換
🤖
エンジくん PWMピンはボードに「~」マークがついているよ!D9・D10・D11はLesson 5で使ったピンと同じ。PWMとデジタル出力を両方りょうほう使えるよ。

4
PWMのしくみ

Arduinoのデジタルピンは5Vか0Vしか出せません。でも高速でON/OFFをかえすと、目や部品には「2.5V」のようにえます。これがPWMの魔法まほう

25%(暗い) 50%(中くらい) 75%(明るい) HIGH LOW

ON時間の割合(デューティ比)を変えると平均電圧が変わる

5
コードをこう

// つまみでLEDの明るさを制御
int potPin = A0; // 可変抵抗のピン
int ledPin = 9; // LEDのピン(PWM対応)

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int raw = analogRead(potPin); // 0〜1023
  int pwm = map(raw, 0, 1023, 0, 255); // 0〜255に変換
  analogWrite(ledPin, pwm); // LEDの明るさを変える

  Serial.print("raw="); Serial.print(raw);
  Serial.print(" pwm="); Serial.println(pwm);
  delay(50);
}
🔌 配線のポイント
  • 可変抵抗かへんていこうの3本足:左端→GND、中央→A0、右端→5V
  • D9(PWM) → 220Ω → LEDアノード → GND
  • つまみを回すとA0の電圧が0〜5Vで変わる

6
実際じっさいにつないでみよう!

🎉 アナログ制御せいぎょマスター!PWMでLEDをなめらかにあやつれるようになったね!

7
クイズに挑戦ちょうせん

🤖
エンジくん PWMとアナログ制御せいぎょ仕組しくみは理解りかいできたかな?
クイズをちゅう

8
つまみシミュレーター🎮

🤖
エンジくん 仮想かそうのつまみをドラッグしてまわしてみよう!LEDのあかるさとPWM波形はけいがリアルタイムでわるよ!
🎛 アナログ制御シミュレーター — つまみをドラッグして回そう!
可変抵抗(つまみ)
ドラッグで回す
LED
0%
0
analogRead (0〜1023)
0
analogWrite / PWM (0〜255)
0.0V
平均電圧
0%
デューティ比
📊 PWM波形 — 黄色がHIGH(5V)、グレーがLOW(0V)
🏆

Lesson 7 完了かんりょう

PWMでアナログ制御せいぎょをマスターしたよ!

つぎのレッスンへ → ボタン入力にゅうりょく

9
まとめ

  • analogRead(A0)可変抵抗かへんていこう(0〜1023)をめる
  • analogWrite(9, val)でPWM出力しゅつりょく(0〜255)を制御せいぎょ
  • ✅ PWMは高速ON/OFFで「中間のあかるさ」を作る
  • map()ことなる範囲はんい数値すうち変換へんかんできる
  • ✅ PWM対応たいおうピンは「~」マークき(D3,5,6,9,10,11)
← Lesson 6にもど 🏠 ホーム つぎのレッスン →