Ausgabe von Variablen Klappt irgendwie nicht.

Moin zusammen, es liegt wohl an einem Anfängerproblem, aber irgendwie kann ich einen Wert nicht auslesen oder mit meinem Display und u8g ausgeben.

Hier mal mein code:

#include "U8glib.h"
#include <DmxSimple.h>



//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC




void setup(void) {
  DmxSimple.usePin(3);
  DmxSimple.maxChannel(4);
}

void loop(void) {
  
 const int brightness = 0;
 DmxSimple.write(1, brightness);
  /* Simple loop to ramp up brightness */
  
    
    /* Update DMX channel 1 to new brightness */
    
    
    /* Small delay to slow down the ramping */
    
  
  // picture loop
  u8g.firstPage();  
  do {
    u8g.setFont(u8g_font_unifont);
    u8g.drawStr( 1, 11, "DMX (1)=", brightness);
    //u8g.drawStr( 64, 11, brightness);
    //draw();
  } while( u8g.nextPage() );
  
  // rebuild the picture after some delay
  delay(10);
  
}

Du müsstest uns schon mitteilen, welche Variable du meinst, oder sollen wir raten?

Kannst du denn irgendwas auf dem Display ausgeben?

Du benutzt die u8g lib falsch. Die Deklaration von drawStr lautet:

u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const char *s)

somit müsste die Zeile in dem picture loop folglich lauten:

u8g.drawStr( 1, 11, "DMX (1)="+ (String)brightness);

Da aber ein char pointer verlangt wird, tu folgendes:

u8g.setPrintPos(1,11); u8g.print("DMX (1)="+ (String)brightness);

Einspruch!

Du meinst sicher

char DMX1Text[] ="DMX(1)=....." ;

...
itoa(brightness, DMX1Text+7,10);  // An den Text ab Spalte 7 eine Zahl einfügen
u8g.drawStr( 1, 11, DMX1Text);

String Objekte braucht man nicht! Schon gar nicht, nur um eine Zahl als Text darzustellen.