Ho da poco ricevuto questo modulo, il BV4218 prodotto da ByVac.
come spesso mi accade, compro la roba prima di accertarmi accuratamente che esista documentazione e librerie usabili da arduino! Avevo visto qualcosa e credevo fosse sufficiente, ma così non è stato!
z3us, per favore dacci la possibilitá di aiutarti.
1) che versione di IDE usi? La libreria non funziona con la versione 1,0 ma funziona con la versione 023?
2) quale sketch usi
3) quali mesaggi di errore escono oppure descrivi nei particolari i sintomi.
scusa Uwe,
dovevo stare davanti al pc ieri ma poi sono andato via.
allora, aggiungiamo informazioni!
il modulo è nuovo, non sono ancora riuscito a farlo funzionare!
uso 023 come IDE, ma ho anche a disposizione 1.0!
compilando un programma di esempio preso su internet mi dà il seguente errore:
#include <Wire .h>
#include <ByVacLCD .h>
// declare the object – address in the data sheet is 0×42 but you
// need to divide this by two to get the ‘normal’ 7 bit I2C address
// – the low order bit is added on by Wire.
// this declaration is for 4 rows of 20 characters.
ByVacLCD bv = ByVacLCD(0×21,4,20);
void setup()
{
bv.init();
bv.print(“Hello World”);
}
void loop()
{
bv.setCursor(1,0);
bv.print(millis());
}
errore:
sketch_apr29a.cpp:1:19: error: Wire .h: No such file or directory
sketch_apr29a.cpp:2:23: error: ByVacLCD .h: No such file or directory
sketch_apr29a:6: error: stray '\' in program
sketch_apr29a:11: error: stray '\' in program
sketch_apr29a:11: error: stray '\' in program
sketch_apr29a:6: error: 'ByVacLCD' does not name a type
sketch_apr29a.cpp: In function 'void setup()':
sketch_apr29a:10: error: 'bv' was not declared in this scope
sketch_apr29a:11: error: 'u201cHello' was not declared in this scope
sketch_apr29a.cpp: In function 'void loop()':
sketch_apr29a:16: error: 'bv' was not declared in this scope
rilascia lo stesso errore sia con IDE 023 che con 1.
Ora a fare gli occhi alle pulci... :sweat_smile: il "+1" era per lo spazio nel nome, non certo per l'autodefinizione "rompiballe".... :sweat_smile: :sweat_smile:
ahahaha vi farò diventare matti io, lo so! e Uwe mi odierà fino al 21/12/2012!!!
non ho scritto dettagli perche la situazione non era cambiata, cioè:
Codice:
#include <Wire.h>
#include <ByVacLCD.h>
// declare the object – address in the data sheet is 0×42 but you
// need to divide this by two to get the ‘normal’ 7 bit I2C address
// – the low order bit is added on by Wire.
// this declaration is for 4 rows of 20 characters.
ByVacLCD bv = ByVacLCD(0×21,4,20);
void setup()
{
bv.init();
bv.print(“Hello World”);
}
void loop()
{
bv.setCursor(1,0);
bv.print(millis());
}
ed errore:
sketch_apr30a:6: error: stray '\' in program
sketch_apr30a:11: error: stray '\' in program
sketch_apr30a:11: error: stray '\' in program
sketch_apr30a:6: error: expected primary-expression before '(' token
sketch_apr30a:6: error: expected `)' before 'u00d721'
sketch_apr30a.cpp: In function 'void setup()':
sketch_apr30a:11: error: 'u201cHello' was not declared in this scope
la libreria usata ve l’ho segnalata prima. posta nella giusta cartella.vi faccio una foto!
sembra come se nella libreria mancasse qualcosa, un parametro o che! ho dato un’occhiata, ma non sono riuscito a vedere nulla di insolito!
Noto delle virgolette strane, non sono regolari come queste: "
Difatti ti segnala un errore di unicode u201c (e poi Hello). Che caratteri stai usando? Hai ricopiato quello sketch da internet, vero?[/code]
allora, quello sketch è copiato dalla rete, ma.....se nel mio sketch del vespacomputerduino aggiungo la libreria, e sostituisco la classica libreria LCD con questa, mi ridà lo stesso errore, segnalandomi con una riga gialla ByVacLCD lcd = ByVacLCD (0x21, 4, 20);
provo a cambiare quelle virgolette!
vediamo!
ma può darsi che questo errore di formattazione si trovi all'interno della libreria?
prima di tutto, non mi ero accorto che il testo Hello dentro le virgolette di prima non era Blu come al solito, cambiandole ha cambiato colore, indice che il compilatore lo ha rilevato come Print()! ho poi tentato di riscrivere la riga:
ByVacLCD dv = ByVacLCD (0x21, 4, 20);
e ha compilato! forse vi era qualcosa di formattato male pure il quella riga che non si vedeva!
grazie dell'aiuto!
al momento sono a lavoro e provo solo a compilare da remoto con il VNC, non appena torno a casa provo sul campo con il modulo! spero funzioni!
è interessante sapete? oltre a controllare il display, può spegnerlo e accenderlo, sia solo la retro che per intero. ha alcune funzioni in più della LiquidCrystal e sul modulo sono presenti degli ingressi ai quali è possibile collegare una tastiera a matrice 3x4. il modulo stesso memorizza i tasti premuti, fino a 16 di fila, che poi possono essere letti dal I2C e poi resettati. ha pure un pin di interrupt, ma anocra non mi è chiaro come funzioni e a cosa serva!
se và, sarebbe ottimo per "remotizzare" il display del mio Vespacomputerduino. potrei così mettere l'elettronica nel sotto-sella e l'LCD con i tasti del menù sullo sterzo passando solo 4 fili, alimentazione e I2C. volevo addirittura usare un normale cavo USB e mettere due prese ai due lati!