- 3D-Druck Einstieg und Tipps         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: Arduino IDE findet Display-Treiber nicht

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    Anzeige

    Praxistest und DIY Projekte
    Ja, das wars! Programm läuft jetzt.

    statt:
    Code:
    ...
    display.println("Spannung MW1: ", Vmw1, 2, " V");
    ...
    folgenden Syntax:
    Code:
    ...
    String Anz_Vmw1 = "Spannung MW1: " + String(Vmw1, 2) + " V"; 
    display.println(Anz_Vmw2);
    ...
    Hintergrund:
    println() (aus der Bibliothek adafruit_1306.h) kann nur 1 Parameter übergeben.
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    =Rabenauge;670827...
    Macht bei den kleinen Oled's auch nicht allzuviel Sinn.
    GGf. kann man ne andere Bibliothek benutzen, aber mal ehrlich: da nimmt man auch ein etwas höher auflösendes Display.
    @Rabenauge, merke ich jetzt auch...
    Nachdem alles läuft, ist bei Texten das Darstellungslimit sehr schnell erschöpft. Nach 3 Zeilen hört der Sinn auf.

    Welche Standardgrößen mit I2C sind empfehlenswert (und kostengünstig)?
    128x128px,
    oder 128x160px ?

    Mir geht es primär um die Darstellung mehrerer Messwerte, zzgl. Ein-Wort-Beschreibung dieser MW.
    Geändert von frabe (07.11.2024 um 09:14 Uhr)
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  3. #13
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.209
    Bei I2C-isplays wird die Auswahl recht schnell eng.
    Diese kleinen Oled's gibts noch in minimal grösser, aber ich glaub, die haben dann die doppelte Auflösung.
    Allerdings brauchen die dann auch sehr viel mehr Speicher...
    Warum nicht ein SPI- Display?
    Da fängts bei den kleinen 1.8"-Dingern an, die kriegt man auch fürn Appel und'n Ei.
    Das kann schon 128x160.
    Das wäre dann nach oben offen, die gibts in grösser dann auch noch mit Touch-Funktion.
    Allerdings dann alles SPI.

    Ansonsten hab ich auch mal mit nem grafikfähigen LCD-Display was gemacht, das ist zwar mechanisch wesentlich grösser, kann aber auch nur 128x64, und ich bin nicht sicher, ob das mit I2C läuft.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  4. #14
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    .. 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

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    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 |

  6. #16
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    .. 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

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    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 |

  8. #18
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    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

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    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 |

  10. #20
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    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

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

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

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests