ArduinoでRGB LEDをマスターする: ステップバイステップチュートリアル
このArduinoチュートリアルでは、RGB LEDとは何か、そしてArduinoボードでどのように使用するかを学びます。以下の動画をご覧いただくか、書面によるチュートリアルをお読みください。 RGB LEDは、赤、緑、青の3原色を混ぜることでさまざまな色を発光できます。実際には赤、緑、青の3つの個別のLEDが1つのケースにパッケージされています。そのため4本のリード線があり、3色それぞれ用のリードと、RGB LEDのタイプによって共通カソードまたは共通アノードの1本があります。このチュートリアルでは共通カソードタイプを使用します。 カソードをグラウンドに接続し、3つのアノードを220Ω抵抗を介してArduinoボードのPWM信号出力可能な3つのデジタルピンに接続します。PWMを使ってアナログ出力をシミュレートし、LEDに異なる電圧レベルを供給することで目的の色を得ます。 PWMを使ってアナログ出力をシミュレートし、LEDに異なる電圧レベルを供給することで目的の色を得ます。 それではArduinoスケッチを見てみましょう。ピン番号7、6、5を使用し、それぞれredPin、greenPin、bluePinと名付けます。setup()ではこれらを出力に設定します。スケッチの下部にはsetColor()というカスタム関数があり、redValue、greenValue、blueValueの3つの引数を取ります。これらの引数はLEDの輝度、つまりanalogWrite()関数で作成されるPWM信号のデューティサイクルを表します。これらの値は0〜255の範囲で、PWM信号の100%デューティサイクル、つまり最大LED輝度を表します。 loop()関数では、毎秒LEDの色を変えるプログラムを作ります。LEDを赤く光らせるには、setColor()関数を呼び出し、redValue引数に255、他の2つに0を設定します。同様に緑と青の基本色も得られます。他の色を得るには引数の値を混ぜます。例えば3つすべてのLEDを最大輝度に設定すると白色になり、引数に赤170、緑0、青255を設定すると紫色になります。スケッチのデモンストレーションは動画でご覧いただけます。RGB LEDとは?

このチュートリアルに必要なコンポーネント
ArduinoとRGB LEDの回路図


ソースコード
int redPin= 7;
int greenPin = 6;
int bluePin = 5;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
setColor(255, 0, 0); // 赤色
delay(1000);
setColor(0, 255, 0); // 緑色
delay(1000);
setColor(0, 0, 255); // 青色
delay(1000);
setColor(255, 255, 255); // 白色
delay(1000);
setColor(170, 0, 255); // 紫色
delay(1000);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}コード言語: Arduino (arduino)
製造プロセス
- Arduino Nano 33 IoT製 フライトシミュレーター2020用コックピットパネル - LCD&CDI表示
- Microsoft Flight Simulator 2020用Arduinoスイッチ&LEDパネル
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- Arduino RGB LEDカラーミキサー:初心者向けDIYプロジェクト
- Arduino Unoで8×8 LEDマトリックスを制御:ステップバイステップガイド
- 屋外対応DMX制御RGB LED投光器 – 低コスト・高性能・自作PCB
- サーミスタを使った温度測定: Arduinoステップバイステップガイド
- Arduinoで楽器演奏:音階生成のステップバイステップガイド
- ArduinoをNMEA-0183に接続するステップバイステップガイド
- ArduinoでModbusをマスターする:ステップバイステップガイド
- MSGEQ7オーディオビジュアライザー付きRGB LEDバックライト(TV・デスク用)