- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 21

Thema: Arduino IDE findet Display-Treiber nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    .. Welche Standardgrößen mit I2C sind empfehlenswert (und kostengünstig) .. primär .. Darstellung .. Messwerte, .. Ein-Wort-Beschreibung ..
    Displays, 0.96 "Zoll oled -128x64, gibts für n Appel und n Ei beim Chinesen (1 bis 2 €). Darauf ist die Darstellung von alfanumerischen Zeichen mit im internet verfügbaren Bibliotheken p.p.einfach - z.B. im Format ca. 2,5 mm, 4 Zeilen à 10 Zeichen. Ich habe so etwas bei einigen Experimenten - siehe Bilder von (m)einer Bastelplatine mit nano328.

    Beispiele :
    Anordnung <<>> Normal Double <<>> weiß auf schwarz <<>> schwarz auf weiß
    Ciao sagt der JoeamBerg

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Hallo!
    @oberallgeier, wie hast du dieses kleine Schriftart aus dein Bsp: "Anordnung" hin bekommen?
    Als kleinster Schriftart nutze ich Fonts/FreeSans9pt7b.h aus Adafruit_GFX.h - hierbei schaffe ich gerade mal 4 Zeilen á 12Zeichen.

    @Rabenauge, Danke für den Wegweisen zur SPI-Schnittstellen. Scheint etwas aufwendiger, aber zukunftsorientiert und flexibler.
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    .. wie hast du dieses kleine Schriftart aus dein Bsp: "Anordnung" hin bekommen ..
    Falsch gefragt. Richtige Frage: Wo .. hergenommen *gg*. Antwort: von hier.

    .. schaffe ich gerade mal 4 Zeilen á 12Zeichen ..
    Hmmm - is ja schon was. Ich bekomme in der grösseren Schrift nur zehn Zeichen aufs Display (siehe meine Beispiele).

    Viel Erfolg
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Bei mir siehts derzeit folgend aus
    Klicke auf die Grafik für eine größere Ansicht

