Оглавление:

Текущий мониторинг через Arduino Nano (I2C): 5 шагов
Текущий мониторинг через Arduino Nano (I2C): 5 шагов

Видео: Текущий мониторинг через Arduino Nano (I2C): 5 шагов

Видео: Текущий мониторинг через Arduino Nano (I2C): 5 шагов
Видео: Arduino nano назначение выводов и вообще 2024, Ноябрь
Anonim
Текущий мониторинг через Arduino Nano (I2C)
Текущий мониторинг через Arduino Nano (I2C)

Привет, Добрый день.. !!

Здесь я (Соманшу Чоудхари) от имени технологического предприятия Dcube собираюсь контролировать ток с помощью Arduino nano, это одно из приложений протокола I2C для чтения аналоговых данных датчика тока TA12-200.

Шаг 1. Обзор

Обзор
Обзор
  1. TA12-200 - датчик переменного тока
  2. ТЕХНИЧЕСКАЯ ИНФОРМАЦИЯ Ссылка:
  3. Этот проект измеряет значения переменного тока

Шаг 2. Что вам нужно / Ссылки

Что вам нужно / Ссылки
Что вам нужно / Ссылки
  1. Ардуино Нано
  2. I²C Shield для Arduino Nano
  3. Кабель USB типа A - Micro типа B длиной 6 футов
  4. Кабель I²C
  5. Датчик переменного тока I²C через 12-разрядный мини-модуль ADC121C I²C
  6. КЛЛ или лампочка.
  7. Кабели ПВХ.

Шаг 3: принципиальная схема

Принципиальная электрическая схема
Принципиальная электрическая схема
Принципиальная электрическая схема
Принципиальная электрическая схема

Шаг 4: Программирование / Код

Программирование / Код
Программирование / Код

#включают

установка void ()

{

// I2C-адрес ADC121C021, 0x50, подключенного к TA12-200

#define ADC_ADDR 0x50

// Присоединяемся к шине I2c как мастер

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 ("Значение АЦП:");

Serial.println (rawADC);

}

еще

{

Serial.println («Недостаточно байтов на проводе.»);

}

задержка (100);

}

////////////////////////////////////////////////// /////////////////////////ПРИМЕЧАНИЕ//////////////////////// ////////////////////////////////////////////////// /////////////////////////

// Эти значения указаны в милли ампер.

// Вы также можете найти среднеквадратичное значение тока, найдя максимальное значение и разделив его на 1,414

Шаг 5:

Для получения дополнительной информации посетите наш сайт:

www.dcubetechnologies.com

Рекомендуемые: