Visualizza messaggio singolo
Vecchio 25 aprile 20, 17:15   #20 (permalink)  Top
italo.driussi
User
 
L'avatar di italo.driussi
 
Data registr.: 02-07-2004
Residenza: Ronchi dei Legionari (GO)
Messaggi: 5.666
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
italo.driussi non รจ collegato   Rispondi citando