Stap 4: Programmeren / code
#include
VOID Setup
{
I2C adres van de ADC121C021, 0x50 geïnterfacet met TA12-200
#define ADC_ADDR 0x50
I2c Bus toetreden als meester
Wire.begin();
De seriële communicatie start voor seriële console uitvoer
Serial.begin(9600);
}
void loop
{
Begin transmissie met gegeven apparaat op I2C bus
Wire.beginTransmission(ADC_ADDR);
Het resultaat van de conversie van roeping registreren, 0x00(0)
Wire.write(0x00);
delay(500);
2 bytes voor aanvragen
Wire.requestFrom (ADC_ADDR, 2);
De bytes lezen als ze beschikbaar zijn
if(Wire.available() == 2)
{
int msb = Wire.read();
int lsb = Wire.read();
Einde transmissie- en release I2C bus
Wire.endTransmission();
Berekening van de waarde
int rawADC = msb * 256 + lsb;
rawADC = rawADC & 0x0fff;
Output naar het scherm
Serial.Print ("ADC waarde:");
Serial.println(rawADC);
}
anders
{
Serial.println ("niet genoeg bytes beschikbaar op draad.");
}
delay(100);
}
///////////////////////////////////////////////////////////////////////////NOTE///////////////////////////////////////////////////////////////////////////////////////////////////
Deze waarden zijn in milli-ampère
U kunt ook vinden RMS-waarde van de huidige door het vinden van maxinmum lezing en deelt u het door 1,414