Ribuonasera a tutti, confido di trovare il questo forum, come sempre la mano per farmi uscire dalla buca che mi sono cacciato.
Sto realizzando un barometro a servo, un progetto preso in rete dall'autore Plavescki, portroppo dopo molte sere non sono ancora riuscito, ho sostituito il sensore con l'attuale BMP180, cambiato libreria, righe di programma ma purtroppo ancora nulla da fare per portare a compimento il progetto, lo skecht gira ma il servo e sempre piantato a fine corsa
Non capisco dove mi incarto
Grazie della collaborazione
Franco
Ciao, non so cosa volesse fare l'autore con quelle righe di codice che ti sto dicendo, ma non credo che ce ne siano per un servo comune, per vedere se questo altro codice fa quello che vuoi.
@iz3ggl : Fosse anche una sola riga, il codice va racchiuso negli appositi tag ...
... cortesemente, quindi, edita il tuo post più sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice. Così com'è non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmdT su un Mac all'intero del IDE). Grazie.
Ciao gonpezzi, intanto grazie per il tuo interessamento e pazienza.
Il progetto è un barometro con sensore BMP080 che utilizza come visualizzatore un servo da modellismo con scala graduata.
Ho sostituito il sensore e libreria con il BMP 180 e anche BMP280 ma lo skecth gira solo che il servo si pianta a fondo scala e li finisce.
Ho provato le tue righe ma mi da errore, no ho grandissima pratica ovviamente ho fatto altri progetti e sono sempre piu o meno andati, qui sono inchiodato
di suigito la riga di errore
Io proverei a stampare il valore di "pressure" e verificare che sia quello che ti aspetti, solo DOPO penserei al movimento del servo ...
Inoltre, perché pressure lo dichiari float ? ? ? Nel .h della libreria, la funzione che legge la pressione è così definita:
/*!
* @brief Gets the pressure over I2C from the BMP085
* @return Returns the pressure
*/
int32_t readPressure(void);
... quindi, come vedi, ti torna un 'int32_t' che, probabilmente, sei abituato a vedere come 'long', ovvero un intero a 32 bit segnato e NON un float (oltretutto la funzione map() NON funziona con i float).
Oltre a quello che dice @ gpb01, sono una bestia e avevo caricato la variabile perss dalla funzione map, ecco perché ti ha dato l'errore durante la compilazione. Ho corretto il codice sopra. Ritenta.
Saluti.
ma se non erro, quella libreria che gestisce il sensore restituisce valori differenti, del tipo 99500 - 103500 rispettivamente valori che a spanna sono di minima e alta pressione (dipende dall'altitudine e dalla previsione) che vanno divisi per 100 per riportarli ai valori che usualmente trovi sulle cartine barometriche cioè in hPa.
Grazie a tutti per la collaborazione, lo sketch e partito come da vostri consigli ma il sistema a servo è troppo poco preciso e leggibile, avendo nella stessa consolle la velocita e l'angolo di rotta a big display provo a realizzare la soluzione del barometro con il max 7219 e display 7 caratteri.
Come consigliato da gpb01 ho estratto il dato dal sensore BMP180 e adesso cerco di visualizzarlo sul display, purtroppo in rete non ho trovato nulla di copiabile
Sicuramente mi incarto e vi chiedero ancora aiuto
Grazie
Franco