Hallo,
ich hab folgendes Problem ich möchte Analoge Werte in mehreren Variblen speichern, nur irgendwie weichen die Werte in dem Array sehr ab, ich weiß nicht wieso :~
Angeschlossen ist ein Potentiometer an A0.
Obwohl ich NICHT an dem Potentiometer drehe erhalte ich unterschiedliche Werte für string > 1 - 1680 > 2 - 703 > 3 - 1506 > 4 - 703 > 5 - 592 > 6 - 703 > 7 - 703 > 8 - 703 > 9 - 703 > 10 - 703 Wenn ich den direkten Wert mir anzeigen lasse kommt immer der konstante Wert raus > 703 folgenden code verwende ich ```
*int string[0];
int sensor;
int helligkeit_eingangs_wert;
int pin = A0;
int helligkeit;
for (int i=1;i<=10;i++){
Serial.print(i);Serial.print(" - ");Serial.println(string[i]);
}
}* ``` Was mach ich da falsch ich versteh das gar nicht O.o Vielen Dank für hilfreiche antworten
Es wäre unter Umständen auch gut, auf die Begrifflichkeiten zu achten. Das vermeidet Missverständnisse bei der Kommunikation und der Fehlerbeschreibung.
Ein "String" ist eine Zeichkette und damit eine Aneinanderreihung von "BYTEs" (nicht int), in C (C-String) abgeschlossen vom Wert "0" (nicht das Zeichen Null).
Im Prinzip ist ein C-String auch ein Array von "char" und kann auch als solches angesprochen / verwendet werden.
Was Du verwendest ist ein Array vom Typ "int". Damit besteht jedes Element Deines Arrays aus zwei Bytes, nämlich einem Int-Wert. Ein integer-Array mit "string" zu bezeichnen ist in C kein Problem, allerdings sollte man sowas vermeiden, da es verwirrend ist und die Fehlersuche erschwert.
Ansonsten hat Uwe ja schon den entscheidenden Hinweis zur Größe des Arrays gegeben.
Danke, da ich in der Programmierung noch ein Anfänger bin, ist mir das nicht bewusst gewesen, dass man sozusagen die Anzahl des Strings deklariert, wieviel man nutzen möchte
Läuft soweit alles, vielen Dank euch beiden!
Werd noch an einer Sache bisschen arbeiten, falls ich da nicht weiterkomme werde ich nochmal eure Hilfe beanspruchen