- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Arduino IDE findet Display-Treiber nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147

    Arduino IDE findet Display-Treiber nicht

    Hallo zusammen.

    Bei aktuellem Fehler benötige ich eure Tipps.

    Nach langer Abstinenz beschäftige ich wieder mit der Teensy(3.2)-Programmierung.
    Derzeit baue ich einen Spg-Messer mit Verhältnis-, Strom-, Leistungs- und Stromrichtungsberechnungen.
    Diese Werte sollen in einem Display VELLEMANN VMA438 (I2C) angezeigt werden.
    Um dessen Treiber geht bei den Compiler-Fehler.

    Meine Lösungsversuche:
    • ARDUINO IDE habe ich von V1.xx auf V2.3.3 erneuert.
    • Unter /Sketch/Bibilothek einbinden/ , habe ich "Adafruit SSD1306" gewählt.
    • Als ich das Display vor Ewigkeiten (unter IDE V1.xx) mit nachfolgendem Code programmierte, klappe die Ansteuerung problemlos.


    Code:
    #include <_Teensy.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    #include <splash.h> 
    #include <Fonts/FreeSans9pt7b.h>
    #include <Fonts/FreeSans12pt7b.h>
    #include <Fonts/FreeSansBold9pt7b.h>
    #include <Fonts/FreeSansBold12pt7b.h>
    ...
    display.setFont(&FreeSans12pt7b);     //Schriftart, Schriftgröße
    ...
    Primäre Fehlermeldung bei "IDE/Überprüfen";
    • Compilation error: 'class Adafruit_SSD1306' has no member named 'setFont'
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    Nachsatz:
    Ich verstehe nicht warum es in dieser Fehlermeldung geht?
    Treiber nicht gefunden? Synthax-Fehler im Code? Zuweisungsproblem? Falsche Deklaration?
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.208
    Ich schätze einfach, die Lib unterstützt das nicht.
    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.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  4. #4
    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 |

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.208
    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..

  6. #6
    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

  7. #7
    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 |

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    Moin "Rabenauge"
    Diese Displays habe ich noch in der Schublade - vorerst muss ich Versuchsweise das nutzen was da ist...

    Welche und woher bekomme ich eine passende/kompatible Lib?

    Liegt die Inkompatibilität an der akt IDE 2.3.3 ?

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    899
    Liegt die Inkompatibilität an der akt IDE 2.3.3 ?
    Aus der Ferne:
    Die Bibliotheken sind ja alle über Git im Netz einsehbar und veröffentlicht. Soweit ich verstanden habe, erbt der Datentyp Adafruit_SSD1306 die setFont()-Funktion von Adafruit_GFX.

    Leider hast Du just die Deklaration Deines "display"-Objektes aus dem obigen Quellcode herausgelöscht. Kann also sein, dass Du versehentlich das display als irgendwas völlig Anderes deklariert hast.
    Kann aber auch sein, dass der Compiler uralte, mehrfach installierte Bibliotheken auf Deiner Platte findet. Da kannst Du mal über die Dateisuche nach "Adafruit_GFX.h" stöbern und in den Dateien verifizieren, dass sie auch wirklich alle das setFont() enthalten.

    An der IDE kann es nur indirekt liegen, wenn sie dem Compiler beim Start falsche Pfade vorgibt. Aber da würde ich zuletzt suchen. Das wäre wahrscheinlich schon früher aufgefallen.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    Hallo "Holomino"

    Ich habe Anfang Okt´24 die alte IDE-Version gelöscht und die IDE V2.3.3 neu installiert. Somit sollte der integrierte Compiler "nagelneu" sein.

    Habe die Platten mal nach "adafruit_gfx.h"" durchsucht - und 3 mal gefunden.
    Alle innerhalb diverser Ordner der gelöschten Arduino-Version v1.8.5 - teils unterschiedliche Dateigrößen zw. 6-12kB
    Keiner dieser "adafruit_gfx.h" beinhaltete "setfont"!

    "Adafruit_SSD1306.h" ist 1 ,al vorhanden. Aber auch der beinhaltet kein "setfont".
    Könnte hier der Generalfehler liegen?

    Folgend die gesamte Deklaration und Einrichtung des Displays - fällt euch hier ein Fehler auf?
    Code:
    #include <_Teensy.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>           //Display-Ansteuerung
    #include <splash.h> 
    #include <Fonts/FreeSans9pt7b.h>        //Schriftarten, Sans, 9px hoch, normal
    #include <Fonts/FreeSans12pt7b.h>       //Schriftarten, Sans, 12px hoch, normal
    #include <Fonts/FreeSansBold9pt7b.h>    //Schriftarten, Sans, 9px hoch, fett
    #include <Fonts/FreeSansBold12pt7b.h>   //Schriftarten, Sans, 12px hoch, fett
    
    #define OLED_RESET -1                       //Display; Reset pin # (or -1, da kein Reset-Pin am Display)
    #define SCREEN_WIDTH 128                    //Display; OLED display Breite, in pixels
    #define SCREEN_HEIGHT 64                    //Display; OLED display Höhe, in pixels
    
    const int ADC_Aufloesung = 8192;            //Auflösungsstufen bei ADC=13bit (2^13bit) = 0,61mV
    ...
    
    //Display initianlisieren
    Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);   //Display, VELLEMAN VMA438
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

Seite 1 von 2 12 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
  •  

12V Akku bauen