2014-01-07 37 views
0

我想要做的是用处理程序控制arduino板中的2个LED。 如果我按下屏幕上半部分的任何一点,LED(引脚13)将点亮,如果按下屏幕下半部分的一个点,它将打开其他LED(引脚12)。 因此,我编写了2个按钮,带有2个LED(引脚12和13),无论按下哪个按钮,它总是打开引脚13. 我做了一个单独的实验,只有1个按钮,只更改引脚13 12.不工作,总是脚变成13使用处理和arduino(蓝牙)打开两个按钮的LED灯

ARDUINO代码:

boolean estado; 
boolean estado1; 
byte a; 
void setup() 
{ 
    Serial.begin(9600); 
    pinMode(12, OUTPUT); 
    digitalWrite(12, LOW); 
    pinMode (13, OUTPUT); 
    digitalWrite (13, LOW); 
    randomSeed(analogRead(0)); 
    estado = false; 
    estado1 = false; 
} 
void loop() 
{ 
    delay(100); 
    Serial.write(random(40)); 
    while(Serial.available() > 0) 
    { 
     a = Serial.read(); 
     if (a == 0) 
     { 
     estado = !estado; 
     digitalWrite(12, estado); 
     } 
     if (a == 1) 
     { 
     estado1 = !estado1; 
     digitalWrite(13, estado1); 
     } 
    } 
} 

处理代码:

void compruebaBoton() 
{ 
    if(mouseY < 640) 
    { 
    try 
    { 
     ons.write(0); 
    } 
    catch(Exception ex) 
    { 
     estado = 4; 
     error = ex.toString(); 
     println(error); 
    } 
    } 

if(mouseY > 640) 
    { 
    try 
    { 
     ons.write(1); 
    } 
    catch(Exception ex) 
    { 
     estado = 4; 
     error = ex.toString(); 
     println(error); 
    } 
    } 
} 

我实现的代码是什么我想正确的做?

+0

estado1在setup()之前未初始化? –

+0

对不起。我的错。我没有复制该行。 –

回答

1

玩了几个小时的代码后,我发现了问题! 如果蓝牙板连接到arduino板,程序没有加载到arduino中。