Problema collegamento due schede arduino tramite bluetooth

Buongiorno, entrando nell'At-mode, non riesco ad accoppiare un hc 05 collegato ad una scheda arduino uno assieme ad un hc 06 collegato ad un arduino mega. Se inserisco il comando AT+pair = 1f00 ( il codice dell' hc 06 restituitomi con il comando AT+inq) , mi restituisce l' errore ERROR: (0). Non capisco come mai il codice 1f00 venga accettato nel comando AT+bind e non in questo come guida stavo utilizzando questolink.

Ti allego il set dei comandi AT ed il formato delle varie risposte … magari ti è utile per capire se sbagli qualche paramentro … ::slight_smile:

Guglielmo

HC-05 AT Commamd.pdf (83.7 KB)

Allora sono riuscito a risolvere il problema del collegamento tra i due hc 05. Adesso si collegano perfettamente(lampeggiano come quando dovrebbero essere collegati) Il problema è che non riesco a fare lo sketch per far comunicare un qualsiasi dato dal primo al secondo. Potresti illuminarmi?

Intanto NON collegarli alle vere seriali di Arduino, ma usa la SoftwareSerial definendo, ad esempio, pin 10 come RX e pin 11 come TX.

Poi ricordati di incrociare i segnali di TX e RX :

TX HC-05 → RX SoftwareSerial
RX HC-05 ← TX SoftwareSerial
GND HC-05 <-> GND Arduino

ed infine usa questo programmino che è ampiamente collaudato:

#include <SoftwareSerial.h>

#define  SS_RX 10            // RX PIN to receive  data
#define  SS_TX 11            // TX PIN to transmit data

SoftwareSerial ssSerial(SS_RX, SS_TX);

void setup()
{
  delay (500);
  //
  Serial.begin(9600);        // Initialize USB Serial port
  ssSerial.begin(9600);      // Initialize SoftwareSerial port
  //
  Serial.println("--- Ports ready ---");
  Serial.println("");
}

void loop()
{
  if (ssSerial.available() > 0) Serial.write(ssSerial.read());
  if (Serial.available() > 0) ssSerial.write(Serial.read());
}

… scrivendo sul monitor seriale del primo Arduino vedi uscire i caratteri sul monitor seriale del secondo Arduino e viceversa.

Ovviamente dei avere due PC con due monitor seriali aperti oppure usare due USB diverse e un programma di emulazione terminale che può essere lanciato più vlte una su una porta e una sull’altra.

Guglielmo

Quali programmi mi consiglieresti come emulatore terminale con queste caratteristiche?

Posso consigliarti poco visto che lavoro sotto macOS ... prova a vedere se CoolTerm (ottimo e gratuito) te lo permette sotto Win. Sotto macOS c'è, praticamente sempre, la possibilità di lanciare più istanze dello stesso programma ...

Guglielmo

Edit: Vedo che è possibile fare una cosa simile anche sotto Win ... QUI

otto_arduino: Quali programmi mi consiglieresti come emulatore terminale con queste caratteristiche?

Io uso il classico (e gratuito) Putty, che oltre ad ssh può fare da terminale seriale.

docdoc: Io uso il classico (e gratuito) Putty, che oltre ad ssh può fare da terminale seriale.

Il vantaggio di CoolTerm è ... che è multipiattaforma ... Win, macOS, Linux e ... io lavoro sotto macOS ;)

Guglielmo