Was soll ich sagen... jetzt geht sowohl die Variante mit switch/case als auch mit der rekonstruierten For-Schleife mit fraglicher Variable als Vergleichsbedingung. Ich muss beim Rekonstruieren einen von mir übersehenen Fehler "ausversehen" korrigiert haben. Dadurch ist ds Problem im Wohlgefallen verschwunden. Was mich aber auch ein wenig blöd dastehen lässt.
Dennoch, war das nicht umsonst. Denn ich habe was gelernt. Danke an alle. Insbesondere Dank an @combie für die knappe aber treffende Antwort bezüglich For-Loop. Das war ja genau gefragt.
Ich hatte die For-Schleife in showVolt() ja sowieso im Verdacht, da es ja ging als ich sie durch eine switch/case - Konstruktion ersetzt hatte.
Die For Schleife war das Problem und das ist gelöst, auch wenn ich nicht weiss, was da ursprünglich falsch geschrieben war.
Dank an @Doc_Arduino: Ja genau so mach ich das, ich taste mich mit Seriellen Monitor- Ausgaben an die Stellen heran, bis ich die finde, wo der Code nicht mehr das macht, was er soll. Das Problem mit dem Seeduino ist aber, dass er als Wifi-Wearable am Handelenk keine USB - Verbindung zum PC haben soll. Man muss bei diesem Microcontroller aber den Serial.begin() entfernen, da sonst das Programm im Setup hängenbleibt, wenn Serial nicht verfügbar ist. Daher dachte ich, ich entferne auch die zugehörigen Serial.print-Befehle, da die ja unnütz dennoch aufgerufen werden und somit Kapazität fressen, oder ist das ein Irrtum?
Es wurde vom Hersteller empfohlen, nicht die analogRead() - Funktion zu verwenden:
The datasheet says nominally 2500mV full scale AD conversion, but there is a large variation from chip to chip, actually ±10%. My chip was 2700mV full scale.
Fortunately, the calibrated correction value for each chip is written in the fuse area, and by using the function alalogReadMilliVolts()
, I can read the corrected voltage value without doing anything special.
Ob die Funktion "analogReadMilliVolts()" (Achtung: witziger Schreibfehler im Zitat) tatsächlich korrekte Werte liefert, muss ich erst noch ausprobieren, ich hab das wie gesagt von der Hersteller-Website übernommen. Ich sehe keinen Anlass da mißtrauisch zu sein.
Aber auch für die Messung kann der MC nicht über USB verbunden sein, vermute ich, da er ja dann den Strom über USB bezieht und den Akku auflädt. Die Werte sind jedenfalls andere, wenn der Akku nicht voll ist und mein kleines Gerät nicht am USB hängt.
Falls jemand jetzt dennoch den kompletten Code anschauen möchte, sagt Bescheid, dann poste ich ihn gern. Aber Vorsicht - ist in weiten Teilen noch Baustelle.
Einen wunderbaren Abend an alle.