Inhoudsopgave:

Stroombewaking via Arduino Nano (I2C): 5 stappen
Stroombewaking via Arduino Nano (I2C): 5 stappen

Video: Stroombewaking via Arduino Nano (I2C): 5 stappen

Video: Stroombewaking via Arduino Nano (I2C): 5 stappen
Video: Homelab Cooling Tips: Solar Screens, Massive Insulation and more! (Top 10 Ways to reduce heat) 2024, November
Anonim
Stroombewaking via Arduino Nano (I2C)
Stroombewaking via Arduino Nano (I2C)

Hallo, Goede groeten..!!

Hier ga ik (Somanshu Choudhary) namens Dcube tech ventures de stroom monitoren met behulp van Arduino nano, het is een van de toepassingen van het I2C-protocol om analoge gegevens van Current Sensor TA12-200 te lezen.

Stap 1: Overzicht

Overzicht
Overzicht
  1. TA12-200 is een AC-stroomsensor
  2. DATASHEET Link:https://berg.hatenablog.com/entry/2013/2044-21-0441
  3. Dit project meet AC-stroomwaarden:

Stap 2: Wat je nodig hebt / Links

Wat je nodig hebt / Links
Wat je nodig hebt / Links
  1. Arduino Nano
  2. I²C-schild voor Arduino Nano
  3. USB-kabel Type A naar Micro Type B 6 voet lang
  4. I²C-kabel
  5. I²C AC-stroomsensor via ADC121C 12-bits ADC I²C-minimodule
  6. CFL of gloeilamp.
  7. PCV-kabels.

Stap 3: Schakelschema

Schakelschema
Schakelschema
Schakelschema
Schakelschema

Stap 4: Programmeren / coderen

Programmering / Code
Programmering / Code

#erbij betrekken

ongeldige setup()

{

// I2C-adres van de ADC121C021, 0x50 gekoppeld aan TA12-200

#define ADC_ADDR 0x50

// Word lid van I2c Bus als master

Draad.begin();

// Start seriële communicatie voor seriële console-uitvoer

Serieel.begin(9600);

}

lege lus()

{

// Begin de verzending met het gegeven apparaat op de I2C-bus

Wire.beginTransmission (ADC_ADDR);

// Aanroepen van conversieresultatenregister, 0x00(0)

Draad.schrijven (0x00);

//vertraging (500);

// Vraag 2 bytes aan

Wire.requestFrom(ADC_ADDR, 2);

// Lees de bytes als ze beschikbaar zijn

if(Draad.beschikbaar() == 2)

{

int msb = Wire.read();

int lsb = Wire.read();

// Beëindig de verzending en laat de I2C-bus los

Wire.endTransmission();

// Waarde berekenen

int rawADC = msb * 256 + lsb;

rawADC = rawADC & 0x0fff;

// Uitvoer naar het scherm

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

Serial.println(rawADC);

}

anders

{

Serial.println("Niet genoeg bytes beschikbaar op draad.");

}

vertraging (100);

}

////////////////////////////////////////////////// /////////////////////////OPMERKING//////////////////////// ////////////////////////////////////////////////// //////////////////////////

// Deze waarden zijn in mili ampère

// U kunt ook de rms-waarde van de stroom vinden door de maximale waarde te vinden en deze te delen door 1,414

Stap 5:

Voor verdere katernen Bezoek gerust onze site:

www.dcubetechnologies.com

Aanbevolen: