У меня есть электронный регулятор скорости (ESC), которым управляет широтно-импульсная модуляция (PWM) от Arduino.
Когда я подношу руку близко к кабелю, сигнал пропадает, пока я не убираю руки. Я проверил шорты, но не нашел. У меня нет осциллографа, иначе он бы дал мне ответ.
Что тут происходит?
Я также сделал это видео, чтобы помочь объяснить ситуацию .
Добавление рабочего кода Arduino для будущих посетителей
#include <SoftwareServo.h> // Download from http://playground.arduino.cc/ComponentLib/Servo
SoftwareServo myservo; // create servo object to control a servo
//int potpin = 0; // analog pin used to connect the potentiometer
int PIN = 2;
int val; // variable to read the value from the analog pin
void setup()
{
Serial.begin(115200);
myservo.attach(PIN); // attaches the servo on pin 2 to the servo object
}
void loop()
{
char r = Serial.read();
String inStr = 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();
}
Этот ответ возник из комментария @Mark
Это ground
проблема.
Несмотря на то, что ESC будет работать без провода ground
от Arduino, для стабильной работы signal
мне нужно было соединить signal
провод от Arduino с ground
проводом от Arduino.
В моем примере я взял отсоединенный ground
от ESC и подключил его к GND от Arduino.
Отметка
jbord39
Транзистор
Джексонкр
Джексонкр
пользователь_1818839
Джексонкр
Отметка
Джексонкр
Отметка
Джексонкр
Отметка
Крис Стрэттон
Отметка
Крис Стрэттон
Отметка
Джексонкр