前回のarduino SEの試みでこの質問に答えたときから答えを盗みます。
これは少し複雑です。基本的に、いくつかの制限要因があります。
マイクロコントローラーからのIOライン(つまり、アナログピンとデジタルピン)には、集約(たとえば合計)電流制限とピンごとの制限の両方があります。
ATmega328Pデータシートから。
ただし、Arduinoの「ピン」の定義方法によっては、これだけではありません。
arduinoの5Vピンは、マイクロコントローラーを介して接続されていません。そのため、大幅に多くの電力を供給することができます。arduinoにUSBから電力を供給している場合、USBインターフェースは総消費電力を500 mAに制限します。これは、arduinoボード上のデバイスと共有されるため、使用可能な電力はやや少なくなります。
バレル電源コネクタを介して外部電源を使用している場合、最大1アンペアの定格のローカル5Vレギュレーターによって制限されます。ただし、これは熱的にも制限されており、電力を供給するとレギュレータが熱くなることを意味します。過熱すると、一時的にシャットダウンします。
3.3V安定化出力は、最大150mAを供給できます。これは3.3Vレギュレータの制限です。
要約すれば
- 単一のIOピンの絶対最大値は40 mAです(これは最大値です。実際にピンから40 mAを完全に引き出すことは絶対にしないでください。基本的に、Atmelがチップの損傷を保証できないしきい値です。この現在の制限を安全に下回っていることを常に確認する必要があります。)
- すべてのIOピンを合わせた合計電流は最大200 mA
- 5V出力ピンは、USBでは最大400 mA、外部電源アダプターを使用する場合は最大900 mAに適しています
- 900 mAは、〜7Vを供給するアダプター用です。アダプタの電圧が増加すると、レギュレータが処理する必要のある熱量も増加するため、電圧が増加すると最大電流が低下します。これは熱制限と呼ばれます
- 3.3V出力は150 mAを供給できます。
- 注-3.3Vレールから引き出される電力は、5Vレールを通過する必要があります。したがって、3.3V出力に100 mAのデバイスがある場合、5Vの合計電流に対してもカウントする必要があります。
注:これはArduino Dueには適用されず、Arduino Megaにはいくつかの違いがある可能性があります。ATmega328マイクロコントローラーをベースにしたArduinoについては、一般的に正しいでしょう。