INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Touchmenu 7" mit Mega 2560
10.04.2015, 18:34 (Dieser Beitrag wurde zuletzt bearbeitet: 10.04.2015 18:37 von fhacke.)
Beitrag #1
Touchmenu 7" mit Mega 2560
Hallo,

ich habe ein Touchmenu auf meinen 7" Display erzeugt, mit momentan 2 funktionierenden Ebenen und möchte es gerne erweitern. Jedoch wird die 3 Ebene nur noch grau hinterlegt.
Kann mir diesbezüglich einer weiter helfen bzw. den Code testen.

Des weiteren wird links aus irgendwelchen Gründen eine vertikale Linie angezeigt.

Mfg fhacke

Hier der Code:

PHP-Code:
// UTFT_Buttons_Demo_800x480
#include <UTFT.h>        // TFT Lib
#include <UTouch.h>        // Touch Lib
#include <UTFT_Buttons.h>     // Button Lib
// #include <UTFT_tinyFAT.h>
extern uint8_t BigFont[];    // Zeichengroeße fuer Buttons und Text

// Instanzen
UTFT          myGLCD(CTE70,38,39,40,41);
UTouch        myTouch(6,5,4,3,2);
UTFT_Buttons  myButtons(&myGLCD, &myTouch);

// Diese Buttons werden in allen Menuebenen verwendet
unsigned int main_but1main_but2,main_but3,main_but4,main_but5,main_but6,main_but7,main_but8,main_but9,main_but10;
unsigned int main_but11,main_but12,main_but13,main_but14,main_but15,main_but16,main_but17,main_but18,main_but19,main_but20;
unsigned int main_but21,main_but22,main_but23,main_but24,main_but25;
/* m_press der aktuell geklickte Button im Hauptmenu
kann auch -1 für kein Button sein, daher int */
int m_press;
// Footertext Hauptmenu
// Startseite myGLCD.loadBitmap(0,0,800,480,"Beach.raw");
const char footertext[]="Hauptmenu";

