Я пытался сделать soap - пузырьковый робот для моего ребенка. Это просто. На сервоприводе есть рычаг, который впитывает кольцо в мыльной воде и размещает перед вентилятором. Проблема заключается в том, что когда я активирую ШИМ-сервопривод, он начинает плохо себя вести (дрожит, дрожит go до 0 позиции), хотя они не работают одновременно. Похоже, что во время ШИМ в сервоприводе есть шум.
#include <Servo.h>
Servo myservo; // create servo object to control a servo
#define MOTOR_PIN 11
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(4);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(MOTOR_PIN, OUTPUT);
}
void loop() {
analogWrite(MOTOR_PIN,0);
delay(100);
for (pos = 30; pos <= 120; pos += 1) {
// in steps of 1 degree
myservo.write(pos);
delay(10);
}
for (pos = 120; pos >= 30; pos -= 1) {
myservo.write(pos);
delay(10);
}
digitalWrite(LED_BUILTIN, HIGH);
delay(200);
digitalWrite(LED_BUILTIN, LOW);
delay(150);
digitalWrite(LED_BUILTIN, HIGH);
delay(150);
analogWrite(MOTOR_PIN, 400);
digitalWrite(LED_BUILTIN, LOW);
delay(150);
digitalWrite(LED_BUILTIN, HIGH);
delay(150);
digitalWrite(LED_BUILTIN, LOW);
delay(150);
delay (3000);
}
Изображение сервопреобразователя и ШИМ