float Sensibilidad=0.185; //sensibilidad en Voltios/Amperio para sensor de 5A
const int LED1 = 13;
const int boton1 = 2; // Pin del Botón 1
void setup() {
Serial.begin(9600);
pinMode(boton1, INPUT_PULLUP);
pinMode(LED1, OUTPUT);
}
void loop() {
float I=get_corriente(200);//obtenemos la corriente promedio de 500 muestras
Serial.print("Corriente: ");
Serial.println(I,3);
if (I < 3) {
digitalWrite(LED1, HIGH);
}
if (digitalRead(boton1) == LOW) {
digitalWrite(LED1, LOW);
delay(200); // Debounce
}
}
float get_corriente(int n_muestras)
{
float voltajeSensor;
float corriente=0;
for(int i=0;i<n_muestras;i++)
{
voltajeSensor = analogRead(A0) * (5.0 / 1023.0);////lectura del sensor
corriente=corriente+(voltajeSensor-2.5)/Sensibilidad; //Ecuación para obtener la corriente
}
corriente=corriente/n_muestras;
return(corriente);
}