Мазмұны:

Arduino Nano (I2C) арқылы ағымдағы бақылау: 5 қадам
Arduino Nano (I2C) арқылы ағымдағы бақылау: 5 қадам

Бейне: Arduino Nano (I2C) арқылы ағымдағы бақылау: 5 қадам

Бейне: Arduino Nano (I2C) арқылы ағымдағы бақылау: 5 қадам
Бейне: I2C СКД | №5 FLProg аналогтық кірісі ESP32 NodeMCU | Arduino визуалды енгізілген бағдарламалау 2024, Шілде
Anonim
Arduino Nano арқылы ағымдағы бақылау (I2C)
Arduino Nano арқылы ағымдағы бақылау (I2C)

Сәлеметсіз бе, Жақсы сәлем.. !!

Мұнда мен (Somanshu Choudhary) Arduino нано көмегімен токты бақылайтын Dcube технологиялық кәсіпорындары атынан TA12-200 ағымдағы сенсорының аналогтық мәліметтерін оқу үшін I2C протоколының қосымшаларының бірі болып табылады.

1 -қадам: Шолу

Шолу
Шолу
  1. TA12-200-айнымалы ток датчигі
  2. Деректер парағы сілтемесі:
  3. Бұл жоба айнымалы ток мәндерін өлшейді

2 -қадам: Сізге не қажет / сілтемелер

Сізге не қажет / Сілтемелер
Сізге не қажет / Сілтемелер
  1. Ардуино Нано
  2. Arduino Nano үшін I²C қалқаны
  3. А типті USB кабелі B түріне 6 фут
  4. I²C кабелі
  5. I²C айнымалы ток сенсоры ADC121C 12 биттік ADC I²C шағын модулі арқылы
  6. CFL немесе шам.
  7. PCV кабельдері.

3 -қадам: схема

Схема диаграммасы
Схема диаграммасы
Схема диаграммасы
Схема диаграммасы

4 -қадам: Бағдарламалау / код

Бағдарламалау / код
Бағдарламалау / код

#қосу

жарамсыз орнату ()

{

// TA12-200 интерфейсіндегі ADC121C021, 0x50 I2C адресі

#ADC_ADDR 0x50 анықтаңыз

// I2c Bus -ке мастер ретінде қосылыңыз

Wire.begin ();

// Сериялық консоль шығысы үшін сериялық байланысты бастау

Serial.begin (9600);

}

бос цикл ()

{

// Беруді I2C шинасында берілген құрылғымен бастаңыз

Wire.beginTransmission (ADC_ADDR);

// Шақыру нәтижесі регистрі, 0x00 (0)

Wire.write (0x00);

// кешіктіру (500);

// 2 байтты сұрау

Wire.requestFrom (ADC_ADDR, 2);

// Егер олар бар болса, байттарды оқыңыз

егер (Wire.available () == 2)

{

int msb = Wire.read ();

int lsb = Wire.read ();

// I2C шинасының берілуін тоқтату

Wire.endTransmission ();

// Мәнді есептеу

int rawADC = msb * 256 + lsb;

rawADC = rawADC & 0x0fff;

// Экранға шығару

Serial.print («ADC мәні:»);

Serial.println (rawADC);

}

басқа

{

Serial.println («Сымда байттар жеткіліксіз.»);

}

кешіктіру (100);

}

/// /////////////////////////ЕСКЕРТУ//////////////////////// /// ///////////////////////////

// Бұл мәндер миль амперде

// Сондай -ақ, максимум мәнін табу арқылы токтың rms мәнін табуға болады және оны 1.414 -ке бөлуге болады

5 -қадам:

Қосымша сұрақтар бойынша біздің сайтқа кіруге болады:

www.dcubetechnologies.com

Ұсынылған: