conflitto servo.h e virtualwire.h

Salve, sono iscritto poco fa, ho fatto qualche "piccola" ricerca sul forum, ma non trovo quello che mi occorre. Innanzitutto scusatemi ma non bazzico i forum da tanto tempo e quindi se sbaglio qualcosa fatemelo sapere.
Il problema è questo non riesco a caricare le librerie servo.h e virtualwire.h nello stesso sketch, dandomi diversi errori. Ho provato anche servotimer2.h, ma di suo mi da degli errori. Ho fatto diversi tentativi di ricerca, ma nessun risultato positivo (da 10 gg. che sto tentando) non essendo un esperto sono rimasto in panne. sto utilizzando un Modulo RF 433 Mhz con il quale mandare i valori del joystick al servo mini3g. Se il problema è stato affrontato già su questo forum vi ringrazio di linkarmelo, se qualcuno ha già risolto o conosce la soluzione, resto in attesa. :o

Dacci i link alle librerie usate.
Ciao Uwe

faccio presente che di librerie ne ho scaricate diverse, ma sempre con lo stesso risultato.
In rete ho trovato anche la possibilità di sostituire servo.h con servotimer2.h ma quest'ultima mi da diversi errori di suo.
da considerare inoltre che le librerie prese singolarmente funzionano egregiamente senza problemi ma quando solo vado ad includerne una nello sketch dove è già inclusa l'altra da errore e nello specifico:

VirtualWire\VirtualWire.cpp.o: In function __vector_11': O:\arduino-1.6.3\libraries\VirtualWire/VirtualWire.cpp:591: multiple definition of __vector_11'
Servo\avr\Servo.cpp.o:O:\arduino-1.6.3\libraries\Servo\src\avr/Servo.cpp:81: first defined here
collect2.exe: error: ld returned 1 exit status
Errore durante la compilazione

stesso risultato (provato poco fa) con la libreria VarSpeedServo.h . Grazie per la cortese attenzione
P.S.: provato IDE 1.6.3 e IDE 1.0.6

filosonos:
da considerare inoltre che le librerie prese singolarmente funzionano egregiamente senza problemi ma quando solo vado ad includerne una nello sketch dove è già inclusa l'altra da errore e nello specifico:

Non puoi usare quelle due librerie assieme perché tutte e due usano l'interrupt TIMER1 CAPT (vettore 11).
Purtroppo non tutte le librerie di Arduino si possono usare in simultanea con altre librerie perché occupano le stesse risorse, questo è uno di quei casi.

cerco una soluzione, o quanto meno una alternativa per poter risolvere il problema. inviare i dati di due joystick tramite RF 433 ad un altro arduino che gestisce un motorino ed un piccolo servo!

a questo link ho trovato qualcosa di interessante e le librerie funzionanti, Problema con VirtualWire e i suoi "impulsi" sui pin pwm - Software - Arduino Forum
però gli sketch danno errori (quelli inclusi con le librerie). Se qualcuno avesse già provato e volesse darmi una mano ringrazio fin d'ora!
Francesco

Possibile che non ci sia alcuno che mi possa aiutare?

filosonos:
però gli sketch danno errori (quelli inclusi con le librerie). Se qualcuno avesse già provato e volesse darmi una mano ringrazio fin d'ora!

Posta gli errori. Quale versione IDE usi ?

sono andato in TILT!
ho usato altre librerie di cui l'ultima funziona solo con ide 0022 "SoftwareServo.h" e non funziona "Virtual wire con questa IDE

con la IDE 1.0 funziona la Virtualwire.h ma non funziona l'altra. Mi sa che rinuncio e cambio sistema di comunicazione. Si ma quale? bluetooth ?

nid69ita:
Posta gli errori. Quale versione IDE usi ?

Se ti decidi con un IDE (penso meglio 1.0.x) e posti gli errori, magari sono una cavolata da correggere.

magari posta tutto il codice completo, il tuo e le librerie

per il momento sto definendo quale sketch usare( ero partito dalla libreria servo.h e virtualwire.h), in corso d'opera, esattamente quando ho riscontrato l'incompatibilità delle due librerie utilizzando l'IDE 1.6.4, ho cominciato a ricercare e mi sono imbattuto in queste due che allego. Softwareservo.h sono riuscito ad utilizzarla con l'IDE 0022 invece con l'IDE 1.0 la virtualwire.h. Dato che io sono un INESPERTO ed ignorante continuo a non raccapezzarmi a sbrogliare la matassa...

... si ma se continui a non dire l'errore esatto nessuno di può aiutare a trovare la soluzione. ::slight_smile:

Te lo ha già chiesto nid e te lo ha già chiesto VB ...
... come pretendi aiuto se ti ostini a non dare informazioni. ? ? ?

Guglielmo

@filosonos posta il tuo codice, posta la libreria softwareservo e virtual wire e te la modifichiamo noi per farla andare sull'idea 1.6.5 perché tanto sarà sicuramente un lavoro veloce.

in alternativa Sbatti la testa contro un muro più grosso, quello di adesso ti sta facendo poco male!

Ciao! Ho recentemente rilasciato una libreria che si basa sullo standard PJON che fa esattamente al caso tuo. TI permette di avere una trasmissione wireless piu efficace e con maggiore range di VirtualWire (a parità di bit rate ovviamente) NON UTILIZZANDO timer o interrupt per funzionare :slight_smile: (il che ti permetterebbe di poter usare la libreria servo senza problemi) e credo sia proprio dedicata al tipo di moduli che usi: GitHub - gioblu/PJON_ASK: THIS CODEBASE IS OBSOLETE, use PJON instead! ASK/FSK multimaster radio communication protocol for Arduino and IOT

Se la provi fammi sapere come ti trovi :slight_smile:

ieri ho avuto problemi inviando gli allegati, spero di poterlo fare ora. VBExtreme, hai ragione, ma non è che mi faccia male, il problema che il muro era sottile e si è rotto, per questo seguirò il tuo consiglio. Grazie. Certamente stamattina proverò la libreria di gbm. E vi farò sapere. Comunque penso che , anche se dovesse funzionare questa ultima soluzione (quella di gbm) vi invio le librerie che ho tentato di utilizzare per capire dove cavolo sbagliavo o cosa c'era di sbagliato, dato che ad alcuni non davano problemi. ooops Grazie.

VirtualWire.h (12 KB)

Servo.h (5.53 KB)

Grazie filo ci do un occhio appena possibile. Fammi sapere come e' andata! :slight_smile:

dai sempre le cose a meta!
Vabbhe me le sono scaricate io e le ho modificate, queste sono compilabili sotto 1.6.5

SoftwareServo.zip (4.35 KB)

VirtualWire.zip (19.6 KB)

Caro vbextreme non ti arrabbiare con me, orsù! Hai ragione, ma ad una certa età, con l'inesperienza e la TELECOM che ti fa incazzare con l'ADSL che c'è e non c'è, posso anche essere giustificato, ma più che altro voglio ringraziarti per le librerie che funzionano alla grande. Come ringrazio pure gbm per la sua che direi, da quel poco che ne capisco, sarebbe più elastica di vw. Adesso tocca a me applicarle a quello che sto studiando. Sperando di non importunarvi più vi ringrazio di cuore, per adesso. Ciao Francesco

@filosonos, mica mi sono arrabbiato! per così poco?
Importunaci pure tutte le volte che vuoi che a noi ci fa piacere.

Buona vita.