Nuvarande övervakning via Arduino nano (I2C) (4 / 5 steg)
Steg 4: Programmering / kod
#include
void setup()
{
I2C adress ADC121C021, 0x50 gränssnitt med TA12-200
#define ADC_ADDR 0x50
Gå med I2c bussen som master
Wire.BEGIN();
Starta seriell kommunikation för seriekonsoll utgång
Serial.BEGIN(9600);
}
void loop()
{
BEGIN överföring med tanke på enheten på I2C bussen
Wire.beginTransmission(ADC_ADDR);
Ringa konvertering resultat registrera, 0x00(0)
Wire.write(0x00);
Delay(500);
Begäran 2 byte
Wire.requestFrom (ADC_ADDR, 2);
Läs byte om de är tillgängliga
IF(Wire.available() == 2)
{
int msb = Wire.read();
int lsb = Wire.read();
Slutet överföring och release I2C bussen
Wire.endTransmission();
Beräkningen av värdet
int rawADC = msb * 256 + lsb;
rawADC = rawADC & 0x0fff;
Utdata på skärmen
Serial.Print ("ADC värde:");
Serial.println(rawADC);
}
annat
{
Serial.println ("inte tillräckligt byte tillgängliga på wire.");
}
Delay(100);
}
///////////////////////////////////////////////////////////////////////////NOTE///////////////////////////////////////////////////////////////////////////////////////////////////
Dessa värden är i mili ampere
Du kan också hitta rms-värdet av aktuella genom att hitta maxinmum läsning och dela det med 1,414