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
OLED Bildschirm Problem
01.01.2021, 21:41
Beitrag #9
RE: OLED Bildschirm Problem
Wenn Du schon Fragmente postest, sollte die Zeile, auf Die Du Dich beziehst mit da drin sein.
Das OK siehst Du nicht, da du gleich danach das Display löschst.
Dir hilft also wirklich nur, wie hotsystems schon schrieb, arbeite mit seriellen Ausgaben, weil die auf dem OLED versaust Du Dir selbst.

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
01.01.2021, 21:47 (Dieser Beitrag wurde zuletzt bearbeitet: 01.01.2021 21:50 von JoeIsFame.)
Beitrag #10
RE: OLED Bildschirm Problem
Sollten genug sein fürs genau herausfinden. Hab die letzte ausgegebene[/code] Zeile markiert

Code:
void WriteDisplay(){
  Zaehler = Zaehler +1;
  Serial.print("Displayaufruf ");
  Serial.println(Zaehler);
  OLED.setTextSize(TextSize);
  Serial.println("SetTextSize");
  OLED.setTextColor(INVERSE);
  Serial.println("SetTextColor");
  OLED.setCursor(CursorX, CursorY);
  Serial.println("SetCursor");
  OLED.display();
  Serial.println("Anzeigen");
}


void setup() {
  Serial.begin(9600);
  Wire.begin();
  OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    
OLED.clearDisplay();
  Serial.println("Initialisierung von SD-Karte...");
  OLED.print("SD-Karte...");
  while(!SD.begin(4)){
    Serial.println("Initialisierung fehlgeschlagen!");
    OLED.println("Retry");
    WriteDisplay();
    }

  Serial.println("OK");
  OLED.println("OK");
  WriteDisplay();
  Serial.println("Anzeige für Bereit");
  OLED.clearDisplay();
--> Serial.println("Display bereinigen"); //Letzte ausgegebene Zeile
  OLED.print("Bereit");
  Serial.println("Bereit");
  WriteDisplay();

  Serial.println("Textdatei erstellen");  

/*
*
*
* PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! !
*
*/
  Datei = SD.open("Werte.txt", FILE_WRITE);
  Datei.close();

  Serial.println("Textdatei erstellt");
/*
*
* PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! !
*
*/
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2021, 21:54
Beitrag #11
RE: OLED Bildschirm Problem
Und was siehst Du auf der seriellen Ausgabe? Du sollst debuggen, nicht wir.

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
01.01.2021, 21:55
Beitrag #12
RE: OLED Bildschirm Problem
Wenn schon vorher schluss ist, kann es ja nicht an dem von dir bezeichneten Problem liegen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2021, 22:03
Beitrag #13
RE: OLED Bildschirm Problem
(01.01.2021 21:55)hotsystems schrieb:  Wenn schon vorher schluss ist, kann es ja nicht an dem von dir bezeichneten Problem liegen.

Das stimmt allerdings Undecided
Hab mal meine verdächtige Stelle auskommentiert. Der Fehler ist noch immer da

Hier was im Seriellen Monitor angezeigt wird


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2021, 22:09
Beitrag #14
RE: OLED Bildschirm Problem
Schmeiß doch bitte mal bei Oled.println(***) das ln weg.
Und poste dann den Sketch neu.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2021, 22:11 (Dieser Beitrag wurde zuletzt bearbeitet: 01.01.2021 22:14 von Tommy56.)
Beitrag #15
RE: OLED Bildschirm Problem
Auch wenn Du meinen könntest, wir meckern nur: Einen Text, wie die serielle Ausgabe, als Bild anzuhängen ist mit die schlechteste Idee, die Du haben kannst.

Du kannst Den Text doch einfach kopieren und hier in Codetags einfügen.

Das zeigt aber erst mal, dass die Initialisierung der SD wohl noch funktioniert hat.

Ist die SD formatiert?

Gruß Tommy

Edit: Außerdem prüfst Du nicht, ob das Anlegen der Datei erfolgreich war.
Code:
// Dein Code
  Datei = SD.open("Werte.txt", FILE_WRITE);
  Datei.close();

  Serial.println("Textdatei erstellt");

// besser
  Datei = SD.open("Werte.txt", FILE_WRITE);
  if (Datei) {
    Datei.close();
    Serial.println("Textdatei erstellt");
  }
  else Serial.println("Textdatei konnte nicht erstellt werden");

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
01.01.2021, 22:13
Beitrag #16
RE: OLED Bildschirm Problem
(01.01.2021 22:09)hotsystems schrieb:  Schmeiß doch bitte mal bei Oled.println(***) das ln weg.
Und poste dann den Sketch neu.

Code:
//Einbindung der Bibliotheken

//SD Kartenmodul
#include <SD.h>
File Datei;

//DHT22
#include <DHT.h>
#include <DHT_U.h>

#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

//OLED Display
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

byte TextSize = 1;
byte CursorX = 0;
byte CursorY = 0;

#define OLED_RESET 12
Adafruit_SSD1306 OLED(OLED_RESET);

//RTC
#include <DS3231.h>
DS3231 Clock;

bool Century = false;
bool h12;
bool PM;

int Jahr;
int Monat;
int Datum;
int Stunde;
int Minute;
int Sekunde;



//Deklarieren der Variablen
//Variablen für Bodensensor
int Bodenfeuchte = analogRead(A0);

//Variablen für Joystick
int XAchse = analogRead(A6);
int YAchse = analogRead(A7); //Wird nicht verwendet
bool Taster = digitalRead(11);

//Allgemeine Variablen
unsigned long milli;
unsigned long millidavor=0;
int Zahl = 0;
int Zaehler = 0;


void WriteDisplay(){
  Zaehler = Zaehler +1;
  Serial.print("Displayaufruf ");
  Serial.println(Zaehler);
  OLED.setTextSize(TextSize);
  Serial.println("SetTextSize");
  OLED.setTextColor(INVERSE);
  Serial.println("SetTextColor");
  OLED.setCursor(CursorX, CursorY);
  Serial.println("SetCursor");
  OLED.display();
  Serial.println("Anzeigen");
}


void setup() {
  Serial.begin(9600);
  Wire.begin();
  OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    
  OLED.clearDisplay();
  Serial.println("Initialisierung von SD-Karte...");
  OLED.print("SD-Karte...");
  while(!SD.begin(4)){
    Serial.println("Initialisierung fehlgeschlagen!");
    OLED.print("Retry");
    WriteDisplay();
    }
  Serial.println("OK");
  OLED.print("OK");
  WriteDisplay();
  Serial.println("Anzeige für Bereit");
  OLED.clearDisplay();
  Serial.println("Display bereinigen");
  OLED.print("Bereit");
  Serial.println("Bereit");
  WriteDisplay();

  Serial.println("Textdatei erstellen");  

/*
*
*
* PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! !
*

  Datei = SD.open("Werte.txt", FILE_WRITE);
  Datei.close();

  Serial.println("Textdatei erstellt");

*
* PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! !
*
*/

  
/*
   Clock.setClockMode(false); //24h
   Clock.setYear(21);
   Clock.setMonth(1);
   Clock.setDate(1);
   Clock.setHour(16);
   Clock.setMinute(25);
   Clock.setSecond(50);
*/

}

void loop() {
  milli = millis();
  Zahl = Zahl+1;
  Serial.print("Loop ");
  Serial.println(Zahl);
  OLED.clearDisplay();
  OLED.print("LOOP ");
  OLED.println(Zahl);
  WriteDisplay();
  
  Jahr = Clock.getYear();
  Monat = Clock.getMonth(Century);
  Datum = Clock.getDate();
  Stunde = Clock.getHour(h12, PM);
  Minute = Clock.getMinute();
  Sekunde = Clock.getSecond();

}

Alle Oled Ausgaben sind jetzt nur noch oled.print(***)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem mit Neuem Bootlader installieren Warmbronner 10 515 27.06.2021 16:19
Letzter Beitrag: Bitklopfer
  Problem bei Multitasking und millis() Maxcruiser 41 2.142 01.06.2021 22:22
Letzter Beitrag: Maxcruiser
  Poti-Wert auf OLED Display anzeigen senseman 34 2.273 24.05.2021 22:09
Letzter Beitrag: senseman
  Problem Relaisplatine Maui 14 1.452 23.03.2021 15:20
Letzter Beitrag: hotsystems
  Laserwert auf OLED Display ausgeben Blauepi 18 1.799 22.03.2021 14:00
Letzter Beitrag: Blauepi
  Problem mit "pow" awillib 9 1.162 27.02.2021 19:22
Letzter Beitrag: Tommy56
  Pwm Problem safitom 4 675 20.02.2021 12:14
Letzter Beitrag: safitom
  SH1107 Oled Display und Multiplexer Feuchtigkeitssteuerung Kanka 35 3.050 06.02.2021 22:38
Letzter Beitrag: Kanka
  Problem mit "Keyboard" und "Mouse" LK2567 4 757 03.02.2021 16:11
Letzter Beitrag: MicroBahner
  const char zu int Konvertierung Problem Lumplux 1 497 02.02.2021 10:26
Letzter Beitrag: Lumplux

Gehe zu:


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