Name:	Display_128x64px_4Zeil12Zeich.JPG
Hits:	8
Größe:	115,1 KB
ID:	36025
    Werde deinen Tipp lcd.h ausprobieren.
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Bei mir siehts derzeit folgend aus ..
    Das sieht (nach meinem Geschmack) doch gut aus; die Linien geben ja dem Ganzen ne Ordnung. Fragt sich ob die anderen Zeichen (für Dich) besser lesbar sind.
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Das sieht (nach meinem Geschmack) doch gut aus; die Linien geben ja dem Ganzen ne Ordnung. Fragt sich ob die anderen Zeichen (für Dich) besser lesbar sind.
    Schon Schön - aber zu wenig Zeichen. Mein Wunsch, min.6Zeilen, á20Zeichen.
    Ich würde gerne statt Zahlen, Klartexte eintragen, Bsp. "Messerwert1= " etc. Dafür muss die Schrift wesentlich kleiner (die Hälfte) sein.

    Zitat Zitat von oberallgeier Beitrag anzeigen
    Antwort: von hier.
    Wie kann ich lcd.h manuell installieren?
    Den Bsp-code versethe ich nicht. Kannst du mir DEIN Bsp. als code bitte zur Verfügung stellen?

    Hier habe ich noch eine Schöne Schrift gefunden.
    OLED, DejaVu Sans Light, Pain, 8, Adafruit GFX Font
    Diese Schriftart finde ich super schön. Wie code´et man hier? Eine Librarie mit ".h" finde ich nicht. Ist das eher ein Thema für Fortgeschrittenen?
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Schon Schön - aber zu wenig Zeichen. Mein Wunsch, min.6Zeilen, á20Zeichen.
    Ich würde gerne statt Zahlen, Klartexte eintragen, Bsp. "Messerwert1= " etc. Dafür muss die Schrift wesentlich kleiner (die Hälfte) sein..
    Na ja, das Display besteht im Prinzig aus einer BEGRENZTEN Anzahl von Pixeln. Viele der einfachen Schriften sind dann in 5x8-Pixeln dargestellt. Ich hatte das mal in C so programmiert (siehe Doppelpfeil schräg - mit Anmerkungen)

    Code:
    /* >> 
      Stand  .......\C5_Ronny-5_etc\R5M30\R5M3kalij.c
     =============================================================================== =
    ...
      *** Versionsgeschichte:
          ==================
     x23 19Sep22 1640 Aktualisierung File-Nummer
    ...
     ================================================================================ =
      *** Aufgabenstellung :    Software für RJjr / Ronny5
      Original: ..\C5_Ronny-5_etc\R5M_x01\R5M_kal80.c       x80 14Apr19 1706 Gute V...
     =============================================================================== */
    ...
    ...
    // ============================================================================== =
    //  Generierung von LCD-Sonderzeichen für DEM162xx, Satz 4 = RETURN
    // ============================================================================== =
      void LCD_SZ4(void)            // LCD-Sonderzeichen, NUR RETURN à la Pololu
     {                              //
    // - - - - - - - - - - - - - - - -
    ...
    // - - - - - - - - - - - - - - - -
    //      Pfeil auf
      uint8_t LCD_c_1[8] = {        // LCD-Character 1
            0b00000000,     //  -----
            0b00000000,     //  -----
            0b00000100,     //  --X--
            0b00001110,     //  -XXX-
            0b00010101,     //  X-X-X
            0b00000100,     //  --X--
            0b00000100,     //  --X--
            0b00000000      //  -----
            };
      lcd_generatechar(LCD_GC_CHAR1, LCD_c_1);
    // - - - - - - - - - - - - - - - -
    ...
    // - - - - - - - - - - - - - - - -
    //      Doppelpfeil   schräg linksunten<=>rechtsoben
      uint8_t LCD_c_4[8] = {        // LCD-Character 4 => Pfeil-lu-ro
            0b00000000,     //  -----      Zeile oben, Spalte (7)4..0
            0b00000111,     //  --XXX
            0b00000011,     //  ---XX
            0b00010101,     //  X-X-X
            0b00011000,     //  XX---
            0b00011100,     //  XXX--
            0b00000000,     //  -----
            0b00000000      //  -----
            };        //
      lcd_generatechar(LCD_GC_CHAR4, LCD_c_4);
    // Anmerkung für RN-frabe 14Nov24-10h22:                       <<<<<<<<!!!!!!!!                       <<<<<<<<!!!!!!!!
    //   Definition der Zeichen oben für 8x5 Pixel, daher sind die Pixel
    //    Nr 7, 6 u 5 der obigen Binärzahlen immer "0" (eigentlich egal)
    // - - - - - - - - - - - - - - - -
    //      linke Hälfte Copyright  ©
      uint8_t LCD_c_5[8] = {        // LCD-Character 5 => © linke Hälfte
            0b00000011,     //  ---XX
            0b00000100,     //  --X--
            0b00001001,     //  -X--X
            0b00001010,     //  -X-X-
            0b00001010,     //  -X-X-
            0b00001001,     //  -X--X
            0b00000100,     //  --X--
            0b00000011      //  ---XX
            };
      lcd_generatechar(LCD_GC_CHAR5, LCD_c_5);
      
    // - - - - - - - - - - - - - - - -
    //      Rechte Hälfte Copyright  ©
      uint8_t LCD_c_6[8] = {        // LCD-Character 6 => © rechte Hälfte
            0b00011000,     //  XX---
            0b00000100,     //  --X--
            0b00010010,     //  X--X-
            0b00000010,     //  ---X-
            0b00000010,     //  ---X-
            0b00010010,     //  X--X-
            0b00000100,     //  --X--
            0b00011000      //  XX---
            };
      lcd_generatechar(LCD_GC_CHAR6, LCD_c_6);
    
      return;                       //
     }              // Ende void LCD_SZ4(void)
    // === Ende
    // ============================================================================== =
    
    
    // ============================================================================== =
    // =====  ENDE    Subroutinen
    // ============================================================================== =
    Natürlich muss nun zwischen den einzelnen Zeichen ein oder zwei Pixel frei bleiben, ebenso zwischen den Zeilen. Daher ist eine VOLLE Ausnützung der Fläche an das Vielfache EINER Buchstabendefinition plus den Zwischenräumen gebunden. Und, soweit ich es beurteilen kann, ist die hier diskutierte klein(st)e Schriftgrösse eben das (untere*gg*) Ende der Fahnenstange. Natürlich kann man da variieren und evtl. nen kleinen TEil der Fläche unbeschreibbar machen - wenn das Vielfache EINES Zeichens eben nicht mehr vollständig reinginge.

    .. Wie kann ich lcd.h manuell installieren? Den Bsp-code versethe ich nicht. Kannst du mir DEIN Bsp. als code bitte zur Verfügung stellen? ..
    Mal ein Auszug der Anwendung des obigen Codes (und ein bisschen Notizen aus meinem "Labor"Handbuch zum Roboterbasteln)

    Code:
    4. Mai 2019      C4\arduino-cube mit oled (aco)  Die Software für das oled SSD1306 läuft sehr gut mit einem C-Code-Progamm.
    Quellen siehe unten, 27.April. Die Darstellung am oled geht in der schwierig lesbaren Normalgröße und in der – immer noch
    brillenpflichtigen –   Doppelgröße ziemlich gut.
      D:\D_pro-fils\compu_MC\C4\aco4\aco4_x21.c
      
      
    27. April 2019   C4\arduino-cube mit oled (aco)
    Wartezeit auf Kleinteile zum arduino-cube von Andree-HB. Es wird das Programm von Michael Köhler, siehe
    https://www.mikrocontroller.net/topic/415651#new
    aus github übernommen, siehe
      https://github.com/Sylaina/oled-display
    und leicht modifiziert.
    Code:
    // ============================================================================= =
    // ==   LCDausgabe, Folge 1
    // ============================================================================= =
      void lcd_01 (void)            // LCDausgabe "1"
     {                              //
      LCD_SZ4 ();                   // Eigen Sonderzeichen, Satz 4 mit ©           kal
      lcd_clear();                  // Vor LCD-Ausgabe Display leeren              lcd
      lcd_string( Revdat_lcd );     // #define/info01/main "R5M30 Archie xxx"
      Line2();                      // An den Anfang der 2. Zeile springen
      lcd_data( 5 ); lcd_data( 6 ); // Hier NUR "©" - in zwei Hälften
      lcd_string( Revdat_lc2 );     // #define/info01/main " JWT2020 xxxxx"
      waitms (  500);               //
      Line2();                      // An den Anfang der 2. Zeile springen
      lcd_string("                ");       // Zeile löschen
    
    //      Selbst definierte Zeichen ausgeben, Hier Zappelphilip
    //      =: SetCursor (2, 10) heisst SetCursor (x,y), x=zeile {1,2}, y=Pos {0, 15}
      LCD_SZ1 ();           // Eigene Sonderzeichen generieren, Satz 1             kal
      u8 llptr  =  1;               // Pointer auf Zeichen
      s8 llinc  =  1;
      for ( u8 ll=1; ll<16; ll++ ) // Zappelphilip-Testloop
      {                             //
        SetCursor (2, 10);
        if ( llptr <  8 ) lcd_data ( llptr );
        if ( llptr == 8 ) lcd_data ( 255 );
        if ( llptr == 8 ) waitms (  300);
        llptr  = llptr  + llinc;
        if ( llptr == 8 ) llinc = -1;
        if ( llptr == 1 ) llinc =  1;
        waitms (   50);
      }
    Ich weiß aber jetzt nicht, ob Dich das weiter bringt.
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. Programm findet Controler nicht
    Von Barung im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 26.04.2009, 13:04
  2. Windows findet Datei von Treibersoftware nicht
    Von Da_Vinci13 im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 11.02.2009, 15:09
  3. Probleme mit Lib (findet Funktionen nicht)
    Von facile im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 07.02.2009, 11:34
  4. WinAvr findet Atmega32 nicht
    Von bugmenot im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 12.12.2008, 17:20
  5. Compiler findet Labels nicht???
    Von EDatabaseError im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 07.11.2006, 16:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests