Scusate ma sarebbe possibile passare al setup dello sketch i valori di default da impostare aziché passare tramite comandi seriali? (sono ancora in attesa del modulo bt quindi non posso ancora effettuare test)
In questo modo si otterrebbe un preset all'avvio con le ns. impostazioni personalizzate.
Allego l'Esempio che sto scrivendo:
#include <SoftwareSerial.h>
// ###########################################
// Programma di configurazione Bluetooth stack
// ###########################################
// pin ricezione n 2 sul modulo bt
const int rxPin = 2; //con resistenza 2k2
// pin trasmissione n 1 sul modulo bt
const int txPin = 3; //nessuna resistenza necessaria
// pin configurazione n pio11 su modulo bt
const int atPin = 4; //con resistenza 2k2
// pin arduino led integrato
const int connPin = 13;
// attivo la trasmissione e ricezione seriale
SoftwareSerial bluetooth(rxPin,txPin);
void setup() {
// wait 2 second for inizialize
delay (2000);
// inizializzo la seriale
Serial.begin(9600);
// inizializzo Bluetooth SoftwareSerial port
bluetooth.begin(9600);
// attivo la configurazione del modulo bt
pinMode(connPin, OUTPUT);
pinMode(atPin,OUTPUT);
Serial.println("Seriali attive...");
digitalWrite(atPin,HIGH);
// imposto la baudrate di default
digitalWrite(connPin, HIGH);
bluetooth.write("AT+BAUD4");
digitalWrite(connPin, LOW);
// 1----1200bps
// 2----2400bps
// 3----4800bps
// 4----9600bps // consigliata per HC-03-04
// 5----19200bps
// 6----38400bps // consigliata per HC-05-06
// 7----57600bps
// 8----115200bps
// 9----230400bps
// A----460800bps
// B----921600bps
// C----1382400bps
// imposto nome device bluetooth di default
digitalWrite(connPin, HIGH);
bluetooth.write("AT+NAMEArduinoBluetooth");
digitalWrite(connPin, LOW);
// imposto password bluetooth di default
digitalWrite(connPin, HIGH);
bluetooth.write("AT+PIN0000");
// bluetooth.write("AT+PSWD0000");
digitalWrite(connPin, LOW);
// imposto modalità master o slave
digitalWrite(connPin, HIGH);
bluetooth.write("AT+ROLE1"); // 0=slave(default) / 1=master / 2 Slave-Loop
digitalWrite(connPin, LOW);
// imposto abbinamento fisso master/slave (binding)
//digitalWrite(connPin, HIGH);
//bluetooth.write("AT+CMODE=1"); //connect to everyone
//bluetooth.write("AT+CMODE=0"); //connect only to slave
//bluetooth.write("AT+BIND=11,3,252002"); // set mac address dello slave
//digitalWrite(connPin, LOW);
//clean pairing list
digitalWrite(connPin, HIGH);
bluetooth.write("AT+RMAAD");
digitalWrite(connPin, LOW);
}
void loop() {
if (bluetooth.available() > 0) {
digitalWrite(connPin, HIGH);
Serial.write(bluetooth.read());
digitalWrite(connPin, LOW);
}
if(Serial.available() > 0) {
digitalWrite(connPin, HIGH);
bluetooth.write(Serial.read());
digitalWrite(connPin, LOW);
}
}
Ciao a tutti
Luca