Grazie all'aiuto degli utenti del forum sono riuscito a creare i due codici di cui ho bisogno per realizzare il progetto che ho in mente. I due codici funzionano perfettamente se testati separatamente, e sono stati provati fino a qualche minuto fa.
Il problema nasce nel momento in cui vado a scriverli nello stesso sketch affinché possa caricare su Arduino un unico programma che funzioni simultaneamente.
E' possibile che si creino particolari conflitti tra le librerie? E' l'unico dubbio che mi viene.
Vi allego i codici e confido nelle vostre conoscenze. Sono certo si tratta di piccolezze dato che individualmente sono funzionanti come già ribadito. Grazie a chiunque risponderà
Quelle due righe non servono a nulla ...
... apri l'IDE, vai nelle impostazioni e metti il segno di spunta in "Show verbose output during:" (... non so come è in Italiano) per la "compilazione" (... se vuoi anche per l'upload, che male non fa, da solo più indicazioni).
Dopo di copia e incolla qui gli errori (... cortesemente anche loro racchiusi tra i tag code).
Gli errori che mi restituisce gli ho allegati in un txt poichè avrei dovuto inviare non so quanti messaggi per evitare di superare il numero massimo di caratteri consentito
Vi riallego anche il codice correttamente formattato:
LucaM:
Gli errori che mi restituisce gli ho allegati in un txt poichè avrei dovuto inviare non so quanti messaggi per evitare di superare il numero massimo di caratteri consentito
Anche perché ti era stato detto ci copiare/incollare gli errori, NON tutta la compilazione ...
\Users\Tommaso\AppData\Local\Temp\arduino_build_951194/..\arduino_cache_514426\core\core_arduino_avr_uno_5a371a7b9347cf4f0e46e15fae85cf22.a" "-LC:\Users\Tommaso\AppData\Local\Temp\arduino_build_951194" -lm
C:\Users\Tommaso\AppData\Local\Temp\arduino_build_951194\libraries\GSM\GSM3SoftSerial.cpp.o (symbol from plugin): In function `GSM3SoftSerial::spaceAvailable()':
(.text+0x0): multiple definition of `__vector_5'
PinChangeInterrupt2.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
Uso la libreria PinChangeInterrupt alla versione 1.2.4 nella cartella: C:\Users\Tommaso\Documents\Arduino\libraries\PinChangeInterrupt
Uso la libreria GSM alla versione 1.0.6 nella cartella: C:\Program Files\Arduino\libraries\GSM
exit status 1
Errore durante la compilazione per la scheda Arduino/Genuino Uno.
... direi che le due librerie sono incompatibili tra di loro dato che usano lo stesso vettore di interrupt.
La soluzione è usare due pin diversi dal 2 e 3 ... basta andare nella libreria del GSM e vedere dove li definisce, tanto sono sicuro che li usa solo per la SoftwareSerial ... :
Questi dovrebbero essere il TX ed RX del modulo GSM. Se vado a variare la libreria non rischio che Arduino e modulo non comunichino più?
Attendo dritte perché ho compreso il problema ma non ho affatto capito come devo risolverlo
o piu' semplicemente usare un pin diverso per la variabile ingresso.
Da D0 a D7 = NO
da D8 a D13 = SI
Da A0 a A5 = SI
Inizialmente utilizzavo D8, poi sono passato a D4 avendo intuito la possibilità di risolvere in questa maniera.. Ora ho appena provato con A0. Purtroppo non ha funzionato in nessuno dei tre casi.
Devo provare con qualche altro pin magari può essere una soluzione più sbrigativa del modificare la libreria (che non ho la minima idea di come si faccia)?