7
我正在與Arduino合作,我連接了一臺伺服電機和一臺普通電機。它們都可以工作,但是當我開始正常的電機腳本時,伺服電機會做小痙攣的東西。 任何人都可以幫助我嗎?伺服電機對其他事情起反應
// Includes
#include <Servo.h>
// Aanmaken van de variabelen voor in de code
int ledPin = 13;
const int motorPin = 2;
int usbnumber = 0;
Servo stuurServo; // create servo object to control a servo
int pos = 90; // variable to store the servo position
// De eerste setup maken
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(motorPin, OUTPUT);
stuurServo.attach(12);
Serial.begin(9600);
stuurServo.write(pos);
}
void loop()
{
if (Serial.available() > 0) {
usbnumber = Serial.read();
}
if (usbnumber > 0) {
if (usbnumber == 1){ // Lampje knipperen
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(500);
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(500);
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(500);
}else if(usbnumber == 2){ // Motor aan voor 5 seconden
digitalWrite(motorPin, HIGH);
delay(20000);
digitalWrite(motorPin, LOW);
}else if(usbnumber == 3){ // stuur servo +10 graden
if(pos != 180){
pos + 10;
stuurServo.write(pos);
}
}else if(usbnumber == 4){ // stuur servo -10 graden
if(pos != 0){
pos - 10;
stuurServo.write(pos);
}
}else if(usbnumber == 5){ // stuur servo liks
pos = 0;
stuurServo.write(pos);
}else if(usbnumber == 6){ // stuur servo rechts
pos = 180;
stuurServo.write(pos);
}else{
delay(500);
}
usbnumber = 0;
}
}
定義:小痙攣的東西? – fuzz
這些對於查看原理圖來說總是很難排除故障,然而,根據電機和運行速度的不同,它會在線路中引起反饋噪聲,從而影響伺服電機。嘗試添加一個過濾器到你的普通電機線,看看是否有幫助。 –
爲什麼這個問題有PHP標記標記? –