Интернет-магазин «Неглупый Дом»
ACS712 измеряет ток по эффекту Холла с гальванической развязкой, показывает ампераж на LCD1602.
ACS712 измеряет ток не напрямую через провод, а по магнитному полю, которое этот ток создаёт при прохождении через внутреннюю шину датчика — поэтому между измеряемой цепью и Arduino нет прямого электрического контакта (гальваническая развязка). Без тока на выходе датчика около 2.5V — это "ноль", а отклонение от него в обе стороны пересчитывается в ампераж через коэффициент чувствительности своей модели.
Разводка модулей у разных производителей отличается — если на вашей плате контакты называются иначе, сориентируйтесь по маркировке.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int sensorPin = A0;
LiquidCrystal_I2C lcd(0x27, 16, 2);
const float sensitivity = 0.066; // замените под свою модель датчика
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
int raw = analogRead(sensorPin);
float voltage = (raw / 1023.0) * 5.0;
float current = (voltage - 2.5) / sensitivity;
Serial.print("Ток: ");
Serial.println(current);
lcd.setCursor(0, 0);
lcd.print("Current: ");
lcd.print(current);
lcd.print(" A ");
delay(500);
}
`sensitivity` зависит от версии модуля — 0.185 для 05A, 0.100 для 20A, 0.066 для 30A, указано на плате.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 336 ₽ 302 ₽ (экономия 34 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.