Prova questo
#define LPAUSA 2000 //-- pausa laterale
#define CPAUSA 2000 //-- pausa centrale
#define maxsx 45 //-- corsa max sx
#define maxdx 135 //-- corsa max dx
#define centro 90 //-- centro servo
#define VelSer 60 //-- velocita servo
#define PinSer 9 //-- pin servo
#define PinRX 8 //-- pin legge RX
#include <Servo.h>
Servo myservo;
int rxpulse = 1500;
int n = 90;
void setup() {
myservo.attach(PinSer);
pinMode(PinRX, INPUT);
}
void loop() {
rxpulse = pulseIn(PinRX, HIGH);
Serial.println(rxpulse);
if (rxpulse > 1700)
{
myservo.write(centro);
delay(200);
} else {
ruota();
}
}
void ruota() {
//-- da centro a sx
for (n = centro; n >= maxsx; n--) {
myservo.write(n);
delay(VelSer);
} delay(LPAUSA);
//-- torno al centro
for (n = maxsx ; n <= centro; n++) {
myservo.write(n);
delay(VelSer);
} delay(CPAUSA);
//-- da centro a dx
for (n = centro; n <= maxdx; n++) {
myservo.write(n);
delay(VelSer);
} delay(LPAUSA);
//-- torno al centro
for (n = maxdx ; n >= centro; n--) {
myservo.write(n);
delay(VelSer);
} delay(CPAUSA);
}
__________________
Solo Aeromodelli -
Autogiro Elicotteri Multirotori No grazie
|