- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 12

Thema: Arduino Mega mit LCD I2C

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Also ich habe jetzt die LCD.h datei mit dem Texteditor und dem Code von dir, erstellt und in einem Ordner der LCD hieß in Verzeichnis libaries unter den Dokumenten abgespeichert.

    Dann habe ich deine Implementierung und deklaration der Pinne übernommen. Das ganze sah dann so aus:

    Code:
    // Includes für das Display
    #include <Wire.h>
    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    
    
    // Die Pin-Belegung des Displays
    #define BACKLIGHT_PIN  7
    #define En_pin  6
    #define Rw_pin  5
    #define Rs_pin  4
    #define D4_pin  0
    #define D5_pin  1
    #define D6_pin  2
    #define D7_pin  3
    
    
    #define  LED_OFF  1
    #define  LED_ON  0
    
    
    LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
    void setup()
    {
     lcd.init();
    //lcd.begin(16,2);
     lcd.backlight();
      lcd.print("Hello");
      lcd.setCursor(2,1);
      lcd.print("World!");
    }
    danach wurde mir die Fehlermeldung:

    "cc1plus.exe: out of memory allocating 1677721600 bytes

    exit status 1
    Fehler beim Kompilieren."

    ausgegeben.

    Nach einer kurzen Suche mit diesem Ergebnis: http://stackoverflow.com/questions/1...ed-header-file

    verstehe ich das so, dass mit den eingebundenen Libaries nun das Maximum an möglichen zu Kompilierenden Bytes überschritten wurde.

    Sorry, dass ich kein Codetag benutzt habe, bin noch ganz neu in der Szene und muss nun mein uraltes Wissen ausgraben.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.213
    Irgendwas wild zusammenkopieren klappt seltener, als man denkt....

    Code:
    #include <Wire.h>
    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    
    LiquidCrystal_I2C    lcd(0x27,2,1,0,4,5,6,7);
    
    void setup()
    {
     lcd.begin (16,2); //  beim 20x4 natürlich entsprechend ändern
     
    lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
    lcd.setBacklight(HIGH);//ohne Beleuchtung sieht man nich viel
    lcd.setCursor(0,0);
    lcd.print("Funktioniert?");  
    }
    void loop()
    {
    
    //nichts weiter zu tun hier
    }
    Damit laufen meine 16x2er und 20x4er problemlos.
    Allerdings ist der Backlight-Jumper gesetzt, sonst klappt das so nicht!
    Wenn man die Beleuchtung dimmen will, muss der Jumper raus, dann kann man da ne PWM dran geben (ich bin grad nicht sicher, ob da noch nen Vorwiderstand nötig war, das hab ich gaaanz früher mal gemacht gehabt).
    Gerüchte besagen, dass die Adresse des Displays (bzw. des I2C-Rucksackes) auch mal ne andere sein kann, dazu gibts den I2C-Scanner.
    Geändert von Rabenauge (26.12.2015 um 21:27 Uhr)
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  3. #3
    Okay, ich habs nun endlich....https://arduino-info.wikispaces.com/LCD-Blue-I2C

    hat eine gute Beschreibung. Mit euren Codes hat es leider auch nicht ganz geklappt. Habe wohl einen anderen Typ gehabt.

    Vielen dank für die Mühe! Es war übrigens Version 1

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.181
    Die "Liquid Crystal I2C" ist in der neusten Version für die neue Arduino-IDE angepasst.
    In der alten Version wurde ein Rückgabewert in der Library nicht kompatibel zur neuen Lib gesetzt.
    Einfach mal die Lib neu herunterladen und (Wichtig) Duplikate der alten Library löschen. Dann geht wieder alles.

    Solltet ihr die Auto-Update-Version der neuen Arduino-IDE genutzt haben, bestenen etwaige Kopien der Lib nicht nut im Lib-Folder, sondern auch in dem Verzeichnis, das unter File => Preferences unter "Sketchbook location" angegeben ist. Das rauszufinden hat mich einige Nerven gekostet

    Das passende Issue findet man hier: https://github.com/fdebrabander/Ardu...brary/issues/2

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hallo Cysign,

    danke für die info, für mich als arduino anfänger nicht klar:

    Zitat Zitat von Cysign Beitrag anzeigen
    Die "Liquid Crystal I2C" (von wem? es gibt verschiedene authoren? version?) ist in der neusten Version für die neue Arduino-IDE (version?) angepasst.
    In der alten Version (der IDE?) wurde ein Rückgabewert in der Library nicht kompatibel zur neuen Lib gesetzt.
    Einfach mal die Lib neu herunterladen (quelle?) und (Wichtig) Duplikate der alten Library löschen. Dann geht wieder alles.

    Solltet ihr die Auto-Update-Version der neuen Arduino-IDE genutzt haben, bestenen etwaige Kopien der Lib nicht nut im Lib-Folder, sondern auch in dem Verzeichnis, das unter File => Preferences unter "Sketchbook location" angegeben ist. Das rauszufinden hat mich einige Nerven gekostet

    Das passende Issue findet man hier: https://github.com/fdebrabander/Ardu...brary/issues/2
    das lib-management bei arduino ist echt gewöhnungsbedürftig
    gruß inka

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.181
    Die "Liquid Crystal I2C" (von wem? es gibt verschiedene authoren? version?) ist in der neusten Version für die neue Arduino-IDE (version?) angepasst.
    In der alten Version (der IDE?) wurde ein Rückgabewert in der Library nicht kompatibel zur neuen Lib gesetzt.
    Einfach mal die Lib neu herunterladen (quelle?) und (Wichtig) Duplikate der alten Library löschen. Dann geht wieder alles.
    Unter dem von mir angegebenen Link findest du den Problemfall dokumentiert beim Git-Repository (quasi die Baustelle für diese Library).
    Wenn du da bist und oben auf die blaue Schrift "Arduino-LiquidCrystal-I2C-library" klickst, kommst du auf die Hauptseite von der Library.
    Nun am rechten Ende des magentafarbenen Balkens auf "Download zip" und du kannst die Library in der aktuellsten Version runterladen.

    Wie du dem Schriftverlauf bei meinem Link entnehmen kannst, ist in der aktuellen Version der Fehler behoben.


    Das gilt für die neuste ArduinoIDE (also derzeit 1.6.7) Version.

    In der alten Version der Library wurde ein Rückgabewert einer Funktion so gesetzt, dass er mit der neuen Version der ArduinoIDE nicht kompatibel ist.

    Den Downloadlink für die aktuelle Library, sowie die Problembeschreibung und Lösungsansätze bei weiteren Problemen diesbezüglich findest du unter dem von mir angegebenen Link. Einfach mal in Ruhe durchlesen.
    Geändert von Cysign (12.01.2016 um 18:36 Uhr)

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    ich habe auch ein wenig experimentiert, habe vor kurzem nämlich die IDE 1.0.5 durch die 1.6.6 ersetzt und die hat ein wenig anderes library-management. Die LCD.h ist bestandteil der library von Francisco Malpartida vom 20/08/11.

    hier kannst du die auch runterladen...
    gruß inka

Ähnliche Themen

  1. Phoenix_PS2_SSC32 Arduino Mega
    Von Ownnemesis im Forum Arduino -Plattform
    Antworten: 6
    Letzter Beitrag: 15.10.2015, 17:54
  2. Arduino Mega und Due am Lego NXT
    Von HaWe im Forum Eigene fertige Schaltungen und Bauanleitungen
    Antworten: 0
    Letzter Beitrag: 02.01.2015, 11:37
  3. Arduino Mega Matrix
    Von oel im Forum Arduino -Plattform
    Antworten: 16
    Letzter Beitrag: 04.10.2014, 16:11
  4. Arduino UNO, MEGA und Bascom
    Von Ripper121 im Forum Arduino -Plattform
    Antworten: 1
    Letzter Beitrag: 27.03.2013, 16:57
  5. 2 x HDMM01 auf Arduino Mega
    Von arnoa im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 08.02.2012, 16:19

Berechtigungen

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

Labornetzteil AliExpress