Ich habe folgendes Problem
Ich möchte eine Messwertreihe auf einem Oled als Grafik anzeigen. Dazu fülle ich die Messwerte in ein Array. Ein Wert y wird mit einem Messwert aus dem Array kopiert. Danach will ich für die 100 Messwerte je einen Punkt Punkt mit den Koordinaten x = 0...99 und y zeichnen. Vereinfacht, ohne Schlaufe und mit einer einzigen Koordinate sieht der Code so aus:
// Eingebundene Bibliotheken
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <RTClib.h>
#include <OneWire.h>
//#include <SD.h>
#include <DallasTemperature.h>
.......
Adafruit_SSD1306 display(128, 64, &Wire, 4); // display : OLED Anzeige 128x24 Pixel, Reset Pin 4, Bezeichnung display
RTC_PCF8523 rtc; // rtc : Chipset PFC 8523 // char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
OneWire oneWire(2); // Schnittstelle fürTemperatursensoren an Pin Digital IN 2
DallasTemperature sensors(&oneWire); // Sensors : Temperatursensoren Typ SD18B
.......
// Lesen des RPM Eingangs :
int rpm = 2300; // Umrechnung in %
display.setCursor(70,20);
display.print(rpm);
display.setCursor(103,20);
display.println("rpm");
// Grafische Darstellung
int y;
float Grafik[100];
Grafik[0] == 50.2;
y = (int)Grafik[0];
display.drawPixel(10, y, SSD1306_WHITE);
Kompilieren funktioniert, aber der Code stürzt ab, die Anzeige blockiert. Was mach ich falsch?
Der ganze Code ist zu lange. Als Hinweis; Wenn ich den Befehl
display.drawPixel(10, 50, SSD1306_WHITE);
einsetze, funktioniert alles bestens.
Vielen Dank für die Unterstützung
Daniel