Tuffi schrieb: > Ich brauche > am besten 2 weitere, eine die doppelt so groß ist und eine 4x so große. Eine vier mal so große Schrift habe ich leider nicht. Aber es gibt eine Funktion, die die Schriftgröße verdoppelt. Die Funktion heißt lcd_charMode(uint8_t mode). Standard ist der Mode auf 1 eingestellt. Übergibst du der Funktion bei Aufruf eine 2 wird fortan die doppelte Schriftgröße verwendet. Hierzu gibt es zur Besseren Lesbarkeit auch zwei Makros, einmal NORMALSIZE (entspricht einer 1) und DOUBLESIZE (entspricht einer 2). Spiele damit ein wenig herum, nicht überall wird berücksichtigt welche Schriftgröße eingestellt ist, z.B. muss du bei einem Zeilenumbruch bei eingestellter doppelter Schriftgröße zwei Zeilen weiter springen statt nur eine. Eigene Schriften lassen sich auch erstellen. Dafür gibts Schriftgeneratoren. Bedenke dabei aber, dass die Zeilengröße "nur" 8 Pixel hoch ist, der Code berücksichtigt höhere Schriften nicht.
Der Vorteil der Lib von M.K. ist die geringe Größe und wenig RAM Bedarf, aber die Fonts durch Pixel vervielfachen sehen dann entsprechend grob aus. Da gibt es schönere Fonts, die brauchen dann aber mehr Platz im Flash und es ist ein Framebuffer nötig, sonst flimmert es. Da hat die Adafruit Lib schöne Fonts drin und es gibt auch Generatoren um weitere zu erzeugen https://youtu.be/Y0nxLMqq1Jk
Das mit der DOUBLESIZE wäre interessant, meine Lib hat die FUnktionen nicht? Wo bekomme ich die her?!
Zieh dir die Lib von github, da ist immer die aktuelle Version: http://www.github.com/sylaina/oled-display/
Hat jemand eigentlich inzwischen mal ein zum restlichen Font passendes Omega-Zeichen designt und implementiert und würde es hier posten?
Was Costas schrieb: > Hat jemand eigentlich inzwischen mal ein zum restlichen Font > passendes > Omega-Zeichen designt und implementiert und würde es hier posten? Ich hab grad mal aus dem Stehgreif das Spezial-Char-Set erweitert um Ω und ω, meintest du das? Kannst du jetzt aus dem github herunterladen. Testen kann ich frühestens morgen.
Supi. Danke.
So, konnte es mir jetzt auch noch mal anschauen und musste ein klein wenig nachbessern aber jetzt schauts gut aus (vgl. Anhang). Ich musste auch das Makefile anpassen da durch Ω und ω nun das charset UTF-8 nicht mehr funktioniert.
M. K. schrieb: > konnte es mir jetzt auch noch mal anschauen Hast Du dazu einen Beispielcode, den die Arduino-IDE verarbeiten mag?
Nano schrieb: > M. K. schrieb: > >> konnte es mir jetzt auch noch mal anschauen > > Hast Du dazu einen Beispielcode, den die Arduino-IDE verarbeiten mag? Die Library ist in C geschrieben aber auch zu C++ kompatibel, du kannst die Funktionen 1:1 auch in Arduino-Projekten verwenden. ;)
ich hoffe es ist ok diesen Beitrag nach einigen Jahren wieder hervorzukramen. Eine super Bibliothek! Gibt es eine Möglichkeit die Anzeige um 180° zu drehen?
Ich habe gerade keine Lust im Datenblatt zu suchen, aber ich glaube mich erinnern zu können, dass es dafür ein Befehl für das Display gibt. Also nur ein Bit setzen und fertig.
Das dachte ich auch. Im Datenblatt unter 10.1.14 Set COM Output Scan Direction müsste man es theoratisch mit (C0h/C8h) umschalten können. Habe diese Stelle angepasst. Das Display zeigt nun tatsächlich um 180° gedreht, allerdings auch spiegelverkehrt :D
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
Ja, man kann die Anzeige um 180° drehen. In meiner Library ist diese Funktionalität aber noch nicht implementiert da ich selbst diese Funktionalität noch nicht benötigt habe (ähnlich wie das Scrollen). Da werde ich mich am WE mal dran setzen und das integrieren.
Das wäre ja super. Dafür vorab schonmal einen dicken Dank!
ich habe das mal in eine ältere Version der Adafruit_GFX eingebaut, die codes waren:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
Sind wir hier noch beim gleichen Display Controller? Nach meinem Kenntnisstand kann der SSD1306 das Bild nicht drehen.
Sind wir hier noch beim gleichen Display Controller?
du hast Recht, habe die Lib für beide Controller und bin im falschen gelandet.
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
ist schon länger her, aber müsste funktionieren. ja, der Kommentar ist blöde, müsste eigentlich in den anderen Zweig. Lange her...
habe mal einen Versuch gewagt und das hier direkt nach der Init-Sequenz aufgerufen:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
Das funktioniert leider nicht. Zeigt dann nur Müll an...
Kann ich mir morgen nochmal ansehen, sitze ausnahmsweise mal nicht am PC.
Danke euch für die schnellen Antworten. Habe es nun dank der Tipps mit dieser Funktion hinbekommen:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
abe es nun dank der Tipps mit dieser Funktion hinbekommen
Wird das Bild damit nun um 180° gedreht oder nur vertikal gespiegelt?
Wird das Bild damit nun um 180° gedreht oder nur vertikal gespiegelt?
oh du hast Recht ich habe meine Funktion falsch benannt. Also damit wird das Bild um 180° gedreht. Spiegeln geht auch. Dann muss man das Kommando SEGREMAP einfach weglassen....Schreit nach einer tollen Funktion oder? Der Author wollte ja noch drann. Er macht es dann vernünftig :D
Läuft, danke. Ich konnte das auch in meine (andere) Bibliothek einbauen:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
Er macht es dann vernünftig :D
Brauch ich nicht, hat Stefan schon gemacht ;)
Derzeit kämpfe ich noch mit der Funktion. Das Problem: Segment-Remap (horizontal flip) wirkt nicht auf den RAM-Inhalt des Displays, d.h. man muss die Daten neu zum Display schicken. COM Scan Direction (vertical flip) wirkt sofort auf den RAM-Inhalt. kniffelig.
Ich hatte die Funktion im Konstruktor benutzt, also nur einmal die Ausrichtung beim Start gesetzt. Das wird sicher schon für viele Anwendungen reichen.
Der TEXTMODE 6x8 Font sieht sehr gut aus. Vielen herzlichen Dank für diese Lösung.
So, ich hab die Möglichkeit, das Display bzw. den Inhalt entsprechend zu spiegeln, implementiert. Man hat die Wahl zwischen horizontal spiegeln, vertikal zu spiegeln oder horizontal & vertikal zu spiegeln.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
