Forum: Mikrocontroller und Digitale Elektronik AVR 328P, Temperatur, Uhrzeit am OLED Display ausgeben


von Chris S. (chris70469)


Angehängte Dateien:

Lesenswert?

Einen schönen guten Tag,

da ich noch am Anfang meiner Programmierkarriere stehe, sind Probleme 
keine Seltenheit. Nur bei dem vorgestellten Problem, finde ich zurzeit 
keine Lösung und könnte ein wenig Unterstützung gebrauchen.

Projekt: Ich möchte mit meinem Arduino Nano ein OLED Display (SSD1306) 
über I2C ansteuern. Das Display sollte einmal die Temperatur und die 
Uhrzeit anzeigen.

Um die Temperatur zu messen, habe ich einfach einen NTC10K-Sensor und 
paar Widerstände an den ADC1 gehängt, der ADC1 soll mir dann die 
entsprechenden Werte liefern. Zu der Temperaturmessung, werde ich mein 
Hardwareaufbau als Datei hinterlegen.

Um die aktuelle Uhrzeit anzeigen zu können, habe ich mir ein RTC Modul 
(DS3231) gekauft, dies soll später auch mit dem I2C Bus verbunden 
werden. Das RTC Modul wurde noch nicht angeschlossen, weil ich mit der 
Temperaturmessung noch zu kämpfen habe.

Mein Problem: Bei der runtergeladenen Display library is ein 
Programmbeispiel dabei, d.h. mein Display funktioniert und zeigt auch 
etwas an. Leider kann ich den gemessenen Wert vom ADC1 nicht am Display 
ausgeben. Ich benutze die Funktion itoa() um meinen Wert vom ADC1 in 
einen string zu wandeln, doch mein Display bleibt leider dunkel.

Setup zusammengefasst:
Arduino Nano (Atmega 328p), OLED Display (SSD1306), RTC Modul (DS3231)
Atmelstudio 7, Library zum OLED Display von: 
Beitrag "SSD1306/1309 Library zum Darstellen von Text auf OLED Displays"

Im 7-Zip Ordner "Display.7z" ist mein kompletter code mit library 
vorhanden. Ich habe zusätzlich die main Datei als Textdatei hochgeladen 
und meinen Hardwareaufbau.

Für Tipps und Lösungen wäre ich euch sehr Dankbar.

Vielen Dank im Voraus.
Chris

: Verschoben durch Moderator
von Tinus (Gast)


Lesenswert?

status bekommt bei jedem Aufruf/Durchlauf den Wert SENSOR_EIN

von weichwerker (Gast)


Lesenswert?

Chris S. schrieb:
> main.txt (1,73 KB)

Oh Määäääähn, Sourcecode postet man als *.c Datei.

von Sebastian W. (wangnick)


Lesenswert?

Chris S. schrieb:
> Für Tipps und Lösungen wäre ich euch sehr Dankbar.

initSystemTimer() aufrufen?

LG, Sebastian

von Chris S. (chris70469)


Lesenswert?

weichwerker schrieb:
> Chris S. schrieb:
>> main.txt (1,73 KB)
>
> Oh Määäääähn, Sourcecode postet man als *.c Datei.

Die Sourcedatei ist im 7-Zip Ordner.

Tinus schrieb:
> status bekommt bei jedem Aufruf/Durchlauf den Wert SENSOR_EIN

Ich habe die Variable "status" als statische Variablen festgelegt, die 
werden nur einmal am Anfang initialisiert. Der Herrn Sebastian W. hat 
meinen Fehler gefunden.

Sebastian W. schrieb:
> Chris S. schrieb:
>> Für Tipps und Lösungen wäre ich euch sehr Dankbar.
>
> initSystemTimer() aufrufen?
>
> LG, Sebastian

Vielen Dank Sebastian, das war wohl der Fehler. Ich werde nachher mal 
den Code erweitern und das RTC-Modul ausprobieren.

LG, Chris

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.