INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Probleme mit SD-Karten und Displayansteuerung gleichzeitig
04.11.2019, 20:14
Beitrag #1
Probleme mit SD-Karten und Displayansteuerung gleichzeitig
Hallo,
ich komme leider gerade nicht wirklich mit meinem Arduino zurecht. Zum Test möchte ich Zahlen gleichzeitig auf dem Display anzeigen und auf der SD-Karte speichern.

Das SD-Modul ist über SPI angeschlossen und das Display ist ein OLED-0.96"-Display, welches ich über die Adafruit-Library ansteuere.

Untenstehender Code funktioniert ohne Probleme (nur die Anzeige auf dem Display), aber sobald ich auch die SD-Library inkludiere, funktioniert das Skript nicht mehr. und der Zähler startet gar nicht erst / das Display wird auch nicht angesteuert. Hat jemand eine Idee, warum die SD-Library offenbar nicht zusammen mit der Adafruit-Display-Library funktioniert?

Code:
//Test 1: Schreiben auf SD-Karte
#include <Wire.h>
#include <SPI.h>
//#include <SD.h> //Load SD library
#include <Adafruit_GFX.h>  // Include core graphics library for the display
#include <Adafruit_SSD1306.h>  // Include Adafruit_SSD1306 library to drive the display

const int chipSelect = 4; //chip select pin for the MicroSD Card Adapter
//File dataFile;
int i=0;
Adafruit_SSD1306 display(128, 64);  // Create display

void setup() {
  // Serial  
  Serial.begin(9600);

  //SD-Karte
  /*
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    // don't do anything more:
    while (1);
    }
    Serial.println("card initialized.");
    */
    //Display
    
    delay(100);  // This delay is needed to let the display to initialize
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // Initialize display with the I2C address of 0x3C
    display.clearDisplay();  // Clear the buffer
    display.setTextColor(WHITE);  // Set color of the text
    display.setRotation(0);  // Set orientation. Goes from 0, 1, 2 or 3
    display.setTextWrap(false);  // By default, long lines of text are set to automatically “wrap” back to the leftmost column.
                                 // To override this behavior (so text will run off the right side of the display - useful for
                                 // scrolling marquee effects), use setTextWrap(false). The normal wrapping behavior is restored
                                 // with setTextWrap(true).
    display.dim(0);  //Set brightness (0 is maximun and 1 is a little dim)
    
    
}

void loop() {
    display.clearDisplay();  // Clear the display so we can refresh
    display.setCursor(10,20);
    display.print("Test");
    display.display();
    // put your main code here, to run repeatedly:
    
    
    //Serial
    Serial.println(i);
    
    //Display
    
    display.setCursor(10,10);  
    display.print(i);
    display.display();
        

    //SD-Karte  
    /*
    dataFile = SD.open("TpH-Data.txt", FILE_WRITE);
      if (dataFile) {
      dataFile.print(i);
      dataFile.print("\n");     //Zeile beenden
      dataFile.close(); // close file
      Serial.println("gespeichert");
    }
    */
  i++;
  delay(1000);
}

Ich hoffe, es hat jemand eine Idee, ich komme langsam nicht mehr weiter und habe bisher auch keine Probleme damit im Foum gefunden :-(.[/quote]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2019, 20:29 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2019 20:29 von Tommy56.)
Beitrag #2
RE: Probleme mit SD-Karten und Displayansteuerung gleichzeitig
Hast Du auch mal die SD allein probiert? Nicht das da was klemmt.
Das Display läuft über I2C, die sollten sich nicht beißen.

Evtl. die SdFat-Lib benutzen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2019, 21:03
Beitrag #3
RE: Probleme mit SD-Karten und Displayansteuerung gleichzeitig
Leider funktioniert die SDfat-Bibliothek auch nicht. Sobald ich den Header inkludiere zählt es auf meinem Display nicht mehr hoch. Wenn ich die Teile mit dem Display auskommentiere (Bibliotheken und Anweisungen) dann funktioniert das Schreiben auf die Karte komischerweise.

