Étape 4: Programmation / code
#include
void setup()
{
Adresse I2C de l’ADC121C021, 0 x 50 interfacé avec TA12-200
#define ADC_ADDR 0 x 50
Rejoindre le Bus I2c maître
Wire.Begin() ;
Commencer la communication série pour la sortie de la console série
Serial.Begin(9600) ;
}
void loop()
{
BEGIN transmission avec donnée périphérique sur le bus I2C
Wire.beginTransmission(ADC_ADDR) ;
Résultat de conversion appel register, 0x00(0)
Wire.Write(0x00) ;
Delay(500) ;
Demande 2 octets
Wire.requestFrom (ADC_ADDR, 2) ;
Lire les octets si elles sont disponibles
if(Wire.available() == 2)
{
msb int = Wire.read() ;
lsb int = Wire.read() ;
Fin de transmission et de libérer les bus I2C
Wire.endTransmission() ;
Calcul de la valeur
int rawADC = msb * 256 + lsb ;
rawADC = rawADC & 0x0fff ;
Sortie à l’écran
Serial.Print (« ADC valeur: ") ;
Serial.println(rawADC) ;
}
d’autre
{
Serial.println ("pas assez octets disponibles sur le fil.") ;
}
Delay(100) ;
}
///////////////////////////////////////////////////////////////////////////NOTE///////////////////////////////////////////////////////////////////////////////////////////////////
Ces valeurs sont en mili ampères
Vous pouvez également trouver la valeur efficace du courant en trouvant maxinmum lecture et divisez-la par 1.414