Hallo Uwe,
danke für die Rückmeldung. Ich habe mit dem Ansatz nun etwas rumgebastelt und bin an folgender Stelle:
das ist mein Probecode der 4 Zufällige Zahlen erzeugt und sie nacheinander in ein Array speichert. Wenn man sich den Vorgang im Serial Monitor anschaut bekommt man die 4 Zufallszahlen dargestellt aber nicht danach den gesammten Arrayinhalt. Ich bin in der Array Materie noch nicht tief drin habe aber eine Vermutung warum das nicht geht: Das Array was mir das Kennwort des Türschlosses speichert sieht wie folgt aus:
char TuerCode[5] = "9200";
Das Array was die Zufallszahlen aufnehmen soll, sieht so aus:
char Zufallszahl[5];
Jetzt fangen meine Gedankenprobleme an. Und zwar kann ich doch in einem Array[5] eine Zahl mit 6 Stellen speichern oder ? Warum muss mein Array was mein TuerCode speichert [5] haben? Es speichert doch nur eine Zahl zwischen 0000 und 9999 ? Denn die Zufallszahl ist ja auch nur vierstellig. Wenn ich aber das TuerCode Array auf zum Beispiel [4] oder kleiner setze bekomme ich eine Fehlermeldung das das Array zu klein für den Inhalt ist. Warum?? Ok egal ich habe also bei meinem TuerCode[5] Array wie unten im Sketch zu sehen ist den Arrayinhalt [0] und [1] mit nullen beschrieben, da ich ja nur eine vierstellige Zahl brauche. Das ganze funktioniert einfach nicht und ich finde nicht den richtigen Anhaltspunkt warum und wie ich / was ändern muss.
Das hier ist der Code:
#include <SoftwareSerial.h>
int eins = 0;
int zwei = 0;
int drei = 0;
int vier = 0;char TuerCode[5];
int durchlauf = 0;void setup(){
Serial.begin(9600);
//value = random(47,58);
}void loop(){
while(durchlauf == 0){
TuerCode[0] = 0;
TuerCode[1] = 0;
// erste Zahl generieren und laden
eins = random(0,9);
Serial.print("Erste Zahl ist: ");
Serial.println(eins);
TuerCode[2] = eins;
delay(1000);
// zweite Zahl generieren und laden
zwei = random(0,9);
Serial.print("Zweite Zahl ist: ");
Serial.println(zwei);
TuerCode[3] = zwei;
delay(1000);
// dritte Zahl generieren und laden
drei = random(0,9);
Serial.print("Dritte Zahl ist: ");
Serial.println(drei);
TuerCode[4] = drei;
delay(1000);
// vierte Zahl generieren und laden
vier = random(0,9);
Serial.print("Vierte Zahl ist: ");
Serial.println(vier);
TuerCode[5] = vier;
delay(1000);durchlauf = 1;
}Serial.println("Der Zufallscode ist: ");
Serial.println(Array);
}
Gruß,
Tobi