Aiuto con wt11 Bluetooth e arduino 2009

Ciao a tutti!

Di recente, ho comprato due moduli wt11 della bluegiga e vorrei usarli sulle mie due board arduino duemilanove in modo da farle comunicare tramite bluetooth.

Per ora, ho cercato di montare il primo modulo wt11 sull’arduino, ma non ho ottenuto grandi risultati.
Ho effettuato i collegamenti:
wt11 GND (pin 1, 15, 16, 28) → Arduino GND
wt11 VDD (pin 2, 16) → Arduino 3,3V
wt11 RXD (pin 0) → TX Arduino
wt11 TXD (pin 1) → RX Arduino
wt11 RES(pin 17) → pin 11 Arduino
come sono anche indicati nel pdf:

Il datasheet nel wt11 è il seguente:
http://techforum.bluegiga.com/protectedstore/29142/7643/127/bluegiga_769/27de3b7163f18d5baa697fbadb5bf2f1/WT11_datasheet.pdf

e lo schema dei pin è questo:

Credo di aver collegato tutto giusto, solo che così come sta, a meno che io non mi sbagli, dovrei riuscire a vedere la presenza del modulo da un altro dispositivo bluetooth come ad esempio dal mio Imac o dal mio eepc, ma invece non vedo niente!

Inoltre, ho provato ad usare questo codice:

#include <NewSoftSerial.h>
NewSoftSerial mySerial(0, 1);

int resetpin = 11;

unsigned long now;

void setup()
{
Serial.begin(115200);
Serial.println(“Goodnight moon!”);

// set the data rate for the NewSoftSerial port
mySerial.begin(115200);

pinMode(resetpin, OUTPUT);

digitalWrite(resetpin, LOW);
delay(200);
digitalWrite(resetpin, HIGH);
delay(200);
digitalWrite(resetpin, LOW);
delay(200);

now = millis();
}

void loop() // run over and over again
{

if (mySerial.available()) {
Serial.print((char)mySerial.read());
}

mySerial.println(“SET BT NAME PROVA”);

// if (Serial.available()) {
// mySerial.print((char)Serial.read());
// }

if (millis() - now > 10000){
mySerial.println(“INQUIRY 6”);
}
}

ma non riesco a leggere niente da serial monitor.
Ho pensato che magari ricevesse lo stesso qualcosa e quindi ho provato a cambiargli il nome giusto per vedere se poi lo rilevavo con altri dispositivi, ma nulla!
Se gli mando dei comandi tramite il serial monitor come ad esempio AT non mi dice nulla.

Mi date qualche consiglio per favore?
Non riesco a venirne a capo!
Secondo me, anche senza caricare nulla ed alimentandolo soltanto dovrei riuscire a vederlo col bluetooth del mio iMAC ma invece non rilevo nulla!

Spero mi possiate aiutare.

Vi ringrazio!

marcus, come prima cosa ti dico che non stai usando correttamente la NewSoftSerial.

#include <NewSoftSerial.h>
NewSoftSerial mySerial(0, 1);

Sostanzialmente, stai inizializzando mySerial sui pin 0 RX e 1 TX di Arduino, che sono i pin standard della comunicazione seriale.

Prova ad istanziare mySerial perchè usi pin diversi (es 2 e 3).
In questo modo puoi usare la comunicazione seriale sia per il serial monitor, che per il modulo bt.

ti ringrazio enormemente per la risposta!

Io usavo quelli perchè pensavo fossero quelli predefiniti per inviare e ricevere da dispositivi come il bluetooth, però, in effetti, non posso inviare e ricevere e leggere dalla stessa coppia di pin.

Quindi se collego RX e TX del wt11 ai pin 2 e 3 dell'arduino dovrei riuscire ad ottenere qualche info in più?

Però non capisco perchè non riesca a rilevare la presenza del modulo wt11 attraverso il mio pc ad esempio. Cioè, il wt11 non dovrebbe essere rilevabile già soltanto quando ottiene l'alimentazione?

