Foliendrucksensor, Arduino als MC?

Was mir eingefallen ist. Ich weißtet nicht wie viele Zeichen in einem Println ausgegeben werden können. Aber alle Werte in ein Char Array schreiben und das Char Array auf einmal ausgeben funktioniert schneller Denk ich.oder ebenenweise in das Char Array.

Was mir eingefallen ist. Ich weißtet nicht wie viele Zeichen in einem Println ausgegeben werden können. Aber alle Werte in ein Char Array schreiben und das Char Array auf einmal ausgeben funktioniert schneller Denk ich.oder ebenenweise in das Char Array.

Kannst du mir das vllt ein bisschen genauer erklären? Bin mir nicht sicher wie ich das Programm dann umschreiben müsste. Müsste ich die Daten erstmal auf den Flash zwischenspeichern?
Ich habe mir mal ein Example zu EEPROM durchgelesen, da läuft der AnalogRead nur noch in 8bit Wörtern (also nur 256 Unterteilungen statt 1024 ab). Das wäre etwas wenig. Wäre das hier auch der Fall?

Ich meine das so. Dein wert kann maximal vierstellig sein+ einen separierungsoperator wie ein Komma. Du deklarierst und initialisierst ein Char Array mit 5*32 also 160 Zeichen. Dann schreibst du die Werte nacheinander da rein. Am Ende des inneren
Loops gibst du dann den gesamten String/Char-Array aus. Ob das zeit Spart weiß ich ned. Ob das in den Arbeitsspeicher vom arduino passt auch ned, da ich die grenzen meines Arduino noch nicht ausgelotet hab, was das angeht. Da aber die Ausgabe über den Serial Port wahrscheinlich länger dauert als die Werte in ein Array zu legen und sie dann in einem Schwung auszugeben, kann das Zeit sparen. Also sowas in der Art.

char text[160]
...

void setup(){
for (int i =0;i<160;i++){
text[i]="0";
...
}
...
Loop
..
For...
      For....{
       ...
       Sensorvalue=analogread();
       If(sensorvalue<10){
          itoa(SensorValue,text[i*5+3],10);
        } else  If(sensorvalue<100){
          itoa(SensorValue,text[i*5+2],10);
        } else If(sensorvalue<1000){
          itoa(SensorValue,text[i*5+1],10);
        } else {
          itoa(SensorValue,text[i*5],10);
        }
       If (i!=32){
          text[(i+1)*5-i]=",";
        }
     }
   Serial.println(text);
   for (int i =0;i<160;i++){
   text[i]="0";
   }
}

So erhälst du eine Komma separierte Zeile mit allen Werten einer Ebene. Auch wenn es nach viel aussieht, kann des schneller sein wie jedes mal ein Println. Wenn nicht, dann wissen wir,wenigstens, das so rumgespiele mit Char Arrays A..... langsam ist. Ein Versuch ist es Wert.

Ps. Bitte nicht erschlagen, falls es nicht gleich durchkompiliert. Hab grad aufem iPad eingehackt. Es soll dir auch nur die Idee zeigen.