Ich habe mehrere Sensoren wie z.B ein MPU6050 Gyroskop, VL53LXX-V2 oder BMP180 und möchte diese per Tastendruck "durchschalten", d.h. drücke ich einen Button einmal, wird der erste Sensor ausgelesen, drücke ich den Button erneut, wird der zweite Sensor ausgelesen usw.
Dies soll in einem Loop funktionieren, sprich wenn der letzte Sensor erreicht wurde und der Button nochmals gedrückt wird, soll wieder der erste ausgelesen werden.
Die Werte der Sensoren sollen dabei immer auf einem 128x32 SSD1306 OLED-Display angezeigt werden und sich bei z.B Lageänderung des Gyroskops aktualisieren und direkt angezeigt werden (Der Sensorwert soll also nicht nur einmal beim Durchschalten zwischen den Sensoren aktualisiert werden).
Mein bisheriger Code sieht so aus, aktuell hänge ich an dem Punkt mit dem Durchschalten, dies funktioniert nicht und der Sensorwert des MPU6050 wird nicht dauerhaft aktualisiert.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
Jetzt funktioniert es! (Zumindest mit dem einen Sensor, den ich bisher zum testen benutze).
Vielen Dank.
EIn weiteres Problem, welches ich aktuell noch habe, ist der hohe Speicherverbrauch. Das aktuelle Programm braucht schon 72% des Programmspeichers und 35% des dynamischen Speichers.
Irgendwelche Ideen zum verringern?
Ich benutze einen Arduino Nano Klon von AZDelivery.
Zunächst einmal AZDelivery ist eine Firma die ein - Meiner Meinung nach teilweise unter moralischen Gesichtspunkten fragwürdiges Verhalten zeigt.
Die Firma AZDelivery beantragt die Markennamenrechte an elektronischen Allerweltsbegriffen bei denen andere Firmen niemals auf die Idee kommen würden dafür die Namensrechte zu beantragen. Teilweise Begriffe die seit Jahrzehnten in Gerbrauch sind.
Deshalb empfehle ich dir zukünftig bei anderen Firmen zu kaufen.
Ein OLED-Pixel-Display braucht nun mal viel Speicher. Es gibt da Optionen die Buffergröße zu reduzieren. Ich habe dazu neulich ein bißchen etwas nachgelesen aber nicht verstanden wie man das einstellt.
Möglicherweise gibt es hier Experten die dazu mehr sagen können.
Die Alternative ist einen anderen Microcontroller zu nehmen. Du willst ja kleine Maße haben
Du willst ja nur werte anzeigen dafür reicht die U8g2 Lib die hat ein Speicher sparenden Modus u8g8, hat auch ein paar Schriftarten für die u8g8 wie die sich Nennen ist unter keywords zu finden