Something must be wrong..
ok wrote bit of code , serial output either c or g when move pins high , low. if give me idea of need fix appreciated.
code: [select]
int buttonone = 3;
int buttontwo = 4;
int buttonthree = 5;
int buttonfour = 6;
int ledone = 7;
int ledtwo = 8;
int ledthree = 9;
// setup initializes serial , button pin
void setup()
{
serial.begin(9600); // opens serial port, sets data rate 9600 bps
pinmode(ledone, output);
pinmode(ledtwo, output);
pinmode(ledthree, output);
pinmode(buttonone, input);
pinmode(buttontwo, input);
pinmode(buttonthree, input);
}
// loop checks button pin each time,
// , send serial if pressed
void loop()
{
if (digitalread(buttonone) == low, digitalread(buttontwo) == low, digitalread(buttonthree) == low, digitalread(buttonfour) == low)
serial.print("c"); // c
else if (digitalread(buttonone) == high, digitalread(buttontwo) == high, digitalread(buttonthree) == high, digitalread(buttonfour) == low)
serial.print("c#"); // c#
else if (digitalread(buttonone) == high, digitalread(buttontwo) == low, digitalread(buttonthree) == high, digitalread(buttonfour) == low)
serial.print("d"); // d
else if (digitalread(buttonone) == low, digitalread(buttontwo) == high, digitalread(buttonthree) == high, digitalread(buttonfour) == low)
serial.print("d#"); // d#
else if (digitalread(buttonone) == high, digitalread(buttontwo) == high, digitalread(buttonthree) == low, digitalread(buttonfour) == low)
serial.print("e"); // e
else if (digitalread(buttonone) == high, digitalread(buttontwo) == low, digitalread(buttonthree) == low, digitalread(buttonfour) == low)
serial.print("f"); // f
else if (digitalread(buttonone) == low, digitalread(buttontwo) == high, digitalread(buttonthree) == low, digitalread(buttonfour) == low)
serial.print("f#"); // f#
else if (digitalread(buttonone) == high, digitalread(buttontwo) == low, digitalread(buttonthree) == high, digitalread(buttonfour) == high)
serial.print("g"); // g
else if (digitalread(buttonone) == low, digitalread(buttontwo) == high, digitalread(buttonthree) == high, digitalread(buttonfour) == high)
serial.print("g#"); // g#
else if (digitalread(buttonone) == high, digitalread(buttontwo) == high, digitalread(buttonthree) == low, digitalread(buttonfour) == high)
serial.print("a"); // a
else if (digitalread(buttonone) == high, digitalread(buttontwo) == low, digitalread(buttonthree) == low, digitalread(buttonfour) == high)
serial.print("a#"); // a#
else if (digitalread(buttonone) == low, digitalread(buttontwo) == high, digitalread(buttonthree) == low, digitalread(buttonfour) == high)
serial.print("b"); // b
else if (digitalread(buttonone) == low, digitalread(buttontwo) == low, digitalread(buttonthree) == low, digitalread(buttonfour) == high)
serial.print("chigh"); // c
else if (digitalread(buttonone) == high, digitalread(buttontwo) == high, digitalread(buttonthree) == high, digitalread(buttonfour) == high)
serial.print("c#ghigh"); // c#
delay(1000);
}
good evening (morning?) z,
your problem in expressions like
if (digitalread(buttonone) == high, digitalread(buttontwo) == high, digitalread(buttonthree) == high, digitalread(buttonfour) == low)
which should instead read
if (digitalread(buttonone) == high && digitalread(buttontwo) == high && digitalread(buttonthree) == high && digitalread(buttonfour) == low)
(your expression unfortunately legal use of c/c++ "comma" operator. the value of "a,b" "b".)
mikal
your problem in expressions like
if (digitalread(buttonone) == high, digitalread(buttontwo) == high, digitalread(buttonthree) == high, digitalread(buttonfour) == low)
which should instead read
if (digitalread(buttonone) == high && digitalread(buttontwo) == high && digitalread(buttonthree) == high && digitalread(buttonfour) == low)
(your expression unfortunately legal use of c/c++ "comma" operator. the value of "a,b" "b".)
mikal
Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Something must be wrong..
arduino
Comments
Post a Comment