
Интернет-магазин «Неглупый Дом»
ACS712 непрерывно следит за током нагрузки — как только он превышает безопасный порог (короткое замыкание, перегрузка), Arduino мгновенно обесточивает линию через реле, защищая проводку и подключённое оборудование.
const int sensorPin = A0;
const int relayPin = 7;
const float maxCurrent = 5.0; // ампер, безопасный порог
bool tripped = false;
void setup() {
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // нагрузка включена
}
void loop() {
if (tripped) return; // после срабатывания требуется перезагрузка платы для сброса
int raw = analogRead(sensorPin);
float voltage = (raw / 1023.0) * 5.0;
float current = abs(voltage - 2.5) / 0.066;
if (current > maxCurrent) {
digitalWrite(relayPin, LOW);
tripped = true;
}
delay(10);
}
После срабатывания защиты состояние `tripped` не сбрасывается автоматически — это осознанное решение: перегрузка обычно означает реальную неисправность, которую стоит устранить перед повторным включением, а не просто попробовать снова.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 214 ₽ 193 ₽ (экономия 21 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.