|
以下是小弟程式碼
目的:利用藍芽與手機(Android)藍芽通訊,手機傳數值2,1,0;
而Arduino收到2要執行感光偵測,大於臨界點會發出警報(蜂鳴器)且Led燈會亮;
收到1要自行一直跑感光並偵測值,大於臨界點會發出警報(蜂鳴器)且Led燈會亮,
收到0則關閉Arduino。
面臨問題:
當App結束關掉或是藍芽因距離過遠斷掉連接Arduino無法判斷出來!!!!
再跑模式1(收到1),會無窮迴圈,原本功能是希望能再跑迴圈的時候若輸入另外一個值(ex:2或1),則Arduino會執行2或1該有的功能。
請大大幫個忙,感恩
int potPin = 2;
int val = 0;
int speakerPin = 7;
int sval = 1318;
int ledPin = 9;
void setup(){
Serial.begin(9600);
pinMode(speakerPin,OUTPUT);
pinMode(ledPin, OUTPUT);
}
void loop(){
if(Serial.available()){
unsigned char charreceived = Serial.read();
switch(charreceived){
case '2':
Serial.println("can not open and far");
val = analogRead(potPin);
Serial.println(val);
digitalWrite(ledPin,LOW);
if(val>25){
digitalWrite(ledPin,HIGH);
digitalWrite(speakerPin,HIGH);
delayMicroseconds(sval);
}delay(1000);
break;
case '1':
do{
Serial.println("can not open");
val = analogRead(potPin);
Serial.println(val);
digitalWrite(ledPin,LOW);
if(val>25){
digitalWrite(ledPin,HIGH);
digitalWrite(speakerPin,HIGH);
delayMicroseconds(sval);
}
delay(1000);
}while(charreceived=1);
break;
case '0':
Serial.println("free mode");
break;
}
}
} |
|