Servo.h invia dati casuali su serial monitor

Salve a tutto il forum,
mi rivolgo a voi perche sono davvero disperato.

Ho realizzato uno sketch con cui ( utilizzando la libreria “php serial”) riesco a comunicare con arduino e a farmi stampare ciò che ho inviato ad arduino nel serial monitor.

Ora L’incomprensibile:

Se ad inizio sketch inserisco “#include <Servo.h>” nel monitor seriale iniziano ad arrivare dati strani ed i miei messaggi non vengono più correttamente recapitati ad arduino (perche nel monitor seriale vengono stampati solo valori random e non i miei messaggi)

La domanda è : Perché fa cosi?

ci fai vedere lo sketch?

Hai collegato il servo ai pin 0 oppure 1?

la bound rate è corretta?

Come hai collegato il servo?

Ragazzi ho trovato il problema:
La libreria Servo va in conflitto con la libreria OneWire.h (la uso per dei sensori di temperatura) l'ho scoperto dopo 12 ore di smadonnamenti.
I conflitti fra le libreria sono una cosa a cui non avevo mai pensato. Ho risolto con la libreria PWMServo fonte: Servo Arduino Library, connecting RC Servo Motors to Teensy

grazie ancora a tutti voi

Sai se ci avessi dato piú informazioni potevamo risponderti.
Non avevi nominato da nessuna parte i sensori oneWire.
Ciao Uwe

Hai ragione, mi dispiace. la prossima volta cercherò di essere più preciso. E' che non credevo che le librerie potessero andare in conflitto quindi non ci stavo neanche pensando. Sono da poco entrato in questo mondo
Ciao!

Certe librerie usano dei Timer. L'Arduino UNO ne ha 3 di cui uno a 16 Bit e gli altri 2 a 8 Bit. Se due librerie ne usano la stessa non funzionano contemporaneamente.
Ciao Uwe

Si vede che sono un novizio. Non lo dimenticherò.
Alessandro

Problema riprensentato!

Continuo a ricevere dati strani nel monitor seriale
Queste solo le librerie impiegate, se serve posto anche lo sketch.
Sono incompatibili?

#include <OneWire.h>
#include <SPI.h>
#include <Ethernet.h>
#include <PWMServo.h>

Grazie di cuore

Ps: ho controllato la buond rate: l'ho impostata a 19200 baud sia nello sketch di arduino che nel file php con cui invio i miei messaggi ad arduino tramite seriale. Quindi non penso sia quello il problema

Credo che sia dall'inizio che ti si chiede di mettere il sorgente del programma ...
... o pensi che siamo dotati di "palla di vetro" ???

Guglielmo

L’ho allegato perchè per intero non me lo fa postare.
Grazie ancora

backup.ino (17.6 KB)

La OneWire usa gli interrupt di cambio di stato e vedo anche che durante il suo funzionamento attiva/disattiva gli interrupt globali, la PWMservo usa invece il timer 1. Capita che se la prima disattiva gli interrupt, la seconda si blocca ed ovviamente si perdono le temporizzazioni per il pilotaggio dei motori.

Quindi l'unica soluzione è usare due arduino?

Altrimenti come posso far coesistere i sensori di temperatura e il servomotore?