Arduino & IoT Academy · レッスン

つまみで LED の明るさを制御する

ポテンショメーターの読み取り値と PWM 出力を組み合わせます

レッスン 4/413 ステップ

「つまみで LED の明るさを制御する」はCoddyKit上の無料Arduino & IoT Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはArduino & IoT Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Arduino & IoT Academyコースには全4レッスンが含まれています。

つまみに操作させる

ここでは2つのスキルを組み合わせます。ポテンショメーターを読み取り、その値でLEDの明るさをリアルタイムに設定します。🎛️

つましは0から1023を表す

つまみを回すと、analogReadから0から1023の値が得られます。これは、つまみの位置を数値で表したものです。

int knob = analogRead(A0);

LEDが求めるのは0から255

しかしanalogWriteが受け取れるのは0から255だけです。2つの範囲は一致しないため、つまみの値をそのまま渡すことはできません。

map()で差を埋める

map関数は、ある範囲の数値を別の範囲に再スケーリングします。広いつまみの範囲を、狭いLEDの範囲に変換できます。

int led = map(knob, 0, 1023, 0, 255);

LEDに送る

変換した値をanalogWriteに渡します。これで、LEDの明るさがつまみを設定した位置に正確に追従します。

analogWrite(9, led);

ポテンショメーターを配線する

ポテンショメーターの外側の端子を5VとGNDに接続し、中央のワイパー端子をアナログピンA0に接続します。これでボードが値を読み取れます。

setup()でピンを設定する

LEDのピンには引き続きOUTPUTが必要です。アナログ入力ピンにはpinModeが不要なので、setupは短くシンプルなままです。

void setup() {
  pinMode(9, OUTPUT);
}

完全なloop()

繰り返しのたびにつまみを読み取り、mapで変換して書き込みます。loopは高速で繰り返されるため、ダイヤルを回すとLEDがすぐに反応します。

void loop() {
  int knob = analogRead(A0);
  int led = map(knob, 0, 1023, 0, 255);
  analogWrite(9, led);
}

ショートカットでmapを省略する

つまみの値を割り算で4で割る方法もあります。1023を4で割ると約255になるためです。動作はしますが、mapのほうが意図を読み取りやすくなります。

int led = knob / 4;

方向に注意する

つまみを上げたときにLEDが暗くなる場合は、mapの出力範囲を255、0の順に入れ替えるか、ポテンショメーターの外側の配線を逆にしてください。

インターフェースを作った

読み取り、変換、書き込みというパターンは、IoTのいたるところで使われています。センサーから入力し、役立つ範囲に変換して、ハードウェアを動かします。🚀

理解度チェック

このプロジェクトでmapが重要な理由を思い出しましょう。

復習:つまみから明るさへ

analogReadでつまみを読み取り、mapで0から1023を0から255に変換し、その値をanalogWriteに渡します。実際に使える調光器を作りました。🎉

無料で開始

AI チューターと学ぶ C++ — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「つまみで LED の明るさを制御する」レッスンは無料ですか?

はい。「つまみで LED の明るさを制御する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Arduino & IoT Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Arduino & IoT Academyコースには全4レッスンが含まれています。

「つまみで LED の明るさを制御する」で何を学びますか?

ポテンショメーターの読み取り値と PWM 出力を組み合わせます ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Arduino & IoT Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのArduino & IoT Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「つまみで LED の明るさを制御する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このArduino & IoT Academyレッスンでコードを書いて実行できますか?

はい。すべてのArduino & IoT Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. PWM の実際の動作
  2. analogWrite 0~255
  3. LED を明るくしたり暗くしたりする
  4. つまみで LED の明るさを制御する
← Arduino & IoT Academyに戻る