INHOUDSOPGAWE:

Huidige monitering via Arduino Nano (I2C): 5 stappe
Huidige monitering via Arduino Nano (I2C): 5 stappe

Video: Huidige monitering via Arduino Nano (I2C): 5 stappe

Video: Huidige monitering via Arduino Nano (I2C): 5 stappe
Video: Как использовать датчик переменного/постоянного тока Allegro ACS712 с Arduino 2024, Julie
Anonim
Huidige monitering via Arduino Nano (I2C)
Huidige monitering via Arduino Nano (I2C)

Hallo, Goeie groete.. !!

Hier is ek (Somanshu Choudhary) namens Dcube-tegnologie-ondernemings wat die huidige met Arduino nano sal monitor, dit is een van die toepassings van die I2C-protokol om analoog data van die huidige sensor TA12-200 te lees.

Stap 1: Oorsig

Oorsig
Oorsig
  1. TA12-200 is 'n wisselstroom sensor
  2. DATASHEET Link:
  3. Hierdie projek meet AC huidige waardes

Stap 2: Wat u benodig / skakels

Wat u benodig / skakels
Wat u benodig / skakels
  1. Arduino Nano
  2. I²C -skild vir Arduino Nano
  3. USB -kabel Tipe A na Mikro Tipe B 6 voet lank
  4. I²C kabel
  5. I²C wisselstroomsensor via ADC121C 12-bis ADC I²C mini-module
  6. CFL of gloeilamp.
  7. PCV kabels.

Stap 3: Kringdiagram

Stroombaandiagram
Stroombaandiagram
Stroombaandiagram
Stroombaandiagram

Stap 4: Programmering / kode

Programmering / kode
Programmering / kode

#insluit

leemte opstelling ()

{

// I2C-adres van die ADC121C021, 0x50 gekoppel aan TA12-200

#definieer ADC_ADDR 0x50

// Sluit aan by I2c Bus as meester

Wire.begin ();

// Begin seriële kommunikasie vir die uitvoer van die seriële konsole

Serial.begin (9600);

}

leemte lus ()

{

// Begin die transmissie met die gegewe toestel op die I2C -bus

Wire.beginTransmission (ADC_ADDR);

// Register vir omskakelingsresultate, 0x00 (0)

Wire.write (0x00);

// vertraging (500);

// Versoek 2 grepe

Wire.requestFrom (ADC_ADDR, 2);

// Lees die grepe as dit beskikbaar is

as (Wire.available () == 2)

{

int msb = Wire.read ();

int lsb = Wire.read ();

// Beëindig transmissie en laat I2C -bus los

Wire.endTransmission ();

// Berekening van waarde

int rawADC = msb * 256 + lsb;

rawADC = rawADC & 0x0fff;

// Uitvoer na die skerm

Serial.print ("ADC -waarde:");

Serial.println (rawADC);

}

anders

{

Serial.println ("Daar is nie genoeg grepe op draad beskikbaar nie.");

}

vertraging (100);

}

//////////////////////////////////////////////////// /////////////////////////// NOTA ////////////////////////// //////////////////////////////////////////////////// ////////////////////////////

// Hierdie waardes is in mili ampère

// U kan ook die RMS -waarde van die stroom vind deur die maksimumwaarde te vind en dit met 1.414 te deel

Stap 5:

Vir verdere navrae, besoek gerus ons webwerf:

www.dcubetechnologies.com

Aanbeveel: