\r\n\r\n

ArduinoとLEDストリップを接続するための究極のガイド

最も一般的なLED製品の1つがLEDストリップです。今回は、最も一般的な2つのタイプについて、arduinoを使ったセットアップ方法を説明します。

LED照明の台頭は成層圏に達しており、その理由は容易に理解できる。製造コストが安く、他の照明に比べて消費電力が大幅に少なく、ほとんどの場合、熱を持たないので、さまざまな用途に安心して使うことができます。

LED製品の代表的なものに、LEDストリップがあります。今回は、Arduinoを使った代表的な2種類のセットアップ方法を説明します。これらのアイテムは非常にシンプルで、ArduinoやDIY電子工作の初心者でもできるようになります。

また、それらを制御するためにArduinoIDEを使用する予定です。このプロジェクトではArduino Unoを使用していますが、互換性のあるボード(NodeMCUなど)であれば、ほぼ全てのボードを使用することができます。

衣装の選択

LEDストリップを購入する際には、いくつか考慮すべき点があります。1つ目は、機能性です。アンビエント照明として使用するのであれば、12VのRGB LEDストリップ(SMD5050)が適しています。

これらのストリップの多くには、それらを制御するためのIRリモコンが付属していますが、このプロジェクトでは、代わりにArduinoを使用します。この記事を書いている時点では、これらの金属片は1メートルあたり1ドル程度で購入することができます。

WS2811/12/12Bは、チップセットを内蔵し、個別にアドレス指定が可能なストリップです。つまり、単なるアンビエント照明にとどまらない。

それらを使って、ゼロから安価なLEDピクセルディスプレイを作ることができます。また、それらを使って、**独自の屋内嵐雲ライトを作ることもできます。

これらのストリップは5Vの電源しか必要としません。Arduinoボードから直接少数の電池に給電することも可能ですが、通常はArduinoの味を壊さないように、別の5V電源を使用するのがベストです。個別にプログラム可能なLEDをお探しの方におすすめです。本稿執筆時点では、1メートルあたり4ドル程度である。

また、使用する場所にも注意が必要です。どちらのタイプも、長さ、LED密度(1メートルあたりのLED数)、耐候性の異なるストリップが用意されています。

LEDストリップをご覧いただく際は、リストに記載されている番号にご注意ください。通常、最初の数字は1メートルあたりのLEDの数で、IPの文字の後に数字が続くのはその耐候性機能を表します。例えば、IP67で30個と表示されている場合は、1メートルあたり30個のLEDが搭載されていることを意味します。(耐候性とIP等級について詳しくはこちら)。LEDストリップを選んだら、いよいよArduinoに接続します。まずはSMD5050から。

コネクションを作る

12VのLEDストリップをArduinoに接続するために、いくつかの部品が必要になります。

  • 12v RGB LEDのストリップ(SMD5050)
  • 1 x Arduino Uno (互換性のあるボードであれば何でも構いません)
  • 10kΩ抵抗×3個
  • ロジックレベルNチャンネルMOSFET×3個
  • テストプレート1枚
  • 接続ケーブル
  • 12V電源

回路を組む前に、MOSFETについて説明します。

マイコンより高い電圧のものを制御する場合、基板が爆発しないように、間に何か挟む必要があります。ゲート部にPWM(Pulse Width Modulation)信号を送ることで、ドレイン部とソース部の間で受け渡す電力を制御することができるのだ。それぞれのLEDストリップの色をMOSFETに通すことで、LEDストリップの色ごとに明るさをコントロールすることができます。

マイクロコントローラを扱う場合、ロジックレベルの部品を使用して、思い通りに動作することを確認することが重要です。MOSFETは標準レベルではなく、ロジックレベルであることを確認してください。

このように回路を組んでください。

  1. Arduinoのピン9、6、5を3つのMOSFETのゲートピンに接続し、10kの抵抗をグランドレールと一直線上に配置します。
  2. ショックソースの脚をグランドレールに取り付ける。
  3. 放電ピンをLEDストリップの緑、赤、青のコネクターに接続します。
  4. LEDストリップの+12Vコネクタにパワーレールを接続します(この写真では、LEDストリップのコネクタの色に合わせて、パワーケーブルが黒色であることに注意してください)。
  5. Arduinoのグランドをグランドレールに接続します。
  6. 12V電源をパワーレールに接続する。