Hat vielleicht noch jemand eine Idee?

Viele Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2019, 21:17
Beitrag #4
RE: Probleme mit SD-Karten und Displayansteuerung gleichzeitig
Was für ein Arduino ist es denn?

Es könnte sein, das der RAM zu klein wird. SD braucht schon nur für den Sektorpuffer 512 Byte. Was sagt denn der Compiler über den Speicher?
Wie versorgst Du die Teile?
Baue mal diesen Code ein und rufe ihn am Ende vom setup auf.
Code:
// Quelle: https://jeelabs.org/2011/05/22/atmega-memory-use/
int freeRam () {
   extern int __heap_start, *__brkval;
   int v;
   return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2019, 22:22
Beitrag #5
RE: Probleme mit SD-Karten und Displayansteuerung gleichzeitig
"Der Sketch verwendet 21740 Bytes (67%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 1244 Bytes (60%) des dynamischen Speichers, 804 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes."

Wenn ich den Code aufrufe, wird 686 ausgegeben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2019, 22:37
Beitrag #6
RE: Probleme mit SD-Karten und Displayansteuerung gleichzeitig
Baue doch in deinen Sketch ein paar Ausgaben auf den seriellen Monitor ein, damit du erkennen kannst, wo er stecken bleibt.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2019, 22:49 (Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2019 23:11 von Tommy56.)
Beitrag #7
RE: Probleme mit SD-Karten und Displayansteuerung gleichzeitig
(05.11.2019 22:22)reichs schrieb:  Wenn ich den Code aufrufe, wird 686 ausgegeben.
Das sollte eigentlich gerade so noch reichen. Ich tippe aber trotzdem auf ein Speicherproblem.

Evtl. mal ne andere Lib ausprobieren. z.B. hier

Mir fällt im Moment auch nichts Anderes ein.

Gruß Tommy

Edit: Du könntest auch mal die Text-Lib von Olli Kraus probieren.

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.11.2019, 18:55
Beitrag #8
RE: Probleme mit SD-Karten und Displayansteuerung gleichzeitig
Hey, danke für eure Hilfe. Ich bin leider jetzt erst dazu gekommen, die Tipps umzusetzen. Es scheint tatsächlich am RAM zu liegen. Mit der U8X8-Lib funktioniert es jetzt.

Viele Grüße
Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Probleme mit Adafruit_ST7735 Thor Wallhall 4 283 22.04.2020 19:52
Letzter Beitrag: Thor Wallhall
  Probleme Webserver - Servos fahren unkontrolliert kiximek 10 632 07.04.2020 21:45
Letzter Beitrag: kiximek
  Probleme mit externen Librarys in Klasse reichs 3 352 30.03.2020 22:12
Letzter Beitrag: Tommy56
  Probleme mit Bibliothek juergen001 3 311 29.03.2020 13:19
Letzter Beitrag: Tommy56
  Probleme mit GPS-Modul an Nano DO3GE 3 388 26.02.2020 16:13
Letzter Beitrag: amithlon
  Probleme beim zusammenfügen Zweier Sketche Joel 18 1.526 07.01.2020 19:09
Letzter Beitrag: Tommy56
  Plötzlich Probleme mit SD Write DO3GE 5 597 21.12.2019 21:10
Letzter Beitrag: hotsystems
  Rotary Encoder - gedrückt und gleichzeitig drehen Gerdchen03 6 685 29.10.2019 10:49
Letzter Beitrag: Tommy56
  Probleme mit Blinklicht auf bestimmte Zeit Prospekteur 15 1.303 20.10.2019 17:08
Letzter Beitrag: Tommy56
  Nextion und die Probleme mit Arduino.... alpenpower 7 1.396 17.10.2019 13:51
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste