Hola , estoy manejando un sensor de corriente para encender un led cuando un servomotor consuma mucha corriente, este consumirá mas corriente cuando le ponga un esfero, ya que el servomotor maneja una pinza que se cierra y se abre , entonces cuando se cierre cojera el esfero y consumira mas corriente mi idea es hacer que cuando consuma tal cantidad de corriente me encienda el led, ya hice que me mida la corriente y mueva el servo y todo , este programa que adjunto es solo para la medición de la corriente, el problema que tengo es que le igualo la variable "a" a los datos seriales que imprimo en el monitor serial los valores que media al poner el esfero eran de -0.350 a -0.450 masomenos entre esos valores oscila entonces hice que cuando sea la variable a sea menor a -0.350 me prenda un led pero no me funciona, ayúdenme por favor
float Sensibilidad=0.185; //sensibilidad en Voltios/Amperio para sensor de 5A
double a;// variable para comparar
void setup() {
Serial.begin(9600);
pinMode(2,OUTPUT);
}
void loop() {
float I=get_corriente(200);//obtenemos la corriente promedio de 200 muestras
Serial.print("Corriente: ");
a=Serial.println(I,3); //Le igualo para obtener los valores de la corriente
if(a<(-0.350)){ //Comparacion
digitalWrite(2,HIGH);
}else{
digitalWrite(2,LOW);
}
delay(100);
}
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);
}