Ciao a tutti... ho preso un Nextion, che sembra fatto molto meglio delle cinesate che vendono in giro (pur essendo questo cinese!), anche perchè lascia praticamente tutti i pin liberi...
Problemi: scarico le librerie ufficiali da GitHub, provo a compilarle e....
Arduino:1.6.12 (Mac OS X), Scheda:"Arduino/Genuino Uno"
Receivemessage_netion:6: error: 'Nextion' does not name a type
Nextion myNextion(nextion, 9600); //create a Nextion object named myNextion using the nextion serial port @ 9600bps
^
/Users/Davide/Documents/Arduino/Receivemessage_netion/Receivemessage_netion.ino: In function 'void setup()':
Receivemessage_netion:10: error: 'myNextion' was not declared in this scope
myNextion.init();
^
/Users/Davide/Documents/Arduino/Receivemessage_netion/Receivemessage_netion.ino: In function 'void loop()':
Receivemessage_netion:15: error: 'myNextion' was not declared in this scope
String message = myNextion.listen(); //check for message
^
exit status 1
'Nextion' does not name a type
Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"
Ho cercato su google, anche su questo forum, ma non ho trovato granchè.... suggerimenti? Grazie!!
dokke:
Problemi: scarico le librerie ufficiali da GitHub, provo a compilarle e....
Ok scaricarle, ma poi ?
Hai scompattato lo zip ? Hai messo la cartella nella cartella delle tue librerie ? Se nell'IDE vai tra gli esempi, vedi gli esempi per i Nextion ? Se SI, carica un esempio e verifica che compili correttamente.
Certo che ho scaricato lo .ZIP, l'ho messa nelle mie librerie dopo averla unzippata (non è la prima libreria esterna che uso con Arduino) e con gli esempi ho questo risultato:
Arduino:1.6.12 (Mac OS X), Scheda:"Arduino/Genuino Uno"
In file included from /Users/Davide/Documents/Arduino/libraries/Nextion/Nextion.h:21:0,
from /Users/Davide/Documents/Arduino/libraries/Nextion/examples/CompCrop/CompCrop.ino:17:
/Users/Davide/Documents/Arduino/libraries/Nextion/examples/CompCrop/CompCrop.ino: In function 'void q0PopCallback(void*)':
/Users/Davide/Documents/Arduino/libraries/Nextion/NexConfig.h:42:29: error: 'dbSerial' was not declared in this scope
#define dbSerialPrintln(a) dbSerial.println(a)
^
/Users/Davide/Documents/Arduino/libraries/Nextion/examples/CompCrop/CompCrop.ino:30:5: note: in expansion of macro 'dbSerialPrintln'
dbSerialPrintln("q0PopCallback");
^
/Users/Davide/Documents/Arduino/libraries/Nextion/examples/CompCrop/CompCrop.ino: In function 'void setup()':
/Users/Davide/Documents/Arduino/libraries/Nextion/NexConfig.h:42:29: error: 'dbSerial' was not declared in this scope
#define dbSerialPrintln(a) dbSerial.println(a)
^
/Users/Davide/Documents/Arduino/libraries/Nextion/examples/CompCrop/CompCrop.ino:45:5: note: in expansion of macro 'dbSerialPrintln'
dbSerialPrintln("setup done");
^
exit status 1
Errore durante la compilazione per la scheda Arduino/Genuino Uno.
Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"
Allora ...
... scaricata la libreria ITEADLIB_Arduino_Nextion-0.7.0.zip (che è la STABLE), scompattata, messa tra le mie librerie, caricato l'esempio CompCrop.ino (che mi sembra è lo stesso che stai cercando di compilare tu), selezionata come board Arduino MEGA (dato che l'esempio fa riferimento ad una Serial2 ... che su Arduino UNO non esiste) e ...
Sketch uses 5,146 bytes (2%) of program storage space. Maximum is 253,952 bytes.
Global variables use 539 bytes (6%) of dynamic memory, leaving 7,653 bytes for local variables. Maximum is 8,192 bytes.
... ovvero lo ha compilato senza errori.
Guglielmo
P.S.: e sono anche io su macOS 10.12.1 con IDE 1.6.12
...è andata! Vuol dire che con Arduino UNO non si può usare, speriamo si possa usare in futuro perchè libera molti pin e per i progetti più semplici un UNO può bastare e avanzare!
Grazie mille del supporto! Proverò in un secondo momento ad usare la SoftwareSerial!
dokke:
Proverò in un secondo momento ad usare la SoftwareSerial!
Non è complesso, i metodi che la classe usa sono gli stessi della Serial, quindi, se fai una ricerca dove lui usa la Serial2 ... dovresti risolvere facilmente
... meglio ... basta LEGGERE il readme che accompagna la libreria
Configuration
In configuration file NexConfig.h, you can find two macros below:
dbSerial: Debug Serial (baudrate:9600), needed by beginners for debug your nextion applications or sketches. If your complete your work, it will be a wise choice to disable Debug Serial.
nexSerial: Nextion Serial, the bridge of Nextion and your mainboard.
Note: the default configuration is for MEGA2560.
Redirect dbSerial and nexSerial
If you want to change the default serial to debug or communicate with Nextion , you need to modify the line in configuration file:
#define dbSerial Serial ---> #define dbSerial Serialxxx #define nexSerial Serial2 ---> #define nexSeria Serialxxx
Disable Debug Serial
If you want to disable the debug information,you need to modify the line in configuration file:
If your board has only one hardware serial, such as UNO, you should disable dbSerial and redirect nexSerial to Serial(Refer to section:Serial configuration).
commentando la riga dove definisce la seriale per il debug:
// #define DEBUG_SERIAL_ENABLE
definendo come seriale per il debug (che tanto non viene usata) la Serial2 #define dbSerial Serial2
definendo come seriale a cui è connesso il Nextion la Serial #define nexSerial Serial
... a me compila correttamente per Arduino/Genuino UNO.
Guglielmo
P.S.: Comunque non mi piace, avrei preferito che, sulla UNO, fosse stato direttamente possibile usare la SoftwareSerial, visto che spesso la Serial si usa proprio per il debug ... :