Arduinoデジタルアンペアメーター自作:DIY電流計のステップバイステップガイド
Arduinoアンペアメーター自作の概要
アンペアメーター(電流計)は回路の電流を測定する装置。Arduinoマイコンボードを使えば、低コストで再利用可能なデジタル電流計が自作できます。本ガイドでは、最小限の部品と簡単な手順で、初心者でも作れるArduinoベースのアンペアメーターを紹介します。

電気メーターで作業する電気技師
必要な部品
- Arduino互換 128×32 OLED LCDディスプレイ
- INA219 電流/電圧センサーブレークアウトボード
- Arduino Pro Mini Rev 5 (5V/16MHz)
- CH340 USB-シリアルプログラマー
- 9V電池ボックス(電池付き)
- JST PH 2ピンケーブル(メスコネクタ)
- JST ライトアングルコネクタ
- 精密マイナスドライバー
- 6ピン ライトアングルヘッダー(Arduino用)
- はんだごて
- 24 SWG 錫メッキ銅線(ヒューズワイヤー 18A 0.56mm)
- ミニプライヤー、ニッパー
- 両面テープ/スポンジパッド
- 4ピン メス-メス ジャンパーケーブル


電気メーター

アナログマルチメータ
ハードウェア構成
本アンペアメーターは3つのモジュールで構成:
- 128×32 OLEDディスプレイ: 測定値表示
- INA219センサー: 高精度電流/電圧測定(I2Cインターフェース)
- Arduino Pro Mini: 制御・演算・通信の中枢
Arduino Pro Miniには左右にピン列があります。INA219とOLEDはともにI2C接続(SDA/SCL)で、ArduinoのA4(SDA)、A5(SCL)ピンを共有します。必ずA4/A5ピンを持つRev 5(ATmega328P)互換ボードを使用してください。
ピン接続マッピング
| モジュール | 信号 | Arduino Pro Mini ピン |
|---|---|---|
| INA219 | VCC | VCC |
| INA219 | GND | GND |
| INA219 | SDA | A4 |
| INA219 | SCL (SEL) | A5 |
| OLED | VCC | VCC |
| OLED | GND | GND |
| OLED | SDA | A4 |
| OLED | SCL (SEL) | A5 |
I2Cバス上でアドレス競合がないよう、INA219とOLEDのアドレスが異なることを確認してください(通常INA219=0x40、OLED=0x3C)。
組み立て手順
- ピン除去: INA219とOLEDモジュールのピンヘッダをはんだごてで取り外し。プラスチックキャップがある場合はマイナスドライバーで外す。ピン根元を加熱しながら振って外す。
- 配線準備: 錫メッキ銅線を40mmに4本切断。
- OLED配線: 4本の線をOLEDのパッド(VCC, GND, SDA, SCL)にはんだ付け。
- OLED-Arduino接続: OLEDの配線をArduinoの対応ピン(VCC, GND, A4, A5)にはんだ付け。「サンドイッチ」構造になるよう重ねる。配線同士が触れないようドライバーで隙間を作る。
- INA219接続(配線延長): Arduino側の配線を切らずにINA219のパッドへ延長・はんだ付け。配線干渉に注意。
- 配線整理: 余分な配線をカット。6ピンライトアングルヘッダーをArduinoにはんだ付け(プログラミング用)。
- 電源接続: JST-PH 2ピンコネクタを電池ボックスに接続。JSTライトアングルコネクタをArduinoのRAW(赤/プラス)とGND(黒/マイナス)にはんだ付け。
- プログラマー接続: 4ピンジャンパーでArduinoとCH340を接続(VCC, GND, TX, RX)。CH340をPCのUSBに接続。
ソフトウェア設定(Arduino IDE)
Arduino IDEの基本操作ができる前提です。以下のスケッチをそれぞれ書き込みます。
OLED 128×32 表示スケッチ
#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include <Wire.h>
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0);
void setup(void) {
u8g2.begin();
// INA219初期化は別スケッチで行うか、ここでWire.begin()後に実施
}
void loop(void) {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_logisoso32_tr);
u8g2.setCursor(0, 32);
u8g2.print(millis()); // ここを実測値に置き換え
u8g2.sendBuffer();
delay(200);
}
INA219 測定スケッチ(GetCurrent として保存)
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;
void setup(void) {
Serial.begin(115200);
Serial.println("Hello!");
Serial.println("Measuring voltage and current with INA219...");
ina219.begin();
}
void loop(void) {
float shuntVoltage = ina219.getShuntVoltage_mV();
float busVoltage = ina219.getBusVoltage_V();
float current_mA = ina219.getCurrent_mA();
float loadVoltage = busVoltage + (shuntVoltage / 1000);
Serial.print("Bus Voltage: "); Serial.print(busVoltage); Serial.println(" V");
Serial.print("Shunt Voltage: "); Serial.print(shuntVoltage); Serial.println(" mV");
Serial.print("Load Voltage: "); Serial.print(loadVoltage); Serial.println(" V");
Serial.print("Current: "); Serial.print(current_mA); Serial.println(" mA");
Serial.println();
delay(2000);
}
統合のポイント: 実際の運用では、上記2つのスケッチを統合し、INA219で測定した電流値をOLEDに表示する単一スケッチを作成します。Adafruit_INA219ライブラリとU8g2ライブラリをArduino IDEのライブラリマネージャからインストールしてください。
完成後の使い方
プログラミング完了後、CH340経由のUSB給電または9V電池で動作。測定したい回路をINA219の端子(VIN+、VIN−)に直列挿入すれば、OLEDに電流値(mA)が表示されます。電圧測定も同時可能です。
応用・拡張
- 電圧センサーとしても流用可能
- 他のプロジェクトの電流モニタリングツールとして組み込み可能
- データロギング機能(SDカード、WiFi送信等)の追加
まとめ
このプロジェクトは非常にシンプルで短時間で完成します。初心者・ホビイストに最適で、実用的な測定器として繰り返し使えます。ハードウェア・ソフトウェア両面からArduinoとI2Cデバイスの扱いを学べる良い教材です。ご質問はお気軽にお問い合わせください。
産業技術
- Arduinoで楽器演奏:音階生成のステップバイステップガイド
- 電流計(アンペアメーター)で電流を測る:実践ガイド
- カスタムアナログマルチメーター自作:パーツから校正まで
- 製造業デー(MFG Day)を最大限に活用する:専門家のヒントと戦略
- 初回ロボット導入を成功させるための実践ガイド
- 電気設計プロセスの弱点を見抜く:実践ガイド
- サプライチェーンをレジリエンスと効率の両立へ今すぐ最適化する
- デジタル作業指示書で競合他社を凌駕する
- 製造と出荷を効率化:コスト削減と効率向上の実証済み戦略
- 製造プラントのオフィス整理術:効率向上とストレス軽減の実証済みヒント
- IoTデータを解き放つ:ビジネス・ルール管理が企業価値を推進