Servomotore gestione errori

Buongiorno a tutti,
ho un dubbio.
Sto sviluppando un’applicazione in c# da cui comandare il servomotore.
Questa è la parte di codice su arduino dove gestisco il movimento del servo:

for (int i = 0; i <= 120; i++) {
          angle = i;
          servo.write(angle);
          delay(35);

Fino a qui tutto bene. Riesco anche a gestire dall’interfaccia c#.
Ora ho staccato il motore, e lanciato comunque l’applicazione. Anche senza servomotore l’applicazione non si blocca e va avanti.
Volevo capire se c’è un modo per riuscire a capire se la servo.write() è andata a buon fine. O magari un modo per capire se il servomotore è collegato all’Arduino o meno.

Vi ringrazio anticipatamente,
buona giornata a tutti.

Giuseppe.

La servo.write non fa altro che generale un particolare segnale sul pin indicato in fase di configurazione.
Il segnale viene generato sia se c'è un servo collegato che no.
L'unico modo per vedere l'effetto è un controllo con un encoder collegato al servo o integrato nello stesso.
Altrimenti non hai feedback se non quello visivo, ma l'Arduino non lo sa.

--> Nubotics WheelWatcher – WW-11

oppure
--> http://www.openservo.com/

Grazie mille. Non ero a conoscenza di questa componente.

Proverò.

Gentilissimo.

Giuseppe

peppej89:
Volevo capire se c'è un modo per riuscire a capire se la servo.write() è andata a buon fine. O magari un modo per capire se il servomotore è collegato all'Arduino o meno.

E' possibile solo con alcuni modelli di servo digitali, tutta roba che costa decine di Euro, che prevedono un protocollo di comunicazione tramite il filo del segnale di controllo PPM, in questo caso puoi sapere se il servo è connesso e se ha raggiunto la posizione.
In alternativa ci sono i servo con controllo tramite bus seriale, solo servo digitali, che permette sia di pilotare il servo che ottenere dati telemetrici (se supportato dal modello) dal servo.

Grazie anche a te.
Mi sa che per ora lascio stare e uso il servomotore normale senza controllo.

Giuseppe.