Go Down

Topic: MENWIZ: una libreria per creare menu su LCD (Read 28 times) previous topic - next topic

Silverdog63

#45
Jan 27, 2013, 10:01 pm Last Edit: Feb 03, 2013, 11:23 pm by Silverdog63 Reason: 1
Allora, mi è arrivato il display LCD da 20x4 WOW ! bellisimo ! ... e ho potuto progredire nel progetto.
Ecco cosa ho combinato:
Code: [Select]
 //------ Sega Squadratrice ---------
s1=menu.addMenu(MW_SUBMENU,r,F("SAW"));                    //add a submenu node 2 to the root menu (control the heigh of my Planner)
 s2=menu.addMenu(MW_SUBMENU,s1,F("Altezza Sega"));                         //add a terminal node in the menu tree (that is "variable"); (should move at a certain mm height)
   s3=menu.addMenu(MW_VAR,s2,F("Altezza Assoluta"));
     s3->addVar(MW_AUTO_INT,&Height2,0,100,1);     //int type, fd binded variable, rage 0-100, step 1
       s3=menu.addMenu(MW_VAR,s2,F("moveMOTOR2"));
       s3->addVar(MW_ACTION,moveMOTOR2);
 s2=menu.addMenu(MW_SUBMENU,s1,F("Spostamento Sega"));                         //add a terminal node in the menu tree (that is "variable"); (should move at a certain mm height)
   s3=menu.addMenu(MW_VAR,s2,F("Movimento Relativo"));
    s3->addVar(MW_AUTO_INT,&Height1,-100,100,1);                   //int type, fd binded variable, rage 0-100, step 1
       s3=menu.addMenu(MW_VAR,s2,F("moveMOTOR"));
       s3->addVar(MW_ACTION,moveMOTOR);
 s2=menu.addMenu(MW_VAR,s1,F("Zero"));                         //add a terminal node in the menu tree (that is "variable"); (should set the zero)
 s2=menu.addMenu(MW_VAR,s1,F("Setup"));                        //add a terminal node in the menu tree (that is "variable");  (set the parameters)

 
 //------- Pialla --------
s1=menu.addMenu(MW_SUBMENU,r,F("PLANNER"));                    //add a submenu node 2 to the root menu (control the heigh of my Planner)
 //------- Toupie --------
 s1=menu.addMenu(MW_SUBMENU,r,F("Toupie"));                    //add a submenu node 2 to the root menu (control the heigh of my Planner)

E queste sono le funzioni (provvisorie) chiamate:
Code: [Select]

void moveMOTOR(){
stepper1.moveTo(Height1 * 50); // move Height1 mm's
lcd.print ("Sposto di ");
lcd.print (Height1);
lcd.print (" mm");
delay (5000);
}

void moveMOTOR2(){
stepper1.moveTo(Height2 * 50); // move Height1 mm's
lcd.print ("Altezza Segaa: mm ");
lcd.print (Height2);
delay (5000);
}

In pratica ora il menu fa esattamente quello che volevo (bhè è da finire un poco e da mettere in ordine)
Però ora le funzioni vengono chiamate internamente al ramo scelto, ovvero:
Menu Principale.
  SAW > Altezza Sega > Altezza Assoluta > Variabile 0 (X) 100
                                                      > Esecuzione
        > Spostamento sega > Movimento Relativo > Variabile -100 (X) +100
                                                                 > Esecuzione
E oltretutto riesco anche a far vedere ciò che succede dul display:
Code: [Select]
lcd.print ("Sposto di ");
lcd.print (Height1);
lcd.print (" mm");

ovvero mi appare sul LCD "Sposto di X mm""
Fantastico !
Grazie !
Penso che con il menù ho quasi fatto ... ora devo lavorare sul motore passo passo e le relative funzioni.
Ciao
P.S. allego lo sketch completo.

mdoc

Ciao,
ho provato la libreria per i menù di un controller di un acquario che sto realizzando.
Grazie per il magnifico lavoro che hai fatto.
Molto semplice da usare anche per me che conosco solo le basi del linguaggio C (e neanche bene).
A me sono state molto utili anche le opzioni di salvataggio in eprom e la possibilità di usare un altra "funzione" per la gestione dei pulsanti.
Ciao
Marco

FràFrà

Ciao Brunialti bel lavoro, senti per caso mi potresti aiutare ad adattare questa libreria per l' IDE 23, poiche ho scritto già un pde in quella versione e mi verrebbe più semplice adattare la tua alla 23 che il mio pde con tutte le librerie incluse alla 1.0

brunialti

grazie al lavoro di Alessandro Raffaele che ha tradotto il manuale della libreria chi è interessato lo può prendere dall'allegato.
Purtroppo non sono riuscito a verificarlo, ma sono convinto che è perfetto :-)
Grazie Alessandro

Testato

Grazie del manuale, credo sia meglio un PDF, questo DOC non si apre sul mio tablet
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

leo72

Aprendolo su Linux da LibreOffice mi trovo un documento di più di 400 pagine di caratteri senza senso e pagine vuote.

gpb01

@Leo : L'ho convertito in pdf ma ... NON riesco ad allegarlo ... il forum mi corrompe l'Attach sia se lo metto come pdf, sia se lo racchiudo in uno zip ... :( :( :(

Guglielmo
Search is Your friend ... or I am Your enemy !

leo72

Il forum ha dei problemi con gli allegati da diversi giorni, pare proprio nel gestire ZIP e PDF, che vengono allegati ma poi salvati in remoto in forma corrotta.

Prova a comprimere il file in un formato tipo RAR oppure TAR.GZ, per vedere se cambia qualcosa.

gpb01

... eccolo in RAR ... vediamo ...

Guglielmo

Edit : Sembra che in RAR vada bene ;)
Search is Your friend ... or I am Your enemy !

nid69ita

Io ho scaricato con Chrome ma il rar mi risulta corrotto
my name is IGOR, not AIGOR

leo72

Aprendo l'archivio mi viene detto che il file è corrotto però me lo estrae e poi il PDF è giusto  :smiley-eek:
Uso Linux con Chromium.

gpb01

#56
Apr 29, 2013, 11:01 am Last Edit: Apr 29, 2013, 11:08 am by gpb01 Reason: 1
... a questo ho aggiunto anche una parte di "recovery record" (opzione -rr di RAR) ... vediamo se riusciamo ad avere una cosa non corrotta ...  =(

Guglielmo

Edit: Mi sembra vada ... scaricato con Chrome ed estratto senza errori ...  :smiley-roll:
Search is Your friend ... or I am Your enemy !

nid69ita

A me winrar dice fine imprevista nel file. Però estraggo il pdf e sembra corretto. L'ultima pagina è la 19 ?
my name is IGOR, not AIGOR

leo72

L'ultimo RAR a me non ha dato nessun errore.

gpb01


A me winrar dice fine imprevista nel file. Però estraggo il pdf e sembra corretto. L'ultima pagina è la 19 ?

Si, è la 19 ! ... comunque stà diventando sempre più problematico allegare files ... :(

@Leo : .... moderatore, due domandine ...
 1. come mai viene usato ancora la versione 1.1.18 di SMF e non una nuova (versione 2.x) ?
 2. come mai viene usato SMF invece di qualche cosa di più robusto, sicuro ed affidabile come IPS o vB ?

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up