void setup() {
  
// LCD starten
  
myGLCD.InitLCD();
  
myGLCD.clrScr();
  
myGLCD.setFont(BigFont);
  
// Touch starten
  
myTouch.InitTouch();
  
myTouch.setPrecision(PREC_HI);
  
myButtons.setTextFont(BigFont);
  
  
//myGLCD.getFontXsize(12);
  //myGLCD.getFontYsize(12);
  // Standardfarben entspr. Vorgaben in den Libs benutzen
  
const boolean default_colors true;
}
void loop() {
  
// Buttons des Hauptmenu setzen
  
  
main_but1 myButtons.addButton (0,120,400,120,"Erdgeschoss");             // (x1, y1, breite x, breite y, "Text") 
  
main_but2 myButtons.addButton (0,240,400,120,"1.Etage");
  
main_but3 myButtons.addButton (0,360,400,120,"Licht AUS");
  
main_but4 myButtons.addButton (400,120,400,120,"NOTFALL");
  
main_but5 myButtons.addButton (400,240,400,120,"Urlaub");
  
main_but6 myButtons.addButton (400,360,400,120,"Zurueck");
  
// Buttons anzeigen
  
myButtons.drawButtons();
  
// Einen Text schreiben
  
myGLCD.print(footertextCENTER 60);
  
myGLCD.setColor(VGA_WHITE);
  
// Hier beginnt die Abfrage der geklickten Buttons
  
while(!myTouch.dataAvailable()){}
  
m_press myButtons.checkButtons();
  
// Je nach ausgewahltem Button wird Funktion mit Parameter aufgerufen
  
if (m_press==main_but1l_1_screen(1);
  if (
m_press==main_but2l_1_screen(2);
  if (
m_press==main_but3l_1_screen(3);
  if (
m_press==main_but4l_1_screen(4);
  if (
m_press==main_but5l_1_screen(5);
  if (
m_press==main_but6l_1_screen(6);
  if (
m_press==main_but7l_1_screen(7);
}
/* Funktion stellt je nach Auswahl im Hauptmenu
das zugehoerige Submenu dar */
void l_1_screen(unsigned int submenu)
{
  
// Footertext Submenu
  
const char sfootertext[]="Submenu: ";
  
// Zusatzbutton fuer Ruecksprung ins Hauptmenu und aktuell geklickter Button
  
unsigned int main_but26,m_press_2,m_press_3;
  
// Buttons des Hauptmenu loeschen
  
myButtons.deleteAllButtons();
  
  
// Je nach Auswahl Submenu neue Buttons setzen
  
switch (submenu)
  {
  case 
1:
    
main_but1=myButtons.addButton (0,120,200,180,"W / S I.");
    
main_but2=myButtons.addButton (200,120,200,180,"W / S II.");
    
main_but3=myButtons.addButton (400,120,200,180,"WC");
    
main_but4=myButtons.addButton (600,120,200,180,"Flur");
    
main_but5=myButtons.addButton (0,300,200,180,"WZ");
    
main_but6=myButtons.addButton (200,300,200,180,"Kueche");
    
main_but7=myButtons.addButton (400,300,200,180,"Abstell");
    
//main_but8=myButtons.addButton (600,300,200,180,"Zurueck");
    
break;
  case 
2:
    
main_but1=myButtons.addButton (0,120,200,180,"W / S");
    
main_but2=myButtons.addButton (200,120,200,180,"Flur I.");
    
main_but3=myButtons.addButton (400,120,200,180,"Flur II.");
    
main_but4=myButtons.addButton (600,120,200,180,"WC");
    
main_but5=myButtons.addButton (0,300,200,180,"Abstell");
    
main_but6=myButtons.addButton (200,300,200,180,"S");
    
main_but7=myButtons.addButton (400,300,200,180,"Balkon");
    
//main_but8=myButtons.addButton (600,300,200,180,"Zurueck");
    
break;
  
/*case 3:
    // Licht AUS
    break;
  case 4:
    // NOTFALL
    break;
    case 5:
   // Urlaub
    break;*/
  
}
  
main_but26=myButtons.addButton (600,300,200,180,"Zurueck"); // Nach Code für case 3-5 eingegeben, kann diese Zeile gelöscht werden
  // Zurueck-Button setzen um ins Hauptmenu zu kommen
  
do
  {
    
myButtons.drawButtons();
    
myGLCD.print(sfootertextCENTER60);
    
// Text welches Submenu
    
myGLCD.printNumI(submenu44060);
    
myGLCD.setColor(VGA_WHITE);
    while(!
myTouch.dataAvailable()){} 
    
m_press_2 myButtons.checkButtons();
    
// Aufruf der Funktionen zu den Submenubuttons
    
switch (submenu)
    {
    case 
1:
      if (
m_press_2==main_but1do_s_11();
      if (
m_press_2==main_but2do_s_12();
      if (
m_press_2==main_but3do_s_13();
      if (
m_press_2==main_but4do_s_14();
      if (
m_press_2==main_but5do_s_15();
      if (
m_press_2==main_but6do_s_16();
      if (
m_press_2==main_but7do_s_17();
      break;
    case 
2:
      if (
m_press_2==main_but1do_s_21();
      if (
m_press_2==main_but2do_s_22();
      if (
m_press_2==main_but3do_s_23();
      if (
m_press_2==main_but4do_s_24();
      if (
m_press_2==main_but5do_s_25();
      if (
m_press_2==main_but6do_s_26();
      if (
m_press_2==main_but7do_s_27();
      break;
    }
  }while(
m_press_2!=main_but26);
  
// Buttons des Submenu loeschen
   
myButtons.deleteAllButtons();
   
myGLCD.clrScr(); // LCD leeren
   
return; // raus aus Funktion
}

/* Die Funktionen hinter den Submenueintraegen
sonst läuft der Sketch nicht */
void do_s_11(){
        
myGLCD.setColor(VGA_LIME);
        
myGLCD.drawRoundRect(0,120,400,210);
        
myGLCD.setColor(VGA_WHITE);
        
myGLCD.print("Lichtsteuerung",200,165);
        
myGLCD.drawRoundRect (400,120,400,90);
        
myGLCD.setColor(VGA_WHITE);
        
myGLCD.print("Rollladensteuerung",400,165);
        
myGLCD.setColor(VGA_BLUE);
        
myButtons.drawButtons();
        
main_but10=myButtons.addButton (0,210,200,90,"AN");
        
main_but11=myButtons.addButton (200,210,200,90,"AUS");
        
main_but12=myButtons.addButton (400,210,200,90,"Oben");
        
main_but13=myButtons.addButton (600,210,200,90,"Unten");
        
main_but14=myButtons.addButton (0,300,100,90,"25%");
        
main_but15=myButtons.addButton (100,300,100,90,"50%");
        
main_but16=myButtons.addButton (200,300,100,90,"75%");
        
main_but17=myButtons.addButton (300,300,100,90,"100%");
        
main_but18=myButtons.addButton (400,300,100,90,"25%");
        
main_but19=myButtons.addButton (500,300,100,90,"50%");
        
main_but21=myButtons.addButton (600,300,100,90,"75%");
        
main_but22=myButtons.addButton (700,300,100,90,"100%");
        
main_but23=myButtons.addButton (0,390,400,90,"Automatikmodus");
        
main_but24=myButtons.addButton (400,390,400,90,"Automatikmodus");
        
main_but25myButtons.addButton (50,35,120,50,"Zurueck");
}
void do_s_12(){
}
void do_s_13(){
}
void do_s_14(){
}
void do_s_15(){
}
void do_s_16(){
}
void do_s_17(){
}
void do_s_21(){
}
void do_s_22(){
}
void do_s_23(){
}
void do_s_24(){
}
void do_s_25(){
}
void do_s_26(){
}
void do_s_27(){

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.04.2015, 20:14 (Dieser Beitrag wurde zuletzt bearbeitet: 10.04.2015 20:15 von rkuehle.)
Beitrag #2
RE: Touchmenu 7" mit Mega 2560
Hallo Florian,

ohne groß in den Code rein zu gucken sehe ich dass du 25 Buttons benutzt.
Die UTFT_Buttons - Lib unterstützt standardmäßig 20 Buttons.
Mache die Datei UTFT_Buttons.h mit einem Editor auf und ändere die Zeile
Code:
#define MAX_BUTTONS    20
auf den gewünschten Wert (müsste so Zeile 38 sein).
Danach nochmal kompilieren und auf den Mega schieben und testen.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.04.2015, 21:08
Beitrag #3
RE: Touchmenu 7" mit Mega 2560
Danke für die Info, hat schon geholfen bei den grauen Buttons Smile

Jetzt ist irgednwas noch mit den Schleifen verkehrt ^^ könntest du da nochmal einen Blick drauf werfen ?

Gruß!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Datenübertragung vom Arduino Mega 2560 zu Hterm Datatom 1 92 13.11.2016 23:08
Letzter Beitrag: hotsystems
  Arduino Mega 2560 läuft nicht Wolfgang50 6 170 13.11.2016 10:50
Letzter Beitrag: Wolfgang50
  Arduino Mega 2560 Manfred1981 4 183 11.11.2016 18:07
Letzter Beitrag: hotsystems
  Attiny45 Bootloader brennen mit Funduino Mega toto1975 63 2.160 23.10.2016 17:08
Letzter Beitrag: hotsystems
Question Mega 2560 defekt? triode 11 354 29.09.2016 07:21
Letzter Beitrag: hotsystems
  nrf24 an Mega 2560 jgrothe 2 159 10.09.2016 13:39
Letzter Beitrag: jgrothe
  Arduino mega 2560 mit TFT LCD Touch Shield V1 Clemens55555 17 931 02.08.2016 20:51
Letzter Beitrag: Clemens55555
  Mega: Hardware i2c bus speed (Wire.) verändern? HaWe 10 2.911 14.07.2016 20:09
Letzter Beitrag: Mathias
  (Mega) Timer 3 A, B & C Scheams 0 225 04.06.2016 17:09
Letzter Beitrag: Scheams
  DUE-MEGA über I2C Verbinden HTO 0 220 22.05.2016 10:16
Letzter Beitrag: HTO

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste