LEDをArduinoボードに接続する方法
Arduinoプラットフォームは世界中で非常に人気があります。プログラミングとハードウェア管理の開発の最初のステップに理想的なツール。スキルが上がるにつれて、周辺機器を追加してアーキテクチャをスケールアップし、より複雑なプログラムを実行するより複雑なシステムを構築できます。 ArduinoUnoおよびArduinoNanoボードは、初期トレーニングに適しています。彼らの例では、ArduinoへのLEDの接続が考慮されています。
ArduinoUnoとArduinoNanoとは
ArduinoUnoボードの基本はATmega328マイクロコントローラーです。また、追加の要素があります。
- 水晶振動子;
- リセットボタン;
- USBコネクタ;
- 統合された電圧安定器;
- 電源コネクタ;
- モードを示すためのいくつかのLED。
- USBチャネル用の通信チップ。
- インサーキットプログラミング用のコネクタ。
- さらにいくつかのアクティブおよびパッシブ要素。
これにより、はんだごてを使用せずに最初のステップを実行でき、プリント回路基板の製造段階を回避できます。ユニットは、7..12Vの外部電圧源またはUSBコネクタを介して電力を供給されます。それを介して、モジュールはスケッチをダウンロードするためにPCに接続されます。ボードには、外部デバイスに電力を供給するための3.3V電圧源があります。 6、14の汎用デジタル出力が動作可能です。 5Vで電力を供給した場合のデジタル出力の負荷容量は40mAです。これは、LEDがを介して直接接続できることを意味します 制限抵抗.

Arduino Nanoボードは、Unoと完全に互換性がありますが、サイズが小さく、表に示されているいくつかの違いと簡略化があります。
| 支払い | コントローラ | 外部電源用コネクタ | USB通信用マイクロチップ | USBコネクタ |
|---|---|---|---|---|
| Arduino Uno | ATmega328 | がある | ATmega8U2 | USB A-B |
| Arduino Nano | ATmega328 | いいえ | FT232RL | マイクロUSB |

違いは基本的なものではなく、レビューのトピックには関係ありません。
LEDをArduinoボードに接続するために必要なもの
LEDの接続には2つのオプションがあります。学習目的のために、あなたはどれでも選ぶことができます。
- 内蔵LEDを使用。この場合、USBコネクタを介してPCに接続するためのケーブル(電源とプログラミング用)を除いて、他に何も必要ありません。ボードに電力を供給するために外部電圧源を使用することは意味がありません。消費電流はわずかです。ArduinoUnoをPCに接続するためのUSBA-Bケーブル。
- 外部LEDを接続する。ここでさらに必要になります:
- LED自体;
- 公称値が250〜1000オーム(LEDによって異なります)の電力が0.25 W(またはそれ以上)の電流制限抵抗。
- 外部回路を接続するためのワイヤーとはんだごて。

LEDは、カソードをマイクロコントローラーのデジタル出力に接続し、アノードをバラスト抵抗を介して共通線に接続します。 LEDの数が多い場合は、追加の電源が必要になることがあります。
複数のLEDを1つの出力に接続することは可能ですか?
外部LEDまたはLEDのグループをいずれかの出力に接続する必要がある場合があります。前述のように、マイクロコントローラの1つの出力の負荷容量は小さいです。消費電流15mAの1つまたは2つのLEDを直接並列に接続できます。可能性の危機に瀕している、またはそれを超える負荷で出力の存続可能性をテストすることは価値がありません。 トランジスタのスイッチを使用することをお勧めします (フィールドまたはバイポーラ)。
抵抗器 R1 流れる電流が出力の負荷容量を超えないように選択する必要があります。最大値の半分以下を取る方が良いです。したがって、中程度の電流を設定するには 10 mA、5ボルトの電源での抵抗は 500オーム.
各LEDには独自のバラスト抵抗が必要です。1つの一般的なものと交換することは望ましくありません。 Rbalは、各LEDを流れる動作電流を設定するように選択されています。したがって、5ボルトの供給電圧と 20 mA、抵抗は250オームまたは最も近い標準値である必要があります。
トランジスタのコレクタを流れる合計電流が最大値を超えないようにする必要があります。したがって、KT3102トランジスタの場合、最大のIkは100mAに制限する必要があります。これは、電流が流れるLEDを6つまでしか接続できないことを意味します。 15 mA。これだけでは不十分な場合は、より強力なキーを使用する必要があります。これは、そのような回路でn-p-nトランジスタを選択するための唯一の制限です。ここでも、理論的には三極真空管のゲインを考慮する必要がありますが、これらの条件(入力電流10 mA、出力100)では、少なくとも10でなければなりません。最新のトランジスタならどれでもこのようなh21eを生成できます。
このような回路は、マイクロコントローラの電流出力をブーストするだけではありません。したがって、電圧を上げて(たとえば、12ボルト)、十分に強力なアクチュエータ(リレー、ソレノイド、電気モーター)を接続できます。計算するときは、対応する電圧値を取得する必要があります。
キーの実行にも使用できます MOSFET、ただし、Arduinoが出力できるよりも高い電圧を開く必要がある場合があります。この場合、追加の回路と要素を提供する必要があります。これを回避するには、いわゆる「デジタル」電界効果トランジスタを使用する必要があります。5個必要です。 ボルト 開く。しかし、それらはあまり一般的ではありません。
LEDをプログラムで制御する
LEDをマイクロコントローラの出力に接続するだけではほとんど効果がありません。プログラムでArduinoからLEDの制御を習得する必要があります。これは、C(C)に基づくArduino言語で実行できます。このプログラミング言語は、初期学習のためのCの適応です。それをマスターした後、C++への移行は簡単になります。スケッチを作成し(Arduinoのプログラムが呼び出されるため)、ライブでデバッグするには、次の手順を実行する必要があります。
- ArduinoIDEをパーソナルコンピュータにインストールします。
- USB通信チップ用のドライバーをインストールする必要があるかもしれません。
- USB-microUSBケーブルを使用してボードをPCに接続します。

コンピュータシミュレータを使用して、単純なプログラムや回路をデバッグできます。 Arduino UnoおよびNanoボードの動作のシミュレーションは、たとえばProteus(バージョン8以降)によってサポートされています。シミュレータの便利な点は、誤って組み立てられた回路でハードウェアを無効にすることができないことです。

スケッチは2つのモジュールで構成されています。
- 設定 -プログラムの起動時に1回実行され、ハードウェアの変数と動作モードを初期化します。
- ループ –セットアップブロックの後に無限に循環的に実行されます。
為に LED接続 14個の空きピン(ピン)のいずれかを使用できます。これらは、誤ってポートと呼ばれることがよくあります。実際、ポートは、簡単に言えば、ピンのグループです。ピンは単なる要素です。
制御の例はピン13について考えられます-LEDはすでにボード上でそれに接続されています(Unoボード上のアンプフォロワーを介して、Nano上の抵抗を介して)。ポートピンを使用するには、入力モードまたは出力モードで構成する必要があります。セットアップ本体でこれを行うと便利ですが、必須ではありません。出力先は動的に変更できます。つまり、プログラムの実行中、ポートは入力またはデータ出力のいずれかで機能します。
Arduinoのピン13(ATmega 328マイクロコントローラーのポートBのピンPB5)の初期化は次のとおりです。
void setup()
{
pinMode(13、出力);
}
このコマンドを実行した後、ボードのピン13は出力モードで動作し、デフォルトではロジックローになります。プログラムの実行中に、0または1を書き込むことができます。ユニットレコードは次のようになります。
void loop()
{
digitalWrite(13、HIGH);
}
これで、ボードのピン13がハイに設定されます(ロジック1)。これを使用してLEDを点灯させることができます。
LEDをオフにするには、出力をゼロに設定する必要があります。
digitalWrite(13、LOW);
したがって、ポートレジスタの対応するビットに1と0を交互に書き込むことにより、外部デバイスを制御できます。
これで、Arduinoプログラムを複雑にしてLEDを制御し、発光要素を点滅させる方法を学ぶことができます。
void setup()
{
pinMode(13、出力);
}
void loop()
{
digitalWrite(13、HIGH);
delay(1000);
digitalWrite(13、LOW);
delay(1000);
}
チーム delay(1000) 1000ミリ秒、つまり1秒の遅延が発生します。この値を変更することにより、LEDの点滅の頻度またはデューティサイクルを変更できます。外部LEDがボードの別の出力に接続されている場合、プログラムでは13ではなく、選択したピンの番号を指定する必要があります。
わかりやすくするために、一連のビデオをお勧めします。
ArduinoへのLED接続をマスターし、それを制御する方法を学んだので、新しいレベルに移動して、他のより複雑なプログラムを書くことができます。たとえば、ボタンで2つ以上のLEDを切り替える方法、外部ポテンショメータを使用して点滅周波数を変更する方法、PWMを使用してグローの明るさを調整する方法、RGBエミッターの色を変更する方法を学ぶことができます。タスクのレベルは想像力によってのみ制限されます。


