BZM OLED -> Weiterführung des alten Threads

Hey Leute, ich weiß nicht ob sich noch jemand dran erinnert, aber wir wollte doch mal probieren ein OLED für den Arduino zu nutzen.

Hier nun ein paar Bilder und Videos vom fertigen Adapter und der Lib:

Erste Versuche

und hier dann das aktuelle Demo Video

Die Lib verfügt über folgende Möglichkeiten:

void init(); -> muss einmal aufgerufen werden mit OLED.init();
void clear_screen(); -> ist wohl klar oder?

void set2pixels(unsigned char x, unsigned char y,unsigned char first,unsigned char second); -> "einzelne" Pixel setzen
void copy(unsigned char x,unsigned char y,unsigned char width,unsigned char height,unsigned char new_x,unsigned char new_y); -> Hardware beschleunigtes Kopieren eines Displaybereichs
void line(unsigned char x,unsigned char y,unsigned char x2,unsigned char y2,unsigned char color); -> eine linie von a nach b ziehen
void rect(unsigned char x,unsigned char y,unsigned char width,unsigned char height,unsigned char color); -> ein Rechteck das nur einen Rahmen hat
void filled_rect(unsigned char x,unsigned char y,unsigned char width,unsigned char height,unsigned char color); -> ein gefülltest Rechteck (Hardware beschleunigt)
void drawCircle(unsigned char xc, unsigned char yc, unsigned char r, unsigned char c); -> Einen Kreis, nicht gefüllt
void scroll(unsigned char height,unsigned char step,unsigned char freq); -> Scrolling, mit Übertrag in x - Richtung
void picture(unsigned char x,unsigned char y,unsigned char width,unsigned char height,const unsigned char *Ptr); -> Ein Bild malen aus dem Speicher

void zeichen(unsigned char z, int spalte, int zeile, int back, int color, unsigned char offset); -> einen Buchstaben platzieren
void zeichen_big (unsigned char z, unsigned char spalte, unsigned char zeile, unsigned char back, unsigned char color); -> Einen großen Buchstaben platzieren
void zeichen_big2(unsigned char z, unsigned char spalte, unsigned char zeile, unsigned char back, unsigned char color); -> Einen sehr großen Buchstaben platzieren
void string(char str[],unsigned char spalte, unsigned char zeile, unsigned char back, unsigned char color,unsigned char offset); -> eine String platzieren
void string_big(char str[],unsigned char spalte, unsigned char zeile, unsigned char back, unsigned char color,unsigned char offset); -> einen String in Großbuchstaben platzieren

Mit den Funktionen
void send_char(unsigned char zeichen);
void send_command(unsigned char theCommand);
kann man direkt Kommandos an das Display schicken ..

Um das Display zu invertieren kann man die Funktionen:
void invert();
void normal();
nutzen, einfach ohne Argumente OLED.invert(); aufrufen.

So siehts aus :wink:
Zum Display muss ich ja nichts sagen, super Kontrast, total hell.

Gruß Kolja

Respekt !
Das gefällt mir sehr gut.

Danke Danke, ist auch n schickes Display.
Mit dem Arduino und dieser Lib auch wesentlich schneller als die Programmierung auf der Ursprungsseite (http://home.arcor.de/wehrsdorf/Oled-Display-Recycling.html).
Auf dem Bild mit dem Adapter kann man sehr gut sehen wie erstaunlich der Kontrast ist, man kann trotz einem Einblickwinkel von fast 5° noch die Schrift lesen.
Die Videos sind so schlecht weil das Display so hell ist und die Kamera das nicht vernünftig einfangen kann.

Gruß JKW