Pages: 1 ... 12 13 [14] 15   Go Down
Author Topic: MENWIZ: una libreria per creare menu su LCD  (Read 22720 times)
0 Members and 1 Guest are viewing this topic.
rome
Offline Offline
Sr. Member
****
Karma: 17
Posts: 481
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

quello era il penultimo esempio codice, che non funzionava.
nell'ultimo codice (ultimo post del topic) non vedo quelle linee di codice e navmenu restituisce i codici Menwiz corretti (MW_BTU ecc...)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Ragazzi, ho avuto il tmepo per fare delle prove con il display e il menu, non avendo display I2C ho usato uno standard seriale che avevo, ma aimè non vedo nulla. La libreria non dovrebbe funzionare lo stesso ?  smiley-eek-blue
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In questo sito: http://www.gioblu.com/community/forum/topic?id=542
viene usata la menwiz ma non cn il display i2c e mi da errore lo stesso. smiley-sad
Logged

0
Offline Offline
Faraday Member
**
Karma: 45
Posts: 5785
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

spetta spetta ti stai incasinando

Quote
LCD_seriale != LCD_I2C != LCD_4bit

spero di essere stato chiaro  smiley
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve ragazzi,
premetto che mi sto avvicinando da poco ad Arduino lasciando una lunga serie di progetti con i Pic, vi chiedo aiuto perchè sto dando di matto con la libreria MENWIZ.
Sto lavorando ad un progetto per il controllo automatico delle luci dell'acquario, ho seguito vari esempi, la guida della libreria e l'aiuto di un amico con un po più di esperienza ma non riesco a risolvere il problema.

Questo è parte dello sketch:
 
Code:
tree.begin(&lcd,16,2); //declare lcd object and screen size to menwiz lib
 r=tree.addMenu(MW_ROOT,NULL,F("Menu"));
  s1=tree.addMenu(MW_SUBMENU,r, F("Data/Ora"));
      s2=tree.addMenu(MW_VAR,s1, F("Giorno"));
      s2->addVar(MW_AUTO_INT,&Giorno,1,31,1);
      s2=tree.addMenu(MW_VAR,s1, F("Mese"));
      s2->addVar(MW_AUTO_INT,&Mese,1,12,1);
      s2=tree.addMenu(MW_VAR,s1, F("Anno"));
      s2->addVar(MW_AUTO_INT,&Anno,1900,2050,1);
      s2=tree.addMenu(MW_VAR,s1, F("Ore"));
      s2->addVar(MW_AUTO_INT,&Ore,0,24,1);
      s2=tree.addMenu(MW_VAR,s1, F("Minuti"));
      s2->addVar(MW_AUTO_INT,&Minuti,0,60,1);
      s2=tree.addMenu(MW_VAR,s1, F("Secondi"));
      s2->addVar(MW_AUTO_INT,&Secondi,0,60,1);
      s2=tree.addMenu(MW_VAR,s1, F("Salva Dati"));
      s2->addVar(MW_ACTION,salvaora); //Richiamo alla funzione per aggiorare RTC
  tree.addUsrScreen(SchermataRiepilogo, 5000);

Il problema in se è che le voci "secondi" e "Salva Dati" non mi compaiono nel menù, è come se ci fossero troppe voci, infatti se commento per esempio "Giorni" e "mesi " le ultime due compaiono.
Avete una qualche idea di quale potrebbe essere il problema? Grazie in anticipo!
« Last Edit: June 03, 2014, 12:23:12 pm by leo72 » Logged

ivrea (to)
Online Online
Faraday Member
**
Karma: 77
Posts: 4634
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@rioch87
ti invitiamo a presentarti qui: http://forum.arduino.cc/index.php?topic=113640.0
e a leggere il regolamento: http://forum.arduino.cc/index.php?topic=149082.0
- qui una serie di schede by xxxPighi per i collegamenti elettronici vari: http://forum.arduino.cc/index.php?topic=146152.0
- qui le pinout delle varie schede by xxxPighi: http://forum.arduino.cc/index.php?topic=151646.0
- qui una serie di link utili: http://forum.arduino.cc/index.php?topic=126861.0
Logged

my name is IGOR, not AIGOR

rome
Offline Offline
Sr. Member
****
Karma: 17
Posts: 481
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

... e dopo esserti presentato controlla il valore di MAX_MENU in MENWIZ.cpp. Dovrebbe essere uguale a 8.
Incrementalo a 10 e poi dimmi.
Inoltre usa per il debug, dopo le chiamate a funzioni menwiz, anche la funzione getErrorMessage(true) e leggi sulla seriale se ti danno qualche errore DIVERSO DA ZERO
Inoltre: che scheda hai e quanta memoria libera (stampa il valore ritornato dalla funzione freeRam();)ti rimane dopo l'ultima istruzione di setup?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

