Picture of Arduino Ampermeter (ZXCT IC's)
In this article, I will use the current monitor based on the ZXCT series IC for measuring current voltage and watts.

Part list:
Arduino-compability board
High side current sense monitor ZXCT1010 (Datasheet)
0.1R 1W 1% shunt resistor
1K resistor
2.4K resistor
500R Trimmer Potentiometer
Nokia 5110 (optional)
Plastic enclosure (optional)

Step 1: Theory

Picture of Theory
In my task needed measure the load current of not more than 2A, the range of 200 mA to 1.5 A. Load power supply voltage: 12 volts.

Voltage drop across the shunt with a maximum load current of 2A: Vsense = RS * ILOAD, where RS - resistance of the shunt, ILOAD- the load current. Vsense = 0.1 * 2 = 0.2V.

Heat loss in the shunt with a load of 2A amount: PD = I2R = 22 * 0.1 = 0.4 Watts.

IC output current: Iout(max) = Gt x Vsense(max), for ZXCT1010 value Gt is 0.01. Therefore Iout(max) = 0.01 * 0.2 = 0.002 A.

Calculate the resistance at maximum load current of 2A. RG = Vout / Iout = 5 V / 0.002 A = 2500 kOhm. The closest value of the resistor: 2.4K. For given value the output voltage of the IC is: Vout = RG * Iout = 2400 * 0.002 = 4.8 V.

If the resistance RG = 2.4K and the minimum current of load will be 200 mA, the voltage from the IC is: Vout = RG * (Gt * RS * ILOAD) = 2400 * (0.01 * 0.1 *0.2) = 0.48 V. Thus with a load current of 200 mA, the voltage supplied to the ADC is 0.48V, when the load current of 2 A, respectively, 4.8V.

To measure the voltage used voltage divider. To get the output voltage of 4V with 12V input, we use the calculator voltage divider, divider values to be 1K and 500 Ohms.