2014-01-07 28 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中。