aggiornamento: ho provato a cambiare i pin, ma non ho ottenuto alcun miglioramento perchè il wt11 continua a non essere visibile e dal serial monitor non leggo nulla :(

ciao, non conosco il wt11, sto usando dei moduli bt a basso costo e di conseguenza molto più basilari.

confermo che, almeno per i miei modulini, una volta alimentati correttamente, sono visibili da device bt master - come pc, smartphone, etc

non penso i wt11 in questo siano molto diversi, ma non ne ho attualmente certezza. sei sicuro di alimentarlo correttamente?

Infatti il mio dubbio è che abbia sbagliato i collegamenti, però sono così semplici che è difficile che mi sia confuso.

Ho collegato i quattro pin (1, 14, 15, 28) del wt11 al GND dell'arduino, ovvero al pin immediatamente a fianco a quello di 3.3V ed i due pin VDD del wt11 al pin da 3.3V dell'arduino.

Secondo me, già così dovrebbe essere visibile da un dispositivo master, a meno che io non abbia danneggiato il modulino con il calore del saldatore mentre saldavo i cavetti ai morsetti, ma non credo proprio dato che sarebbe assurdo.

Non riesco a capire se è un problema di collegamento o se è un problema di impostazione. Magari devo inviargli un comando per renderlo visibile?

So che gli altri moduli, magari anche quello che hai tu, hanno un'uscita a cui si può collegare un led per verificarne il funzionamento, ma dal datasheet non sembra che il mio abbia questa possibilità.

Ciao marcus barnet

Il WT11 consuma fino a 170mA sia in trasmissione che in ricezione. I 3,3V sul Arduino 2009 vengono prodotte dal FT232 e quello da al massimo 50mA. Metti uno stabilizzatore da 3,3V che puó dare almeno 200mA e alimenta il WT11 tramite quello. Ti funzionará. Ciao Uwe

Pensi che sia veramente dovuto a questo?

Esiste uno schema per realizzare lo stabilizzatore? Non ne ho mai visto uno purtroppo!

Se lo alimentassi con un alimentatore a circa 4V assicurandomi di avere almeno 170mA secondo te sarebbe una prova plausibile per stabilire se il wt11 funziona?

Cioè farei questa prova e poi in caso positivo potrei realizzare lo stabilizzatore. Cosa ne pensi?

Tanto credo che già solo alimentandolo dovrei riuscire a rilevarlo da un'altra periferica BT, giusto?

EDIT: aggiungo un commento al mio post precedente.
Ho sottomano un regolatore L7805CV stabilizzato a 5V, dici che potrei stabilizzarlo a 3,3V con un paio di resistenze e provare ad alimentare il wt11?

A questo punto, mettere da parte l’arduino per un momento, e proverei unicamente ad alimentarlo con lo stabilizzatore e vedere se poi è raggiungibile giusto per verificare che i collegamenti siano giusti.

Cosa ne dici?

Se lo alimentassi con un alimentatore a circa 4V assicurandomi di avere almeno 170mA secondo te sarebbe una prova plausibile per stabilire se il wt11 funziona?

rischi di romperlo il modulo bluetooth.

Ho sottomano un regolatore L7805CV stabilizzato a 5V, dici che potrei stabilizzarlo a 3,3V con un paio di resistenze e provare ad alimentare il wt11?

Un stabilzzatore da 5V stabilizza a 5V e non ci sono santi ad fargli dare un tensione piú piccola. Ci sono stabilizzatori da 3,3V oppure modulini tipo http://www.robot-italy.com/product_info.php?cPath=6_35&products_id=528 Ciao Uwe

Ti ringrazio per la dritta!

Era giusto per provare subito se funzionava o meno e poi prendere lo stabilizzatore per una soluzione più comoda.

Per quello di 5V pensavo di usare una partitore per ottenere i 3,3V che mi servivano.. ma se dici che non ha senso..

vedo di procurarmi lo stabilizzatore, sperando che sia per quello che non funziona anche se sul datasheet i 170mA li porta solo sui canali Rx e Tx, quindi al massimo non leggerei da serial monitor però in ogni caso non dovrei rilevarlo da un altro dispositivo BT?

ciao marcus barnet

Il WT11 consuma fino a 170mA sia in trasmissione che in ricezione.

Vuol dire che trasmette onde radio e riceve onde radio e per generarle e decodificarle serve quella corrente; TX e RX come collegamento seriale verso l'arduino consumano poco.

Fatti 2 calcoli sui partitori. Per avere una tensione piú o meno stabile serve una corrente attraverso il partitore che si a da 5 a 10 volte maggiore della corrente che prelievi. Percui nelle resistenze dovrebbe circolare da 1 a 2 A!!!

Se vuoi fare delle prove usa dei diodi per abbassare la tensione di 5V. Se metti 3 diodi per esempio 1n4007 arrivi a 2,9V Il modulo funziona tra 2,7 e 3,6V ( da 3,1 a 3,6V se usi l'interfaccia USB).

Ciao Uwe

ok, ti ringrazio!

Allora lunedì mi procuro i diodi o lo stabilizzatore e provo! Spero proprio che sia questo il problema per cui non riesco ad utilizzarlo.. :)

Per i modulini bt che uso (che vanno sempre a 3.3v), utilizzo un LP2950 - che però arriva a 100mA..

pitusso purtroppo per questo modulo servono 170mA,
Ciao Uwe