Tôi đang sử dụng Arduino Uno để điều khiển ESC cho bộ tứ giác (đang thực hiện) của mình. Tôi hiện đang sử dụng thư viện servo để điều khiển ESC, hoạt động rất tốt.
Ngoại trừ..
Tổng số 100 là tốc độ tối đa, nghĩa là tôi chỉ có 10 tốc độ trong khoảng từ 90 (dừng) và 100 (động cơ hết công suất) để chạy chính xác bộ tứ của tôi, tôi muốn có nhiều tùy chọn tốc độ hơn. Có ý kiến gì không? Tôi đang gặp khó khăn khi sử dụng tín hiệu PWM, mặc dù vậy tôi có thể không làm đúng.
Mã hiện tại của tôi là đây :
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created
int pos = 0; // variable to store the servo position
void setup()
{
myservo.attach(8); // attaches the servo on pin 8 to the servo object
}
void loop()
{
int maxspeed=100;
int minspeed=0;
int delaytime=5;
int count;
for(count=0; count <1; count+=1) {
for(pos = minspeed; pos < maxspeed; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(delaytime); // waits 15ms for the servo to reach the position
}
for(pos = maxspeed; pos>=minspeed; pos-=1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(delaytime); // waits 15ms for the servo to reach the position
}
if(count>1){
break;
}
}
myservo.write(92);
delay(100000);
myservo.write(90);
delay(10000000);
}