Cuprins:

Monitorizare curentă prin Arduino Nano (I2C): 5 pași
Monitorizare curentă prin Arduino Nano (I2C): 5 pași

Video: Monitorizare curentă prin Arduino Nano (I2C): 5 pași

Video: Monitorizare curentă prin Arduino Nano (I2C): 5 pași
Video: Monitorizați de la distanță consumul de energie al casei dvs. | PZEM-004T | RemoteXY IoT Cloud 2024, Iulie
Anonim
Monitorizare curentă prin Arduino Nano (I2C)
Monitorizare curentă prin Arduino Nano (I2C)

Buna ziua, Salutari bune.. !!

Aici eu (Somanshu Choudhary), în numele tehnologiilor Dcube, urmează să monitorizeze curentul utilizând Arduino nano, este una dintre aplicațiile protocolului I2C să citească datele analogice ale senzorului de curent TA12-200.

Pasul 1: Prezentare generală

Prezentare generală
Prezentare generală
  1. TA12-200 este un senzor de curent alternativ
  2. Fișă tehnică Link:
  3. Acest proiect măsoară valorile curente AC

Pasul 2: De ce aveți nevoie / linkuri

Ce aveți nevoie / linkuri
Ce aveți nevoie / linkuri
  1. Arduino Nano
  2. Scut I²C pentru Arduino Nano
  3. Cablu USB de tip A la Micro tip B lung de 6 picioare
  4. Cablu I²C
  5. Senzor de curent alternativ I²C prin ADC121C Mini-modul ADC I²C pe 12 biți ADC121C
  6. CFL sau bec.
  7. Cabluri PCV.

Pasul 3: Diagrama circuitului

Diagrama circuitului
Diagrama circuitului
Diagrama circuitului
Diagrama circuitului

Pasul 4: Programare / Cod

Programare / Cod
Programare / Cod

#include

configurare nulă ()

{

// Adresa I2C a ADC121C021, 0x50 interfațată cu TA12-200

#define ADC_ADDR 0x50

// Alăturați-vă I2c Bus ca master

Wire.begin ();

// Porniți comunicarea serială pentru ieșirea consolelor seriale

Serial.begin (9600);

}

bucla nulă ()

{

// Începeți transmisia cu dispozitivul dat pe magistrala I2C

Wire.beginTransmission (ADC_ADDR);

// Registrul rezultatelor conversiei apelurilor, 0x00 (0)

Wire.write (0x00);

// întârziere (500);

// Solicitați 2 octeți

Wire.requestFrom (ADC_ADDR, 2);

// Citiți octeții dacă sunt disponibili

if (Wire.available () == 2)

{

int msb = Wire.read ();

int lsb = Wire.read ();

// Încheiați transmisia și eliberați magistrala I2C

Wire.endTransmission ();

// Calculul valorii

int rawADC = msb * 256 + lsb;

rawADC = rawADC & 0x0fff;

// Ieșire pe ecran

Serial.print ("Valoarea ADC:");

Serial.println (rawADC);

}

altceva

{

Serial.println („Nu sunt suficienți octeți disponibili pe fir.”);

}

întârziere (100);

}

////////////////////////////////////////////////////// /////////////////////////NOTĂ//////////////////////// ////////////////////////////////////////////////////// ///////////////////////////

// Aceste valori sunt în amperi mili

// De asemenea, puteți găsi valoarea RMS a curentului, găsind citirea maxinmum și împărțiți-o la 1.414

Pasul 5:

Pentru întrebări suplimentare Simțiți-vă liber să vizitați site-ul nostru:

www.dcubetechnologies.com

Recomandat: