Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam forumowiczów, jest to mój pierwszy post na tym forum.

Od paru dni jestem posiadaczem Arduino, oraz modułu bluetooth HC-05.

Postanowiłem zbudować prosty samochód sterowany z androida i tu zaczął się problem, otóż telefon paruje z urządzeniem, dioda na HC-05 zaczyna wolniej pulsować. Wpisuje w terminal aplikacji komendę i nic. Jednak gdy robię to z komputera program sterujący silnikiem się kręci, a co więcej odsyłana zostaje komenda nawet na telefon, i tu pytanie co jest nie tak?

Czy HC-05 pracuje tutaj jako master, a telefon slave? Czy może jest nie sprawny?

Kod programu

int motorPin1 = 3; // pin 2 on L293D IC
int motorPin2 = 4; // pin 7 on L293D IC
int enablePin = 5; // pin 1 on L293D IC
int state;
int flag=0;        //makes sure that the serial only prints once the state

void setup() {
   // sets the pins as outputs:
   pinMode(motorPin1, OUTPUT);
   pinMode(motorPin2, OUTPUT);
   pinMode(enablePin, OUTPUT);
   // sets enablePin high so that motor can turn on:
   digitalWrite(enablePin, HIGH);
   // initialize serial communication at 9600 bits per second:
   Serial.begin(9600);
}

void loop() {
   //if some date is sent, reads it and saves in state
   if(Serial.available() > 0){     
     state = Serial.read();   
     flag=0;
   }   
   // if the state is '0' the DC motor will turn off
   if (state == '0') {
       digitalWrite(motorPin1, LOW); // set pin 2 on L293D low
       digitalWrite(motorPin2, LOW); // set pin 7 on L293D low
       if(flag == 0){
         Serial.println("Motor: off");
         flag=1;
       }
   }
   // if the state is '1' the motor will turn right
   else if (state == '1') {
       digitalWrite(motorPin1, LOW); // set pin 2 on L293D low
       digitalWrite(motorPin2, HIGH); // set pin 7 on L293D high
       if(flag == 0){
         Serial.println("Motor: right");
         flag=1;
       }
   }
   // if the state is '2' the motor will turn left
   else if (state == '2') {
       digitalWrite(motorPin1, HIGH); // set pin 2 on L293D high
       digitalWrite(motorPin2, LOW); // set pin 7 on L293D low
       if(flag == 0){
         Serial.println("Motor: left");
         flag=1;
       }
   }
}
  • 4 tygodnie później...

Witaj, ogólnie będzie to mój pierwszy post na tym forum i jeśli bym coś źle powiedział mam nadzieję, że zrozumiecie, jednak wnioskując po twojej wypowiedzi wszystko jest okej z wyjątkiem wysyłania z telefonu.

Skoro przesyłając jakieś wartości z kompa, silniki działają jak powinny to twój program jest okej.

Niestety arduino nie posiadam, jednak na swojej atmedze używałem modułu HC-05 i nie było z nim żadnych problemów. Jesteś pewien że aplikacja na telefon działa poprawnie? Polecam program appinventor, możesz zrobić tam swoją aplikację, która będzie działać bez większych problemów i będziesz miał wszystko pod kontrolą.

Pozdrawiam, a tutaj mój kod jak jeszcze kiedyś tam miałem jakąś płytkę z arduino mini, działał tak, że po wysłaniu jakiejś wartości z telefonu led się zaświecał bądź gasił. Może się przyda do testów.

int led = 8;
int state;

void setup() {                
 pinMode(led, OUTPUT);     
 // 9600 bit na sek:
 Serial.begin(9600);
}

void loop() {
 if(Serial.available() > 0){     
     state = Serial.read();}

 if (state == '1') {
     digitalWrite(led, HIGH);} 

 if (state == '2') {
     digitalWrite(led, LOW);}   

 if (state == '3') {
     digitalWrite(led, HIGH);}  

 if (state == '4') {
     digitalWrite(led, LOW);}  

 if (state == '5') {
     digitalWrite(led, HIGH);}  

 if (state == '6') {
     digitalWrite(led, LOW);} 

 if (state == '7') {
     digitalWrite(led, HIGH);} 

 if (state == '8') {
     digitalWrite(led, LOW);}  

 delay(100);            

}

Pozdrawiam.

  • 1 miesiąc później...

Planuje zrobić robota sterowanego telefonem z androidem przez bt. Chciałem w tym celu użyć hc-05. Szukam jakieś przykładowej aplikacji i kodu na arduino. Jak patrzyłem przykładowe aplikacje ze sklepu play to telefon się parował z modułem ale tak ogólnie nie działało. I jak przejść w tryb AT?

  • 1 rok później...

Witam jestem tu nowy. Posiadam funduino uno i mam problem z modułem bluetooth. Posiadam BLUETOOTH HC-05 kupiony na allegro od AVmarket. Problem polega na tym iż nie mogę się polaczyć żadną aplikacją z modułem. Telefon idzie sparować ale gdy wchodzę w aplikację np. arduino bluetooth rc car żeby móc sterować samochodem wyskakuje unable to connect. Wszystkie aplikację które ściągam maja problem z polączeniem sie z modułem. Jedyne co to Arduino terminal łączy się.

Kolejny problem to taki że nie mogę wejść w tryb komend. Mój bluetooth posiada takie o to nóżki: State, RXD, TXD, GND, VCC, EN. Level 3,3V. Power 3,6-6V.

Prosty program do odczytywania komend z arduino terminala nie wyświetla ich na monitorze.

void setup(){ 
  Serial.begin(9600); 
} 

void loop(){ 
  if (Serial.available()){ 
    Serial.print(Serial.read()); 
  } 
}

Jak podłączyć ten moduł pod RX i TX żeby go nie spalić skoro napięcie to 3,3 a magistrala UART w arduino daje napięcie 5 V ??

Jestem zielony w tych sprawach póki co

Jak podłączyć ten moduł pod RX i TX żeby go nie spalić skoro napięcie to 3,3 a magistrala UART w arduino daje napięcie 5V?

Przecież z tego, co piszesz, to już podłączyłeś?

no tak czyli już go uszkodziłem i przez to mam problemy z polaczeniem się z aplikacjami ??

co zrobić żeby kolejnego modułu nie spalić i jak go podłączyć. jaki najlepiej wyprać. pomoże ktoś ?

Powinien działać. Moduł bluetooth to to zielone, a na tej niebieskiej płytce masz regulator napięcia i logic level shifter.

Natomiast żeby dobrać się do komend AT, musisz mieć przy podłączaniu zasilania wciśnięty ten guzik...

Czyli jak podlaczylem go do portow na arduino Rx i Tx a zasilanie 5v to go nie spalilem ?

Jezeli chodzi o tryb AT to podlaczam zasilane przy wcisnietym tym malym przycisku, dioda zaczyna wolniej mrugac. Gdy na komputerze w porcie szeregowym pisze jakas komende to zadnej informacji zwrotnej nie ma. Moze mam zly program ? Czy jeszcze jakis port musze podlaczyc oprocz zasilania, Tx i Rx ?. Kolejna sprawa zadna aplikacja nie moze sie sparowac poza bluetooth terminalem na androida lecz nie bez problemow. Moze ktos poda jakis skech ?

Zauwazylem rowniez ze gdy bluetooth terminal juz sie polaczy to dioda na bluetooth nie swieci sie lecz mruga tak samo jak w przypadku podlaczania bluetooth z wcisnietym tym malym przyciskiem .

Dzieki z gory za pomoc.

Mam klona Funduino zgodny z arduino uno r3. Zdjecia schematu nie mam gdyz nie ma mnie w domu. Podlaczam zasilanie pod 5v, gnd do masy a RX z Bt do TX arduino, TX z Bt do RX arduino czyli na krzyz tak wyczytalem tu na forum

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...