... e dopo esserti presentato controlla il valore di MAX_MENU in MENWIZ.cpp. Dovrebbe essere uguale a 8.
Incrementalo a 10 e poi dimmi.
Inoltre usa per il debug, dopo le chiamate a funzioni menwiz, anche la funzione getErrorMessage(true) e leggi sulla seriale se ti danno qualche errore DIVERSO DA ZERO
Inoltre: che scheda hai e quanta memoria libera (stampa il valore ritornato dalla funzione freeRam();)ti rimane dopo l'ultima istruzione di setup?

Chiedo venia, mi sono appena presentato.
Ho dato un'occhiata alla libreria e aumentato i valori che mi hai segnalato. Sto utilizzando la board Arduino UNO infatti il problema più grave che mi ritrovo e proprio la ram. Il menù è più grande di quello che ho postato in precedenza e il programma non gira: noto sul display che scorrono tutte le voci del menù velocemente, in altri casi ili display rimane "pulito". Se commento 2 righe del menù il programma gira e rimangono liberi 168byte(?) di ram. Ho paura che la RAM non basti...  smiley-confuse
Logged

rome
Offline Offline
Sr. Member
****
Karma: 17
Posts: 481
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si. Non ti basta. Usa i suggerimenti del capito 1.4 "how to save memory space" del manuale. Non risolve tutto ma ti da un po di respiro. Poi rivolgiti a una mega o al prossimo arduino 0.
Tra le compatibili con grandezza simile alla UNO io trovo ottima la Seeduino Mega (circa 30 euro).
c
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si. Non ti basta. Usa i suggerimenti del capito 1.4 "how to save memory space" del manuale. Non risolve tutto ma ti da un po di respiro. Poi rivolgiti a una mega o al prossimo arduino 0.
Tra le compatibili con grandezza simile alla UNO io trovo ottima la Seeduino Mega (circa 30 euro).
c

Il problema è che la board la userei solo per sviluppo, il progetto finale avrà il suo circuito stampato con l'atmega programmato, quindi prendere una board con il chip SMD non mi aiuta. Grazie comunque, cercherò un'altra soluzione che impieghi meno ram.
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 511
Posts: 12316
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Potresti usare comunque un smd e programmarlo direttamente sul pcb oppure passare al mega644 o 1284 in pdip programmandoli sempre su pcb o preventivamente su breadboard
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Bologna
Offline Offline
Full Member
***
Karma: 2
Posts: 151
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti, ho provato questa libreria, e per creare la tastiera ho collegato i pulsanti con una resistenza da 10K verso massa, una subito dopo la resistenza verso il pulsante da 330verso arduino dando sull'altro capo del pulsante i +5v.
Il tastierino funziona correttamente, provandolo singolarmente, ma collegandolo per usarlo con la libreria sui pin
30 - 32 - 34 - 36 - 38 e 40 su una ardu/mega con display i2c, non funziona, sul display vedo correttamente il menu ma non posso muovermi con i pulsanti, che ho settato correttamente nell'programma quick_tour di esempio fornito.
Dove sbaglio, va forse modificata la libreria botton , devo cambiare il senso di alimentazione del tastierino??

se qualcuno puo darmi una dritta..........
grazie vic
« Last Edit: June 13, 2014, 02:39:38 am by vic_20 » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti,
vorrei provare questa libreria. Ho provato a scaricarla e copiarla nella cartella librerie di Arduino insieme a Buttons e LiquidCrystal. Riavviato l'ide e provato a compilare i due esempi forniti. Riscontro però il seguente errore:


sketch_jul21a.ino: In function 'void setup()':
sketch_jul21a:79: error: 'class menwiz' has no member named 'navButtons'

Sembra non digerire:
  //declare navigation buttons (required)
  menu.navButtons(UP_BUTTON_PIN,DOWN_BUTTON_PIN,ESCAPE_BUTTON_PIN,CONFIRM_BUTTON_PIN);

Infatti rimane scritta tutta in nero.

Come IDE ho provato la 1.04 e la 1.0.5

Sicuramente sbaglio qualche cosa visto che sembra un problema solo mio ma non riesco proprio a capire cosa.

Grazie per l'aiuto,
Mario
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah... dimenticavo, la versione della libreria usata è la  1.3.2 mentre gli esempi li ho presi dalla 1.0.2.

Ho provato sia Quick_tour che Test_all_var_types e mi danno errore sempre sulla stessa istruzione, solo che una è:

tree.navButtons(.... );

mentre l'altra è

menu.navButtons(.....)

Ma il risultato rimane lo stesso...    'class menwiz' has no member named 'navButtons'


Grazie,
Mario
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 110
Posts: 6974
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non ricordo i nomi dei membri della classe, ma attento alle maiuscole e alle minuscole, il C è sensibile anche a questo aspetto.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Pages: 1 ... 12 13 [14] 15   Go Up
Jump to: