今から始める電子工作 Step2 ① I/Oポートの状態と消費電流
●環境
- Arduino IDE;2.3.4
- Windows11;24H2
- Arduino UNO R4 WiFi
- ArduinoBLEライブラリ1.3.7
●電源を入れた時、I/Oポートの状態はLowかHighのどちらでしょうか
新規スケッチで、何も変更せず、コンパイルしアップロードしました。したがって、意味のあるプログラムは何も動いていないはずです。
メッセージでは、
最大262144バイトのフラッシュメモリのうち、スケッチが52200バイト(19%)を使っています。
最大32768バイトのRAMのうち、グローバル変数が6744バイト(20%)を使っていて、ローカル変数で26024バイト使うことができます。
と表示されたので、何らかのコードは書き込まれてはいるようです。
この状態で、I/Oポートの電圧をテスタで測っていきます。全部Lowでした。
I/Oピン | 状態[V] |
---|---|
D19 | 4m |
D18 | 17m |
D13 | 0 |
D12 | 19m |
D11 | 20m |
D10 | 20m |
D9 | 21m |
D8 | 20m |
D7 | 22m |
D6 | 21m |
D5 | 20m |
D4 | 21m |
D3 | 21m |
D2 | 24m |
D1 | 21m |
D0 | 15m |
I/Oピン | 状態[V] |
---|---|
A0/D14 | 15m |
A1/D15 | 15m |
A2/D16 | 15m |
A3/D17 | 13m |
A4/D18 | 17m |
A5/D19 | 3m |
- 5Vピン 4.49V
- 3.3Vピン 3.298V
●マイコン・ボードの消費電流
12ピンとGNDピン間に、下記の赤色LEDをつなぎ、D12の電圧と、R1の両端の電圧を測ります。
次のスケッチをコンパイルして動かします。
void setup() { pinMode(12, OUTPUT); } void loop() { digitalWrite(12,HIGH); delay(1000); }
テスタで測ると、D12-GNDの電圧は4.03Vでした。
R1両端の電圧は2.175Vでしたので、流れる電流は、
2.175 / 270 = 8[mA]
です。Arduino UNO R4 WiFiのスペックから、GPIOの扱える最大の電流は8mAと書かれているので、最大電流値になっています。
PCとArduinoをつないでいるUSBケーブルを抜き、次のように、実験用電源を使って5V端子に4.75Vを配給します。
スケッチは変更して、10秒おきにON/OFFし、電流を測定します。
void setup() { pinMode(12, OUTPUT); } void loop() { digitalWrite(12,HIGH); delay(10000); digitalWrite(12,LOW); delay(10000); }
5V端子の電圧は4.74V、LEDがON時の電流は101.3mA、OFF時は94.2mAでした。差は7.1mAです。
D12の電圧は3.875V、R1の両端の電圧は1.933Vなので、流れる電流は7.2mAです。
これらの実験から、このマイコン・ボードは何もしないときの消費電力は、
4.74 * 94.2 = 446.5[mW]
だと思われます。
googleに聞くと、
Arduino UNO R3の消費電力は、単体で動かすだけでも約50mAです。
5*50=250mWでした。