Go Down

Topic: LCDMenuLib. Chi mi aiuta a capire meglio questa libreria? (Read 424 times) previous topic - next topic

ziopippo

Sto cercando di usare questa libreria però ho alcune difficoltà.

La prima è che usando l'esempio LCDMenuLib\examples\AVR\LCDML_DISPLAYTYPE\LCDML_glcd_u8g2lib/LCDML_glcd_u8g2lib.ino

se entro nella prima voce "Information" il menù non rimane attivo fino a quando non premo il tasto back ma torna alla root immediatamente.

La seconda è che vorrei visualizzare una schermata fissa (che mi visualizza delle info, ovvero la temperatura di un Dallas DS18B20) all'avvio di arduino ed entrare nei menù SOLO dopo aver premuto un qualsiasi tasto.

La terza è che non riesco a visualizzare correttamente la temperatura.

Allego il mio scketch

brunello22

Secondo me hai dei problemi con l'assegnazione dei tasti

E a occhio è l'uso del D8 (GPIO15) che non vuole una resistenza di PullUp, io proverei a spostare il tasto QUIT sul D0
e nello sketch, i tasti che non usi, disabilitali proprio

es: LCDML_CONTROL
Code: [Select]

// *********************************************************************
// *************** (2) CONTROL OVER DIGITAL PINS ***********************
// *********************************************************************
#if(_LCDML_CONTROL_cfg == 2)
// settings
  #define _LCDML_CONTROL_digital_low_active      0    // (0 = low active (pullup), 1 = high active (pulldown) button
                                                      // http://playground.arduino.cc/CommonTopics/PullUpDownResistor
  #define _LCDML_CONTROL_digital_enable_quit     1
  #define _LCDML_CONTROL_digital_enable_lr       0  // disabilita i tasti Left e Right
  #define _LCDML_CONTROL_digital_enter           D5   
  #define _LCDML_CONTROL_digital_up              D7
  #define _LCDML_CONTROL_digital_down            D6
  #define _LCDML_CONTROL_digital_quit            D0  // Ex D8
  #define _LCDML_CONTROL_digital_left            0
  #define _LCDML_CONTROL_digital_right           0
// *********************************************************************

ziopippo

Sei un GRANDE!

Ora i tasti fanno il loro dovere.

Code: [Select]
  #define _LCDML_CONTROL_digital_enable_lr       0  // disabilita i tasti Left e Right
Questa voce non l'avevo capita e pensavo bastasse mettere a 0 _LCDML_CONTROL_digital_left e _LCDML_CONTROL_digital_right

Per gli altri due problemi hai qualche consiglio?

Go Up