Интернет-магазин «Неглупый Дом»
ACS712 измеряет ток от панели, AT24C256 сохраняет значения для анализа выработки за день.
ACS712 измеряет ток по эффекту Холла, не внося сопротивления в цепь, и выдаёт напряжение, пропорциональное току, с центром покоя около 2.5V при нулевом токе. Коэффициент пересчёта зависит от варианта платы: 5А — ~0.185 В/А, 20А — ~0.100 В/А, 30А (как здесь) — ~0.066 В/А.
AT24C256 — энергонезависимая EEPROM на I2C объёмом 32 КБ, хранит данные без питания. Каждая запись — 2 байта (ток в мА), адрес вычисляется как `index * 2`, запись разбивается на старший/младший байт.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
#include <Wire.h>
const int sensorPin = A0;
const int EEPROM_ADDR = 0x50;
const int maxEntries = 100;
int writeIndex = 0;
void writeEntry(int index, int value) {
int addr = index * 2;
Wire.beginTransmission(EEPROM_ADDR);
Wire.write(addr >> 8);
Wire.write(addr & 0xFF);
Wire.write(value >> 8);
Wire.write(value & 0xFF);
Wire.endTransmission();
delay(5); // EEPROM нужно время на запись
}
void setup() {
Serial.begin(9600);
Wire.begin();
}
void loop() {
int raw = analogRead(sensorPin);
float voltage = (raw / 1023.0) * 5.0;
float current = (voltage - 2.5) / 0.066; // коэффициент для варианта 30А
int currentMa = (int)(current * 1000);
writeEntry(writeIndex % maxEntries, currentMa);
Serial.print("Записано, мА: ");
Serial.println(currentMa);
writeIndex++;
delay(600000UL); // раз в 10 минут
}
Каждая запись — 2 байта, до 100 записей, при заполнении пишет по кругу, затирая старые.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 297 ₽ 267 ₽ (экономия 30 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.