ARduino Uno - Matlab - HC 05

Odpovědět
F123456

ARduino Uno - Matlab - HC 05

Příspěvek od F123456 »

Dobrý den,
mým úkolem je poslat nějaká čísla z Matlabu do arduina una a následně zpět pomocí bluetooth HC-05. Vytvořil jsem si testovací program v arduinu, který, když mu pošli např. 1 tak se rozsvítí dioda. Takže vím, že z Matlabu do arduina mi to funguje. Ale obráceně je to problém. Používám toto zapojení https://www.google.cz/search?q=arduino+ ... cVlKIXk%3D
V arduinu jsem si vytvořil tedy jiný program, který každý 2 vteřiny odesílá slovo "ahoj". Problém je v tom, že ať dám jakoukoli Baudrate nebo změním mod bluetooth, matlab mi vždy hodí stejnou chybu: Warning: Unsuccessful read: A timeout occurred before the Terminator was reached. Někde na internetu jsem našel, že se musí terminátor z LR změnit na CR, že to je údajně rychlejší, ale to mi stejně nepomohlo. Přitom přes kabel jsem schopen data přečíst bez problémů. Přečetl jsem si Vaše články "Programování Bluetooth modulů HC-05" a "Ovládání pomocí Bluetooth – pro Arduino". Ale stejně se mi nepodařilo přijít na to, kde by mohla být chyba, proto jsem se rozhodl založit toto téma, jestli někdo neví, kde by mohl být problém. Předem děkuji. Níže jsou uvedené testovací "kódy", které nyní používám.


Arduino

Kód: Vybrat vše

void setup() {
  Serial.begin(9600); // inicializace seriové linky
  delay(500);// čekej 0,5 sec  
}
 
void loop() {
Serial.println("ahoj"); // odešli na ser. linku ahoj
delay(2000);  //čekej 2 sec
}
Matlab

Kód: Vybrat vše

s=serial('COM7');
set(s, 'Baudrate', 9600);
set(s, 'Parity', 'none');
set(s, 'Databits', 8);
set(s, 'Stopbit', 1);
set(s, 'Terminator', 'CR');
fopen(s);

i = fscanf(s, '%s');
disp(i);
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 09:18

Re: ARduino Uno - Matlab - HC 05

Příspěvek od AlesH »

Pokud Ti opravdu ten program funguje "přes kabel", tak mi připadá pravděpodobné, že je něco špatně "hardwarově" u toho bluetooth modulu HC-05 (buď v samotném modulu, nebo v "drátech" směrem k němu). Proto bych pro začátek zkusil místo Matlabu použít jakýkoliv "terminál" schopný fungovat přes bluetooth (nevím, jestli ten Matlab běží na nějakém PC s Windows, nebo s Linuxem, nebo na něčem jiném). Další možností je zkusit nějaký "bluetooth terminál" na libovolném smartphonu (s Androidem). Teprve pokud to v tom standardním "terminálu" bude fungovat, má smysl se případně zabývat úpravou programu v Matlabu. Pokud to ani v "terminálu" nebude přenášet to "ahoj", tak bych obrátil pozornost k "hardware" (zapojení).
F123456

Re: ARduino Uno - Matlab - HC 05

Příspěvek od F123456 »

Právě, když posílám data do arduina, tak mi to funguje, tak jsem si nemyslel, že by mohl být problém v zapojení, ale rozhodně vyzkouším jiný terminál a i si zkusím pohrát se zapojením
Odpovědět