戻る

VelxioでArduinoを使ったRGB LEDカラーサイクリング

はじめに

RGB LEDでカラフルな光のエフェクトを作りたいと思ったことはありませんか?しかし、手元に部品がないという方もご安心ください。Velxioを使えば、ブラウザ上で回路全体とコードをシミュレーションできます。このチュートリアルでは、赤、緑、青、黄、シアン、マゼンタ、白を順番に表示するシンプルなRGB LEDカラーサイクラーを構築します。PWM(パルス幅変調)を使って色を混ぜる方法と、カソードコモン型RGB LEDをArduino Unoに配線する方法を学びます。

回路の解説

まず、Velxioのキャンバスに部品を配置しましょう。必要なのはArduino UnoとRGB LEDです。RGB LEDには4本のピンがあります:1本のコモンカソード(COM)と、赤(R)、緑(G)、青(B)の3本のアノードです。

Velxioシミュレーターキャンバス上のRGB LED回路図

配線は以下の通りです:

Velxioでは、ピンからピンへワイヤーをドラッグできます。シミュレーション内のワイヤーの色はピンの機能に合わせてあります:赤は赤、緑は緑、青は青、黒はグラウンドです。これにより、接続を簡単に追跡できます。

コードの解説

それではArduinoスケッチを書いてみましょう。Velxioのコードエディタを開き、以下を入力します:

Velxio Monacoエディタ内のRGB LED用ソースコード

// RGB LED Color Cycling
// Display different colors

const int RED_PIN = 9;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;

void setup() {
  pinMode(RED_PIN, OUTPUT);
  pinMode(GREEN_PIN, OUTPUT);
  pinMode(BLUE_PIN, OUTPUT);
}

void setColor(int red, int green, int blue) {
  analogWrite(RED_PIN, red);
  analogWrite(GREEN_PIN, green);
  analogWrite(BLUE_PIN, blue);
}

void loop() {
  // Red
  setColor(255, 0, 0);
  delay(1000);

  // Green
  setColor(0, 255, 0);
  delay(1000);

  // Blue
  setColor(0, 0, 255);
  delay(1000);

  // Yellow
  setColor(255, 255, 0);
  delay(1000);

  // Cyan
  setColor(0, 255, 255);
  delay(1000);

  // Magenta
  setColor(255, 0, 255);
  delay(1000);

  // White
  setColor(255, 255, 255);
  delay(1000);
}

動作の仕組み

重要な概念

PWM(パルス幅変調)

PWMは、デジタルピンを高速にHIGHとLOWの間で切り替えてアナログ電圧を模倣する技術です。デューティサイクル(HIGHの時間の割合)が知覚される明るさを決定します。ArduinoのanalogWrite()は、9、10、11番ピンで約490Hzの周波数のPWM信号を出力します。

RGBカラーミキシング

RGB LEDは、1つのパッケージに3つの独立したLED(赤、緑、青)を含んでいます。それぞれの明るさを変えることで、数百万色を作り出すことができます。例えば:

カソードコモン vs アノードコモン

このチュートリアルでは、COMピンがグラウンドに接続されたカソードコモン型RGB LEDを使用しています。色を点灯させるには、そのアノードにHIGH信号を印加します。アノードコモン型LEDの場合は、COMをVCCに接続し、反転ロジック(LOWで点灯)を使用します。

よくある落とし穴とデバッグのヒント

コンパイルと実行のコントロールがあるVelxioエディターツールバー

シミュレーションビューポート上部のVelxioキャンバスツールバー

推奨される拡張機能

基本的なカラーサイクラーが動作したら、以下の拡張を試してみてください:

  1. 色間のフェード:ジャンプする代わりに、ループを使ってPWM値を徐々に変化させ、スムーズな遷移を実現します。
  2. ボタン制御:プッシュボタンを追加して、手動で色を切り替えます。
  3. ポテンショメータ入力:ポテンショメータを使ってパレットから色を選択します。
  4. シリアル制御:シリアルモニターから色の値を送信して、カスタムカラーを設定します。
  5. 複数LED:複数のRGB LEDをチェーン接続して、ライトショーを実現します。

新しい部品を追加するには、部品ピッカーを使用します:

カテゴリ別に部品をブラウズするVelxio部品ピッカーモーダル

追加のライブラリが必要な場合は、ライブラリマネージャーで簡単に管理できます:

インストール済みのArduinoライブラリを一覧表示するVelxioライブラリマネージャーモーダル

行動を促すフレーズ

実際に動作を見てみませんか?Velxioでライブサンプルを開いて、実験を始めましょう:VelxioでRGB LEDカラーサイクリング。ダウンロードもハードウェアも不要 – 純粋な学習体験をお届けします。楽しい工作を!


共有:
David Montero

執筆者

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

関連記事


前の記事
Arduinoでサイモンセイズ記憶ゲームをVelxioで作ろう
次の記事
シリアルHello World:初めてのArduino通信プロジェクト