つまみで LED の明るさを制御する
ポテンショメーターの読み取り値と PWM 出力を組み合わせます
「つまみで 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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- PWM の実際の動作
- analogWrite 0~255
- LED を明るくしたり暗くしたりする
- つまみで LED の明るさを制御する