Мазмуну:

Ардуино Нано (I2C) аркылуу учурдагы мониторинг: 5 кадам
Ардуино Нано (I2C) аркылуу учурдагы мониторинг: 5 кадам

Video: Ардуино Нано (I2C) аркылуу учурдагы мониторинг: 5 кадам

Video: Ардуино Нано (I2C) аркылуу учурдагы мониторинг: 5 кадам
Video: #5 Аналоговый ввод FLProg на ЖК-дисплее I2C | ESP32 NodeMCU |Визуальное программирование для Arduino 2024, Июль
Anonim
Ардуино Нано аркылуу учурдагы мониторинг (I2C)
Ардуино Нано аркылуу учурдагы мониторинг (I2C)

Салам, Жакшы салам.. !!

Бул жерде мен (Somanshu Choudhary) Dcube технологиялык ишканаларынын атынан Arduino нанонун жардамы менен токту көзөмөлдөп турам, ал TA2-200 Current Sensor аналогдук маалыматын окуу үчүн I2C протоколунун тиркемелеринин бири.

1 -кадам: Обзор

Обзор
Обзор
  1. TA12-200-AC токтун сенсору
  2. DATASHEET Шилтемеси:
  3. Бул долбоор AC токтун маанилерин өлчөйт

2 -кадам: Сизге эмне керек / Шилтемелер

Сизге эмне керек / Шилтемелер
Сизге эмне керек / Шилтемелер
  1. Arduino Nano
  2. Arduino Nano үчүн I²C Shield
  3. USB кабели Type A - Micro Type B 6 Feet Long
  4. I²C кабели
  5. I²C AC ток сенсору ADC121C 12-бит ADC I²C Mini модулу аркылуу
  6. CFL же лампа.
  7. PCV кабелдери.

3 -кадам: Райондук диаграмма

Райондук диаграмма
Райондук диаграмма
Райондук диаграмма
Райондук диаграмма

4 -кадам: Программалоо / Код

Программалоо / Код
Программалоо / Код

#кошуу

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

{

// AD1212C021, 0x50 I12C дареги TA12-200 менен туташкан

#decine 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

Сунушталууда: