• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wysyłanie danych przez bluetooth
#1
Chciałbym zapytać o Wasze doświadczenia związane z przesyłaniem danych z arduino do smartfona przez BT. Na początek złożyłem prosty zestaw arduino z podłączonym BT [ HC-06 ] i prosta APK na smartfona odczytująca co jakiś czas dane z BT, na arduino programik który co 500ms podnosił wartość zmiennej o 1 i wysyłał przez BT i zadziałało, jednak gdy przyspieszałem z wysyłaniem danych to APK nie jest wstanie tak szybko odczytywać z BT lub arduino wysyłać.  Robiliście już może coś takiego ? Może gdzieś widzieliście podobny projekt ?
Arduino Leonardo
 
Odpowiedź
#2
apk robiłeś sam czy korzystasz z gotowca mam kilka urządzeń które łączą się s tel przez bt z prędkością 115200 i niema problemu z gubieniem danych
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#3
sam [MIT APP Inventor] , na arduino 9600 jak zwiększałem to nie moglem się podłączyć - może tu jest problem
Arduino Leonardo
 
Odpowiedź
#4
HC-06 ma domyślnie ustawiony baud na 9600 ( zapomniałem )musisz według opisu komendami AT zmienić mu prędkość na taką jaka ci potrzebna inaczej nie połączy się z ardu albo telefonem

tu masz opis jak to zrobić

http://www.instructables.com/id/AT-comma.../?ALLSTEPS
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#5
Sorka że dopiero dzisiaj , byłem trochę zajęty, niestety próbuje różnych sposobów i mam problem z wysłaniem AT i odpowiedzią. JasQ - czy możesz podpowiedzieć konkretny sketch. BT mam podpięty pod :
VCC > 3,3
GND > GND
BT.RX > TX[1]
BT.TX > RX [0]
Wszystko na Arduino Leonardo i BT HC-06.
Arduino Leonardo
 
Odpowiedź
#6
Nie programem gołym terminalem ale jak nie masz konwertera usb->ftdi to ci jutro przygotuje program , nosiłem się z napisaniem go ale jakoś nigdy chęci nie było
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#7
Wielkie Dzięki
Arduino Leonardo
 
Odpowiedź
#8
Tak na szybko bo idę spać po nocce wgraj programik podłącz bluetooth-a pod piny 10 i 11 ( zasilanie i masa normalnie ) jakby nie działało zamień RX z TX na pinach 10 , 11 .

odpal terminal na prędkości 9600 , powinien wyskoczyć napis "Gotowy" teraz wpisz

AT (naciśnij enter)

wyskoczy "OK"

AT+BAUDx (za x podstaw cyferkę odpowiadającą za prędkość BLU)

1 1200
2 2400
3 4800
4 9600
5 19200
6 38400
7 57600
8 115200

Przykład "AT+BAUD8" -> 115200

Wyskoczy "OK115200" i w tym momencie będzie działał z prędkością 115200
jeżeli będziesz chciał coś zmienić po zmianie prędkości to w programie musisz zmienić prędkość portów
na taką jak ma BLU

Te 2 linijki na przykład:

Kod:
Serial.begin(115200);            
BLUSerial.begin(115200);


A najważniejsze od jakiejś tam prędkości na zwrotnej otrzymasz jakieś krzaki po prostu arduino nie przetrawi co dostanie od BLU nic złego się nie stało zawsze możesz wrócić do 9600 ustawić wszystko i
dopiero dać 115200


AT+NAMExxxxx zmiana nazwy n.p. AT+NAMEzabek wyświetli OKsetname

AT+PINxxxx zmiana pinu powinien być standardowo 1234 n.p. AT+PIN4321 wyświetli OKsetPIN

AT+VERSION wyświetli wersję BLU i numer FW n.p. OKlinvorV1.5

ok to chyba ci wystarczy na razie a nad programem i tak posiedzę ale nie dziś mam grafik napięty .


Kod:
#include <SoftwareSerial.h>

SoftwareSerial BLUSerial(10, 11);

void setup() {
    
  Serial.begin(9600);              // prędkość portu usb
  BLUSerial.begin(9600);         // prędkość portu bluetooth obie muzą być takie same
  Serial.println("Gotowy");
  
}

void loop() {

if (Serial.available())BLUSerial.write(Serial.read());
if (BLUSerial.available())Serial.write(BLUSerial.read());
  
}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#9
Wielkie dzięki JasQ za błysk odpowiedź.
Moim podstawowym błędem było ustawianie prędkości USB na 9600 a BT na 38400 [ gdzieś wyczytałem że HC-06 tylko na niej przyjmuje AT ] teraz śmiga , na terminalu "Brak zakończenia linii" inaczej nie przyjmuje komend.
Chciałem jeszcze zapytać jak uważasz, uważacie czy dzielnik napięcia jest konieczny.
Arduino Leonardo
 
Odpowiedź
#10
nie ma w sobie działa na 5 i 3,3v
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości