04-09-2016, 11:57
Witam
Ostatnio kupiłam do swojego Arduino UNO moduł bluetooth HC05. Na necie jest wiele przykładów z zapalaniem się diody led i jej gaszeniem.
Korzystając z aplikacji APP Inventor 2 zrobiłem, (a raczej przepisałem) program jak poniżej
Kod programu arduino również poniżej
Program napisany w standardowy sposób jak większość przykładów (dziwne bo bez określenia w setup RX/TX jako wy/we nie działało), czyli jeżeli serial available to zapisz przesyłaną daną do zmiennej "state". Jak wartość state=0 to zgaś led i wyślij do aplikacji "0" w odpowiedzi. Jak wartość state inne niż 0 to zapal led i wyślij do aplikacji "1".
Problem polega na wysyłaniu informacji zwrotnej z Arduino do telefonu. Nagrałęm filmik opisujący ten problem:
http://filmy.elektroda.net/3_1472982036.mp4
Zastanawiam się czy to nie jest tak, że np. LED się zapala i zostaje wysłane do aplikacji "1", ale w bloku aplikacji jest tak, że wyślij do arduino "1", a zaraz pod spodem wstaw jako led_status to co odebrane i może aplikacja wstawia tekst jeszcze przezd odczytem? Hmmm
Ostatnio kupiłam do swojego Arduino UNO moduł bluetooth HC05. Na necie jest wiele przykładów z zapalaniem się diody led i jej gaszeniem.
Korzystając z aplikacji APP Inventor 2 zrobiłem, (a raczej przepisałem) program jak poniżej
Kod programu arduino również poniżej
Kod:
int ledpin = 2;
int state = 0;
int tx = 1;
int rx = 0;
int flag = 0;
void setup() {
pinMode(ledpin, OUTPUT);
digitalWrite(ledpin, LOW);
pinMode(tx, OUTPUT);
pinMode(rx, INPUT);
Serial.begin(9600);
}
void loop() {
delay(50);
if(Serial.available() > 0){
state = Serial.read();
flag = 0;
}
if(state == '0'){ //jak w zmiennej state bedzie 0 to ma zgasic led
digitalWrite(ledpin, LOW);
Serial.println("0"); // i wyslac wiadomosc zwrotna, że led jest wylaczony
state = 0; // zerujemy zmienna state
}
else if(state == '1'){
digitalWrite(ledpin, HIGH);
Serial.println("1");
state = 0;
}
}
Program napisany w standardowy sposób jak większość przykładów (dziwne bo bez określenia w setup RX/TX jako wy/we nie działało), czyli jeżeli serial available to zapisz przesyłaną daną do zmiennej "state". Jak wartość state=0 to zgaś led i wyślij do aplikacji "0" w odpowiedzi. Jak wartość state inne niż 0 to zapal led i wyślij do aplikacji "1".
Problem polega na wysyłaniu informacji zwrotnej z Arduino do telefonu. Nagrałęm filmik opisujący ten problem:
http://filmy.elektroda.net/3_1472982036.mp4
Zastanawiam się czy to nie jest tak, że np. LED się zapala i zostaje wysłane do aplikacji "1", ale w bloku aplikacji jest tak, że wyślij do arduino "1", a zaraz pod spodem wstaw jako led_status to co odebrane i może aplikacja wstawia tekst jeszcze przezd odczytem? Hmmm