Arduino switches into Mac os X


hi everyone,
just quick thing,
im trying interface arduino mac when press 1 of 5 buttons on arduino board transferes character mac via serial.

ive written code, when plug board mac randomly think 1 of buttons has been pressed.

code:
code: [select]
int next = 2;   // next button
int prev = 3;   // prev button
int play = 4;   // play/pause button
int louder = 5;   // vol button
int quiter = 6;   // vol down button

int val_next = 0;     // variable reading pin status
int val_prev = 0;     // variable reading pin status
int val_play = 0;     // variable reading pin status
int val_louder = 0;     // variable reading pin status
int val_quiter = 0;     // variable reading pin status

void setup() {
serial.begin(9600);
 pinmode(next, input);    // declare next input
  pinmode(prev, input);    // declare prevous input
   pinmode(play, input);    // declare play / pause input
    pinmode(louder, input);    // declare louder volume input
     pinmode(quiter, input);    // declare quiter volume input
     
 digitalwrite(next, low);
 digitalwrite(prev, low);
 digitalwrite(play, low);
 digitalwrite(louder, low);
 digitalwrite(quiter, low);
 
 digitalwrite(val_next, low);
 digitalwrite(val_prev, low);
 digitalwrite(val_play, low);
 digitalwrite(val_louder, low);
 digitalwrite(val_quiter, low);
}

void loop(){
 val_next = digitalread(next);  // read input value
 val_prev = digitalread(prev);  // read input value
 val_play = digitalread(play);  // read input value
 val_louder = digitalread(louder);  // read input value
 val_quiter = digitalread(quiter);  // read input value
 
 if (val_next == low) {         // check if input high (button released)
   serial.println("a");
   digitalwrite(next, low);
   delay(1000);
 }
  if (val_prev == low) {         // check if input high (button released)
   serial.println("b");
   digitalwrite(prev, low);
   delay(1000);
 }
  if (val_play == low) {         // check if input high (button released)
   serial.println("c");
   digitalwrite(play, low);
   delay(1000);
 }
  if (val_louder == low) {         // check if input high (button released)
   serial.println("d");
   digitalwrite(louder, low);
   delay(1000);
 }
  if (val_quiter == low) {         // check if input high (button released)
   serial.println("e");
   digitalwrite(quiter, low);
   delay(1000);
 }
}


any ideas?
thanks
mathew


this block not needed, , usualy not use digital write pin set input
 

digitalwrite(next, low);
digitalwrite(prev, low);
digitalwrite(play, low);
digitalwrite(louder, low);
digitalwrite(quiter, low);

this block wrong, actualy doing here setting pin 0 low 5 times since variables initialized 0
 
digitalwrite(val_next, low);
digitalwrite(val_prev, low);
digitalwrite(val_play, low);
digitalwrite(val_louder, low);
digitalwrite(val_quiter, low);


what mean is:

val_next=0;

but not needed either since variables initialized 0 when declared them.


in each of if statements digitalwrite(xxx, low); not needed.

 if (val_next == low) {         // check if input high (button released)
   serial.println("a");
   digitalwrite(next, low);
   delay(1000);
 }


are switches hooked pull resistors ? if not explain random behaviour.


Arduino Forum > Forum 2005-2010 (read only) > Software > Interfacing > Arduino switches into Mac os X


arduino

Comments

Popular posts from this blog

CAN'T INSTALL MAMBELFISH 1.5 FROM DIRECTORY - Joomla! Forum - community, help and support

error: expected initializer before 'void'

CPU load monitoring using GPIO and leds - Raspberry Pi Forums