LEDをArduinoボードに配線する方法
Arduino プラットフォームは、世界中で非常に人気があります。これは、ハードウェアのプログラミングおよび制御方法を学習するための最初のステップに最適なツールです。スキルが向上するにつれて、周辺機器ボードを追加してアーキテクチャを増やし、より複雑なプログラムを実行するより複雑なシステムを作成できます。 Arduino Uno および Arduino Nano ボードは、初期トレーニングに適しています。この例では、LED を Arduino に接続します。
Arduino Uno、Arduino Nanoとは?
Arduino Uno ボードのベースは、ATmega328 マイクロコントローラーです。また、追加の要素もあります。
- 水晶振動子;
- リセットボタン;
- USB コネクタ;
- 統合された電圧レギュレータ。
- 電源コネクタ;
- モード表示用の複数の LED。
- USBチャネル用の通信チップ。
- オンチップ プログラミング用コネクタ。
- さらにいくつかのアクティブおよびパッシブ要素。
これにより、はんだごてを使用せずに最初のステップを作成し、回路基板を作成するステップを回避できます。ユニットは、外部 7...12V 電源または USB コネクタ経由で給電されます。モジュールは、スケッチをロードするために PC にも接続されています。このボードには、外部デバイスに電力を供給するための 3.3V 電圧源があります。操作に使用できる 6 つまたは 14 の汎用デジタル出力があります。 5 V から電力を供給した場合のデジタル出力の負荷容量は 40 mA です。これは、LED を介して LED に直接接続できることを意味します。 制限抵抗.
Arduino Nano ボードは Uno と完全に互換性がありますが、サイズが小さく、表に示すようにいくつかの違いと単純化があります。
ボード | コントローラ | 外部電源用コネクタ | USB通信用マイクロ回路 | USB コネクタ |
---|---|---|---|---|
Arduino Uno | ATmega328 | チェックアウト | ATmega8U2 | USB A-B |
Arduinoナノ | ATmega328 | いいえ | FT232RL | マイクロUSB |
違いは基本的なものではなく、このレビューのトピックにとって重要ではありません.
LEDをArduinoボードに接続するために必要なもの
LED を接続するには 2 つの方法があります。トレーニング目的で、どちらかを選択できます。
- 内蔵LEDを使う.この場合、電源とプログラミング用の USB 経由で PC に接続するためのケーブル以外は何も必要ありません。ボードに電力を供給するために外部電圧源を使用しても意味がありません。消費電流は小さいです。Arduino Uno を PC に接続するための USB A-B ケーブル。
- 外部 LED を接続する.ここでは、さらに次のものが必要になります。
- LED自体。
- 定格が 250 ~ 1000 オームの 0.25W (またはそれ以上) の電流制限抵抗 (LED によって異なります)。
- 外部回路を接続するためのワイヤーとはんだごて。
LED はカソードでマイクロコントローラの任意のデジタル ピンに接続され、アノードはバラスト抵抗を介してコモン ワイヤに接続されます。多数の LED がある場合は、追加の電源が必要になる場合があります。
1つの端子に複数のLEDを接続することは可能ですか?
外部 LED または LED のグループをいずれかのピンに接続する必要がある場合があります。前述のように、マイコンの1ピンの負荷容量は小さいです。消費電流 15mA の LED を 1 つまたは 2 つ直接並列に接続できます。ピンの存続可能性は、負荷が限界に近づいているか、それを超えている状態でテストしないでください。 トランジスタのスイッチを使用することをお勧めします (フィールドまたはバイポーラ)。
抵抗器 R1 流れる電流が出力の容量を超えないように選択する必要があります。最大値の半分以下を取ることをお勧めします。したがって、適度な電流を設定するには 10ミリアンペア。、5ボルト電源での抵抗は 500オーム。.
各 LED には独自のバラスト抵抗が必要であり、それを 1 つの共通抵抗に置き換えることは望ましくありません。 Rbal は、各 LED をその動作電流に設定するように選択されます。したがって、5 ボルトの電源電圧と 20ミリアンペア、抵抗は 250 オームまたは最も近い標準値である必要があります。
トランジスタのコレクタを流れる総電流が最大値を超えないようにする必要があります。したがって、トランジスタ KT3102 の場合、最高の Ik は 100 mA に制限する必要があります。これは、最大 6 個の LED を次の電流で接続できることを意味します。 15ミリアンペア.これで十分でない場合は、より強力なスイッチを使用する必要があります。これは、この回路で n-p-n トランジスタを選択する際の唯一の制限です。理論的には、トライオードのゲインも考慮する必要がありますが、特定の条件 (入力電流 10 mA、出力 100) では少なくとも 10 である必要があります。この h21e は、最新のトランジスタで生成できます。
この回路は、マイクロコントローラの出力をブーストする電流だけに適しているわけではありません。このようにして、より高い電圧 (例: 12 ボルト) で駆動される非常に強力なアクチュエーター (リレー、ソレノイド、モーター) を接続できます。計算するときは、適切な電圧値を取得する必要があります。
使用することもできます MOSFETトランジスタただし、Arduino出力が提供できるよりも高い電圧が必要になる場合があります。この場合、追加の回路と要素を提供する必要があります。これを避けるには、いわゆる「デジタル」電界効果トランジスタを使用する必要があります-必要なのは5つだけです 5ボルト 開く。しかし、それらはあまり一般的ではありません。
LEDのソフトウェア制御
LED をマイクロコントローラの出力に接続するだけでは、あまり効果がありません。プログラムでArduinoからLEDを制御する方法を学ぶ必要があります。これは、C (C) に基づく Arduino 言語で行うことができます。このプログラミング言語は、初期トレーニング用に C を適応させたものです。マスターすれば、C++ への移行は難しくありません。スケッチ (これは Arduino のプログラムの名前です) を書き、それらをライブでデバッグするには、次のことを行う必要があります。
- パソコンに Arduino IDE 環境をインストールします。
- USB 通信チップ用のドライバーをインストールする必要がある場合があります。
- ボードを USB-microUSB ケーブルで PC に接続します。
コンピュータ シミュレータを使用して、簡単なプログラムや回路をデバッグできます。たとえば、Proteus (バージョン 8 以降) は、Arduino Uno および Nano ボードのシミュレーションをサポートしています。シミュレーターの便利な点は、回路が正しく組み立てられていない場合、アイロンを無効にすることができないことです。
回路図は 2 つのモジュールで構成されています。
- 設定 - プログラムの開始時に一度実行され、アイロンの変数とモードを初期化します。
- ループ - 設定後、無限になるまで周期的に実行されます。
為に 導いた 14 個の空いているピン (ピン) のいずれかを使用できますが、これらはしばしば誤ってポートと呼ばれます。実際、ポートは単純に言えば、ピンのグループです。ピンは単なる要素です。
ピン 13 の制御の例を考えてみます。LED は既にボード上で接続されています (Uno ボードのリピータ アンプを介して、Nano ボードの抵抗器を介して)。ポート ピンを使用するには、入力モードまたは出力モードで構成する必要があります。セットアップの本体でこれを行うと便利ですが、必須ではありません。出力先は動的に変更できます。これは、プログラムの実行中に、ポートが入力または出力のために機能できることを意味します。
Arduino の 13 ピン (ATmega 328 マイクロコントローラーのポート B のピン PB5) の初期化は次のようになります。
ボイドセットアップ ()
{
pinMode (13、出力);
}
このコマンドを実行すると、ボードのピン 13 が出力モードで動作し、デフォルトで論理レベルが低くなります。プログラムの実行中に、0 または 1 を書き込むことができます。 1つの書き込みは次のようになります。
空ループ ()
{
デジタル書き込み (13、高);
}
これで、ボードのピン 13 がハイレベル (論理 1) に設定され、LED の点灯に使用できるようになります。
LED をオフにするには、出力をゼロに設定する必要があります。
デジタル書き込み (13、低);
このようにして、ポート レジスタの対応するビットに 1 と 0 を交互に書き込むことで、外部デバイスを制御できます。
これで、Arduino のプログラムを複雑にして、LED を制御し、発光素子を点滅させる方法を学習できます。
ボイドセットアップ ()
{
pinMode (13、出力);
}
空ループ ()
{
デジタル書き込み (13、高);
遅延 (1000);
デジタル書き込み (13、低);
遅延 (1000);
}
コマンド 遅延(1000) コマンドは、1000 ミリ秒または 1 秒の遅延を作成します。この値を変更することで、LED の周波数または点滅周波数を変更できます。外部 LED をボードの別のピンに接続する場合は、プログラムで 13 ではなく、選択したピンの番号も指定する必要があります。
わかりやすくするために、一連のビデオをお勧めします。
Arduino への LED 接続をマスターし、それを制御する方法を習得したら、次のレベルに進み、他のより複雑なプログラムを作成できます。たとえば、ボタンで 2 つ以上の LED を切り替える方法、外部ポテンショメーターで点滅周波数を変更する方法、PWM でグローの明るさを調整する方法、RGB エミッターの色を変更する方法を学ぶことができます。タスクのレベルは想像力によってのみ制限されます。