ほとんどのLEDストリップは、接続が簡単なデュポン社製のコネクターを採用しています。もし、そうでなければ、LEDストリップにワイヤーをはんだ付けする必要があるかもしれません。ハンダ付けは簡単な作業ですし、必要であればハンダ付けを始めるためのガイドも用意していますので、初めての方でも慌てないでください。

USB電源は弊社で用意します。VINピンを使ってボードの電源を供給することもできますが、その前にボードの電源制限を確認してください。

回路が完成すると、以下のようになります。

これですべての接続が完了しましたので、次はそれを制御するための簡単なArduinoスケッチを作成します。

フェードイン、フェードアウト

ArduinoボードをUSBでパソコンに接続し、Arduino IDEを開きます。Tools> boardとTools> portメニューで、お使いのボードとポート番号が正しく選択されていることを確認します。新しいスケッチを開き、適切な名前を付けて保存します。

このスケッチでは、光が1色ずつフェードインし、数秒間点灯した後、再び消灯するまでフェードアウトします。自分で完成させてスケッチすることもできますし、GitHubから全コードをダウンロードすることもできます。

まず、MOSFETを制御するためのピンを定義します。

#define RED_LED 6#define BLUE_LED 5#define GREEN_LED 9

次に、いくつかの変数が必要です。全体の明るさの変数と、各色の明るさの変数を作成します。メインの輝度変数はLEDの消灯にのみ使用しますので、ここでは最大輝度値255に設定してください。

また、フェードインの速度を制御するための変数を作成する必要があります。

int brightness = 255;int gBright = 0;int rBright = 0;int bBright = 0;int fadeSpeed = 10;

セットアップ機能では、Arduinoのピン出力を設定します。また、遅延時間が5秒の関数を2つ呼び出すことにします。これらの機能はまだ存在しませんが、心配しないでください、必ず見つけます。

void setup() { pinMode(GREEN_LED, OUTPUT); pinMode(RED_LED, OUTPUT); pinMode(BLUE_LED, OUTPUT); TurnOn(); delay(5000); TurnOff();}

次にTurnOn()メソッドを作成します。

void TurnOn() { for (int i = 0; i < 256; i++) { ****ogWrite(RED_LED, rBright); rBright +=1; delay(fadeSpeed); } for (int i = 0; i < 256; i++) { ****ogWrite(BLUE_LED, bBright); bBright += 1; delay(fadeSpeed); } for (int i = 0; i < 256; i++) { ****ogWrite(GREEN_LED, gBright); gBright +=1; delay(fadeSpeed); } }

これら3つのforループにより、各色はfadeSpeed値で指定された時間だけ最大輝度に到達する。

最後に、TurnOff()メソッドを作成する必要があります。

void TurnOff() { for (int i = 0; i < 256; i++) { ****ogWrite(GREEN_LED, brightness); ****ogWrite(RED_LED, brightness); ****ogWrite(BLUE_LED, brightness); brightness -= 1; delay(fadeSpeed); }}void loop() {}

この方法は、3つのカラーピンのすべてに輝度変数を適用し、一定時間かけてゼロにするものです。コンパイルエラーを避けるため、ここでは空のループメソッドも必要です。

このスケッチが完成したら、保存してください。スケッチを検証し、Arduinoボードにアップロードします。エラーが発生した場合は、迷惑なスペルミスやセミコロンの欠落がないか、再度コードを確認してください。

これで、LEDストリップが各色別々に上方にフェードアウトし、5秒間白色のままであり、その後ゼロまで均等にフェードアウトすることが確認できます。

問題が発生した場合は、配線やコードを再確認してください。

このプロジェクトはシンプルな方法で始められますが、ここで取り上げられたアイデアは本当に効果的な照明に拡張することができます。わずかな部品で、あなただけの日の出アラームを作ることができます。Arduinoにスターターキットが搭載されていれば、任意のボタンやセンサーを使って、部屋に入ったときにLEDを点灯させることができます、例えば

