probleem met arrays

byte zone1;
char zone2[5];
char zone3[10];
int y;

void setup(){
Serial.begin(9600);
//uitlezen EEPROM :positie 0 : positie 1tem4 : positie 5tem13 start op 0 !
//toekennen gelezen positie 0 aan zone1
//toekennen gelezen positie 1 tem 4 aan zone2
//toekennen gelezen positie 5 tem 13 aan zone3

// opvullen zone1
zone1 = EEPROM.read(0);

// opvullen zone2
for (int x=1; x<4; x++){
y=x-1;
pincode[y] = EEPROM.read(x);}
zone2[4]=0;

// opvullen zone3
for (int x=4; x<14; x++){
y=x-5;
pukcode[y] = EEPROM.read(x);}
zone3[10]= 0;

Serial.print("zone1 : ");Serial.println(zone1);
Serial.print("zone2 : ");Serial.println(zone2);
Serial.print("zone3 : ");Serial.println(zone3);

DIT IS DE INHOUD VAN DE EEPROM positie 0 tot en met 13
0 0 0 0 0 9 8 7 6 5 4 3 2 1

DIT WORDT ER GETOOND

zone1 : 0
zone2 :
zone3 :

Ik zie de oplossing niet :-[
Hoe kan ik de velden zone1 zone2 en zone3 gebruiken om ze te tonen, om er mee te vergelijken enz…

Alvast bedankt om het eens te bekijken.

Logisch…
Je vult een veld pincode bijvoorbeeld maar die zie ik nergens gedefinieerd. Daarna zet je het laatste byte van zone op 0. Ik zou om problemen de voorkomen altijd ‘\0’ gebruiken als string terminator.
Samenvattend:

  • Je vult de zones niet maar pincode en pukcode. Alleen die print je niet uit. Het programma doet exact wat het moet doen.
  • En daar er onbekende waarden in Zone2 en zone3 staan (vermoedelijk allemaal 0-en) zie je niets…