今から始める電子工作 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でした。