ここまででSMD5050について説明しましたが、次にWS2812Bのストリップを説明します。

グッドアイディア

これらのストリップは、動作に必要な部品が少なく、使用できる部品の正確な値に関しても、ある程度の余裕があります。この回路のコンデンサは、5VのLEDに安定した電力を供給することを保証します。この抵抗は、Arduinoから受信するデータ信号が干渉を受けないようにするためのものです。

必要です。

  • WS2811/12/12B 5v LEDストリップ(3モデルともチップを内蔵しており、基本的に同じように動作します。)
  • 1 x Arduino Uno(または同等の互換ボード)
  • 220〜440Ωの抵抗1個(この間の値なら何でも可)
  • 100〜1000マイクロファラッドのコンデンサ1個(この間の値であれば何でも可)
  • テストボードと接続ケーブル
  • 5V電源

図のような回路を組んでください。

コンデンサーの向きを間違えないように注意してください。コンデンサーのボディにあるマイナス記号(-)を見れば、どちら側がアースレールに接続されているか分かります。

今回は、Arduinoの電源に5V電源を使用しました。このため、プロジェクトが終わった後は、独立した存在になっていたのですが、ここで注意すべき点があります。

まず、電源に接続する前に、基板が5Vの電力を受け取れることを確認します。ほとんどの開発ボードはUSBポートから5Vで動作しますが、一部のボードの電源入力ピンは電圧レギュレータをジャンプさせてトーストにすることがあります。

また、Arduinoに複数の別電源が接続されていないことを確認し、外部電源を使用する場合はUSBケーブルを外すとよいでしょう。

電源を入れると、このように表示されます。

さて、LEDストリップを接続したところで、コードに移りましょう。

ダンシング・ライツ

ボードを安全にプログラミングするために、VINケーブルを電源ケーブルから外し、後で再接続してください。

Arduinoをパソコンに接続し、Arduino IDEを開きます。「ツール」 &gt; 「ボードとツール」 &gt; 「ポート」メニューで、正しいボードとポート番号が選択されていることを確認してください。ツール" &gt; "ボードとツール" &gt; "ポート "メニューで、正しいボードとポート番号が選択されていることを確認します。

FastLED ライブラリを使用して、セットアップをテストしてみます。Sketch&gt; Include Libraries&gt; Manage Librariesをクリックし、FastLEDを検索すると、ライブラリが追加されます。インストールをクリックすると、IDEにライブラリが追加されます。

File" &gt; "Examples" &gt; "Quick LEDs "で、DemoReel100スケッチを選択します。このスケッチは、WS2812 LEDストリップでできる様々なことを循環させ、信じられないほど簡単にセットアップすることができます。

DATAu PIN変数をPIN 13と一致するように変更し、NUMu LEDS変数を使用しているストリップにいくつのLEDがあるか定義するように変更するだけです。より多くのライトを使用して、より大きなショーをお楽しみください。

それだ!スケッチをボードにアップロードし、USBケーブルを外して5V電源をONにします。最後に、Arduinoの車番を電源ケーブルに再接続して、本番を見よう!

何も起こらない場合は、配線を確認し、デモスケッチで正しいArduinoのピンを指定したことを確認してください。

無限の可能性

デモスケッチでは、WS2812ストリップで実現できる様々な効果の組み合わせの一部を紹介しています。通常のLEDストリップより高機能であることはもちろん、実用化も可能です。次のプロジェクトとしては、メディアセンター用のアンビエントライトを自作するのがよいでしょう。

これらのストリップはSMD5050よりも確かに機能的ですが、標準的な12V LEDストリップを軽視してはいけません。価格面でも他の追随を許さず、LEDストリップは幅広い用途で使用されています。

LEDストリップの使い方を学ぶことは、Arduinoの基本的なプログラミングに慣れることでもありますが、一番の近道は「いじること」です。上のコードを修正して、何ができるかを見てみましょう。もし、これだけではちょっと物足りないという方は、初心者向けのArduinoプロジェクトから始めてみてはいかがでしょうか。

画像引用元:mkarco/Shutterstock

  • 2021-03-17 18:44 に公開
  • 閲覧 ( 27 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