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
  Oled Wire Frequenz huber5093 3 127 Gestern 23:45
Letzter Beitrag: hotsystems
  SH1107 Oled Display und Multiplexer Feuchtigkeitssteuerung Kanka 34 780 17.01.2021 17:05
Letzter Beitrag: hotsystems
  LCD via I2C Backlight-Problem Herby007 10 459 06.01.2021 14:46
Letzter Beitrag: Herby007
  Problem mit Variablen & Ergebnis rev.antun 11 484 26.11.2020 15:47
Letzter Beitrag: rev.antun
  Nextion Senden von Variablen Problem Tesla 10 713 08.11.2020 13:13
Letzter Beitrag: Tesla
  Problem Arduino Mega und Nextion Touch Display pds14 9 737 28.10.2020 11:20
Letzter Beitrag: hotsystems
  Master-Slave-Problem - 2 juergen001 23 1.225 06.10.2020 10:23
Letzter Beitrag: juergen001
  Problem mit AnotherIFTTTWebhook | cannot convert 'const char*' to 'char*' dani 3 382 02.10.2020 11:21
Letzter Beitrag: dani
  Master-Slave-Problem juergen001 10 899 24.09.2020 13:34
Letzter Beitrag: Tommy56
  Zeit-Server-Problem 182 21 7.633 27.08.2020 15:05
Letzter Beitrag: Bitklopfer

Gehe zu:


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