[Problem solved] Last boolean in array of 5 behaving weirdly


hey, people,
i've got problem weirdly behaving boolean in array (or i'm doing rong): last boolean in array of 5 booleans gives me random numbers when print serial monitor.
hardware: 5 keys different resistors hooked parallel between 5v , gnd , fed a0 complete pulldown resistor. in short, analog 5 key input thingy.
the first 2 keys switch through menu of 5 items, 3rd key toggles boolean corresponding item. booleans have been declared array of 5. whenever key pressed, desired work done , sketch prints relevant information serial monitor except:
the first 4 booleans work nicely, last 1 contains *random numbers* (and really, random!)

code: [select]
int taster=a0;
int tasterwert=0;
int taste=0;
int item=1;
boolean tuer[5]={0,0,0,0,0};

void setup()
{
 serial.begin(9600);
 serial.print("item: ");
 serial.println(item);
 serial.println();
}

int input()
{
 tasterwert=analogread(taster);
 
 //map won't work, selected rong resistor values
 if(tasterwert>925 && tasterwert<935) taste=1;
 else if(tasterwert>505 && tasterwert<515) taste=2;
 else if(tasterwert>290 && tasterwert<300) taste=3;
 else if(tasterwert>165 && tasterwert<175) taste=4;
 else if(tasterwert>85 && tasterwert<95) taste=5;
 
 return taste;
}

void loop()
{
 while(analogread(taster)!=0)
 {
   input();
 
   if(taste==2) item=item+1;
   if(taste==1) item=item-1;    
   if(item==6) item=1;
   if (item==0) item=5;
   
   serial.print("tasterwert: ");
   serial.println(tasterwert);
   serial.print("taste: ");
   serial.println(taste);
   serial.print("item: ");
   serial.println(item);
   
   //here toggle booleans in array
   if(taste==3) tuer[item] = !tuer[item];
 
   serial.print("tuer-status: ");

   //here weirdness item 5
   serial.println(tuer[item]);

   serial.println();
   serial.println("tuer-status 1-5: ");
   serial.println(tuer[1]);
   serial.println(tuer[2]);
   serial.println(tuer[3]);
   serial.println(tuer[4]);

   //here more weirdiousity item 5
   serial.println(tuer[5]);

   serial.println();
   delay(500);
 }
}


now on sm, relevant numbers 182, 24, 131 contained tuer[5] boolean:

quote
tasterwert: 512
taste: 2
item: 2
tuer-status: 0

tuer-status 1-5:
0
0
0
0
182

tasterwert: 512
taste: 2
item: 3
tuer-status: 0

tuer-status 1-5:
0
0
0
0
24

tasterwert: 930
taste: 1
item: 2
tuer-status: 0

tuer-status 1-5:
0
0
0
0
131


if 5th item selected , press 3rd key boolean tuer[5] after "tuer-status:" randomly set 0 or 1 , won't toggle; last number, supposed display same boolean gives me 19 or 20.

what gives? missing? i'm doing rong hey, started out less week ago... half dozen free internets can tell me why last 1 of 5 bools in array messes up!

greetings germany
daskraut


in arduino world arrays 0 based.  taste should 0 4 not 1 5.


Arduino Forum > Using Arduino > Programming Questions > [Problem solved] Last boolean in array of 5 behaving weirdly


arduino

Comments

Popular posts from this blog

Connecting Raspberry Pi 2 to P10(1R)-V706 LED Dot Matrix - Raspberry Pi Forums

FLV Playlist

xml playlist