Problema comunicazione tra bluetooth HC-05 e altri dispositivi

Buongiorno, premetto che sono un principiante. Ho collegato il sensore temperatura e umidità DHT11 a un LCD e a excel tramite cavo USB e macro PLX-DAQ.
Ora vorrei che Arduino comunicasse con excel tramite bluetooth HC-05. Partendo dal presupposto che i collegamenti siano corretti, non riesco a far comunicare HC-05 con il pc (neanche con lo smartphone). Qualcuno può aiutarmi? Vi ringrazio

#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
#include "DHT.h"
#define DHTPIN 2
// 2 è il pin di Arduino a cui collego il sensore di temperatura
#define DHTTYPE DHT11
// dht11 è il tipo di sensore che uso

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(10, 9, 6, 5, 4, 3);
// connessione display (pin)

#define BT_TX_PIN 12
#define BT_RX_PIN 11 
//definisco pin RX e TX da Arduino verso modulo BT
SoftwareSerial bt =  SoftwareSerial(BT_RX_PIN, BT_TX_PIN);
//istanzio oggetto SoftwareSerial (il nostro futuro bluetooth)

void setup() {
lcd.begin(16, 2);
// imposto il tipo di display (colonne, righe)
lcd.print("Temperatura");
lcd.setCursor(0,1);
lcd.print("Umidita'");
Serial.begin(38400);
Serial.println("LABEL,Orario,Temperatura (C),Umidita' (%)");

dht.begin();

pinMode(BT_RX_PIN, INPUT);
pinMode(BT_TX_PIN, OUTPUT);
//definisco modalità pin
bt.begin(38400);
//inizializzo comunicazione Bluetooth

}

void loop() {
int t = dht.readTemperature();
int h = dht.readHumidity();
// posiziono il cursore alla colonna 12 e riga 0
lcd.setCursor(14, 0);
lcd.print(t);
lcd.setCursor(14, 1);
lcd.print(h);

 //se ci sono dati sul buffer della Serial
 while (Serial.available()) {
   //mandali al modulo bluetooth
   if (isnan(t) || isnan(h)) {
 bt.println("Failed to read from DHT");
} else {
  bt.print("DATA,TIME,"); bt.print(t); bt.print(","); bt.println(h);
}}

 delay(10000);

}
  1. Togli le pinMode() per i pin della SoftwareSerial, NON servono ed è la libreria che imposta i pin come servono a lei.

  2. Cosa significa che non riesci a comunicare?

... sei riuscito ad accoppiare correttamente il tuo modulo BT con il PC?

... il LED sul HC-05, quando è accoppiato, lampeggia ad una velocità differente?

... mi risulta che, di base (ovvero quando NON è in AT mode) il HC-05 lavori a 9600 e NON a 38400 (salvo tu non lo abbia modificato), perché hai messo tale velocità?

Guglielmo

Grazie Guglielmo, ho tolto le pinMode() e ho messo 9600. Il led HC-05 lampeggia a una velocità diversa quando è accoppiato.
Il problema è che non riesco a trasmettere i dati da arduino uno a pc tramite macro PLX-DAQ: voglio importare i dati in excel, tramite cavo USB su COM3 funziona.
Se mi connetto a COM 4 (il pc mi dice che è la porta bluetooth in ingresso), il led lampeggia velocemente quindi non è connesso e arduino non trasmette i dati su pc.
Viceversa, se mi connetto a COM5 (porta in uscita), il led lampeggia lentamente ed è connesso ma non trasmette i dati perchè, se ho capito bene, la trasmissione non è da arduino a pc.

Guarda, tu dovresti avere un interfaccia bluetooth sul PC che viene vista come una seriale ...
... con un emulatore di terminale, apri detta seriale, accoppia il modulo HC-05 e vedi se ti arrivano caratteri. ::slight_smile:

Se già non riesci a fare questa cosa è inutile qualsiasi altro tentativo ... prima devi verificare la trasmissione con un banale emulatore di terminale, poi puoi pensare di interfacciare una qualche altra cosa.

Guglielmo