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, 20:58
Beitrag #1
OLED Bildschirm Problem
Hallo,

Ich bin gerade dabei mir einen Datalogger zu basteln und habe dafür ein I2C OLED 0,96" Bildschirm und eine RTC Clock angeschlossen, sowie ein Micro SD Modul. Die restliche Hardware schließe ich nach und nach an.

Alles funktioniert, bis ich den mit "PROBLEM" gekennzeichneten Bereich einfüge.

Woran liegt das oder hab ich was vergessen?

Gruß
Joe

Code:
/*Arduinoprogramm zum Überwachen von Daten
*
* Enthaltene Bauteile:
* - OLED 0,96" I2C Display 128x64 px
* [5V -> VCC | GND -> GND | A4 -> SDA | A5 -> SCL]
*
* - DHT22 Zum Überwachen von Luftfeuchtigkeit und Temperatur
* [5V -> VCC | D2 -> IO | GND -> GND]
*
* - Kapazativer Bodenfeuchte Sensor
* [5V -> VCC | A2 -> Data | GND -> GND]
*
* - RTC (Real Time Clock) für das Anzeigen der Uhrzeit
* [5V -> VCC | GND -> GND | A4 -> SDA | A5 -> SCL]
*
* - MicroSD Board zum Abspeichern der Daten
* [5V -> VCC | GND -> GND | D11 -> MOSI | D12 -> MISO | D13 -> SCK | D4 -> CS]
*
* - 2x Kapazativer Touch Sensor zum Steuern
* --> Zum Testen wird ein Joystick mit Drucktaster verwendet
*/

//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;


void WriteDisplay(){
  
  OLED.setTextSize(TextSize);
  OLED.setTextColor(INVERSE);
  OLED.setCursor(CursorX, CursorY);
  OLED.display();
}


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();
    setup();
  }
  Serial.print("OK");
  OLED.println("OK");
  WriteDisplay();

  OLED.clearDisplay();
  OLED.print("Bereit");
  WriteDisplay();


/*
*
*
* PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! ! PROBLEM ! ! !
*
*/
  Datei = SD.open("Werte.txt", FILE_WRITE);
  Datei.close();
/*
*
* 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 Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2021, 21:04
Beitrag #2
RE: OLED Bildschirm Problem
Und was dann nicht funktioniert sollen wir erwürfeln?

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:05
Beitrag #3
RE: OLED Bildschirm Problem
Sorry.

Sobald ich die Zeilen einfüge wird nichts mehr auf meinem OLED Display angezeigt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2021, 21:11 (Dieser Beitrag wurde zuletzt bearbeitet: 01.01.2021 21:21 von hotsystems.)
Beitrag #4
RE: OLED Bildschirm Problem
Dann bau dir einfach ein paar Ausgaben auf den seriellen Monitor ein, um zu erkennen, wo dein Sketch hängen bleibt.

Wird der Sketch überhaupt bei dir fehlerfrei kompiliert ?

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, 21:20
Beitrag #5
RE: OLED Bildschirm Problem
Auf alle Fälle ist erst mal der rekursive Aufruf von setup() völliger Unsinn.
Code:
while(!SD.begin(4)){
    Serial.println("Initialisierung fehlgeschlagen!");
    OLED.println("Retry");
    WriteDisplay();
    setup();   // <<----------------------------------
}

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:28
Beitrag #6
RE: OLED Bildschirm Problem
(01.01.2021 21:20)Tommy56 schrieb:  Auf alle Fälle ist erst mal der rekursive Aufruf von setup() völliger Unsinn.

Ich möchte allerdings nicht in den Loop gelangen, bis (in diesem Fall) die MicroSD eingesetzt ist.
Wie kann ich dann eine Schleife erzeugen die mir das ermöglicht ohne das ich wieder ganz an den Anfang vom Setup springe?


-------------------------------------------
Mein Code läuft bis zu dem Punkt
Code:
...
while(!SD.begin(4)){
    Serial.println("Initialisierung fehlgeschlagen!");
    OLED.println("Retry");
    WriteDisplay();
    setup();
  }
  Serial.print("OK");
  OLED.println("OK");
  WriteDisplay();

  OLED.clearDisplay();
Den Befehl "OLED.print("Bereit") macht er nicht mehr
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2021, 21:32
Beitrag #7
RE: OLED Bildschirm Problem
(01.01.2021 21:28)JoeIsFame schrieb:  Den Befehl "OLED.print("Bereit") macht er nicht mehr
Wo in dem Codefragment steht "OLED.print("Bereit")"?
Code:
while(!SD.begin(4)){
    Serial.println("Initialisierung SD fehlgeschlagen!");
}

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:36
Beitrag #8
RE: OLED Bildschirm Problem
(01.01.2021 21:32)Tommy56 schrieb:  Wo in dem Codefragment steht "OLED.print("Bereit")"?

Direkt unter dem Zitierten.
Es steht auch nur einmal im Code drin.
Hab extra eine etwas größeren Bereich eingefügt zum finden im gesamt Code.
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 Relaisplatine Maui 14 665 23.03.2021 15:20
Letzter Beitrag: hotsystems
  Laserwert auf OLED Display ausgeben Blauepi 18 851 22.03.2021 14:00
Letzter Beitrag: Blauepi
  Problem mit "pow" awillib 9 674 27.02.2021 19:22
Letzter Beitrag: Tommy56
  Pwm Problem safitom 4 400 20.02.2021 12:14
Letzter Beitrag: safitom
  SH1107 Oled Display und Multiplexer Feuchtigkeitssteuerung Kanka 35 2.074 06.02.2021 22:38
Letzter Beitrag: Kanka
  Problem mit "Keyboard" und "Mouse" LK2567 4 439 03.02.2021 16:11
Letzter Beitrag: MicroBahner
  const char zu int Konvertierung Problem Lumplux 1 295 02.02.2021 10:26
Letzter Beitrag: Lumplux
  Arduino Uno+ Ethernetshield W5100 Website Problem Justus S. 9 677 31.01.2021 17:37
Letzter Beitrag: Tommy56
Sad MAX7221 mit gemeinsamer Anode und Problem Dezimalpunkt daja64 11 684 30.01.2021 11:07
Letzter Beitrag: daja64
  Oled Wire Frequenz huber5093 3 376 21.01.2021 23:45
Letzter Beitrag: hotsystems

Gehe zu:


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