Tengo un controlador electrónico de velocidad (ESC) controlado con Modulación de ancho de pulso (PWM) desde un Arduino.
Cuando coloco mi mano cerca de los cables, la señal se desvanece hasta que me aleja. Busqué shorts, pero no encontré ninguno. No tengo un osciloscopio o eso me daría mi respuesta.
¿Qué está pasando aquí?
También hice este video para ayudar a explicar la situación .
Esquema en bruto
EDITAR
AgregarcódigodetrabajoArduinoparafuturosvisitantes
#include<SoftwareServo.h>//Downloadfromhttp://playground.arduino.cc/ComponentLib/ServoSoftwareServomyservo;//createservoobjecttocontrolaservo//intpotpin=0;//analogpinusedtoconnectthepotentiometerintPIN=2;intval;//variabletoreadthevaluefromtheanalogpinvoidsetup(){Serial.begin(115200);myservo.attach(PIN);//attachestheservoonpin2totheservoobject}voidloop(){charr=Serial.read();StringinStr=String(r);if(r>-1){Serial.print("serial in: ");
Serial.println(inStr);
}
if(r <= -1) {
// void
} else if(inStr == "h") { // high
Serial.println("HIGH");
digitalWrite(PIN, HIGH);
} else if(inStr == "m") { // medium
Serial.println("medium");
myservo.write(90);
} else if (inStr == "l") { // low
Serial.println("LOW");
digitalWrite(PIN, LOW);
} else if (inStr.toInt() >= 0 && inStr.toInt() <= 9) {
int val = inStr.toInt() * 20;
Serial.println(val);
myservo.write(val);
}
// float t = millis() / 100;
// val = sin(t / 10) * 1000;//analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
// // if(val < 0) val *= -1;
// val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
// val = millis() / 100;
// myservo.write(val); // sets the servo position according to the scaled value
// Serial.println(val);
// delay(15); // waits for the servo to get there
SoftwareServo::refresh();
}