SoftwareSerial vs Serial per bluetooth HC-05? problemi compatibilità con Servo


salve tutti,
sto tentando di far funzionare il mio bluetooth hc-05 utilizzando pin rx e tx su un arduino uno ma senza successo.
sono già riuscito far funzionare il modulo attraverso un softwareserial (utilizzando pin 7 e 8 ), ma lo stesso codice, con le dovute modifiche, non funziona con pin 1 e 0. ho già tentato di invertire cavi ed risolvere il problema in altri modi ma non c'è stato niente da fare. ho bisogno di utilizzare tx e rx perchè la libreria softwareserial mi crea interferenze con la libreria servo, che dovrei utilizzare insieme al bluetooth.

il codice funzionante dell'esempio che ho utilizzato con il softwareserial:
code: [select]
#include <softwareserial.h>

softwareserial bluetoothserial = softwareserial(7, 8); // rx, tx

char data;
const int key=11;

int ledpin=13;

void setup() {
  pinmode(key, output);//setto il pin key del bluetooth
  digitalwrite(key,high);//setto la chiave del bluetooth

  bluetoothserial.begin(9600);
  bluetoothserial.println("premi 1 o 0:");
  pinmode(ledpin,output);
}

void loop() {
   if (bluetoothserial.available()){
    data=bluetoothserial.read();
    bluetoothserial.println(data);
   if(data=='1'){   
   digitalwrite(ledpin,1);
   bluetoothserial.println("acceso ");
   }
  if (data=='0'){
  digitalwrite(ledpin,0);
   bluetoothserial.println("spento ");
  }
}
delay(100);
}


il codice non funzionante dell'esempio che ho utilizzato senza il softwareserial:
code: [select]
char data;
const int key=11;

int ledpin=13;

void setup() {
  pinmode(key, output);//setto il pin key del bluetooth
  digitalwrite(key,high);//setto la chiave del bluetooth
  // put setup code here, run once:
  serial.begin(9600);
  serial.println("premi 1 o 0");
  pinmode(ledpin,output);
}

void loop() {
   if (serial.available()){
    data=serial.read();
    serial.println(data);
   if(data=='1'){ 
   digitalwrite(ledpin,1);
   serial.println("acceso ");
   }
  if (data=='0'){
  digitalwrite(ledpin,0);
   serial.println("spento");
  }
}
delay(100);



grazie mille tutti in anticipo!

purtroppo, nel 95% dei casi, il modulo hc-05 sulla vera seriale (pin 0 e 1) non funziona e sei obbligato ad usare la softwareserial.

ora ... se ti va in conflitto con la libreria servo ... cambia pin di rx e tx ... tanto li puoi usare, seconda della board, quasi tutti. guarda nel reference della softwareserial per sapere quali usare in funzione della scheda che hai.

considera che la softwareserial non usa timers, ma usa il pinchageint ... quindi ... potrebbe dare fastidio alla porta su cui la usi. cerca di mettere pin rx e tx su una porta che non è la stessa dove sono collegati servo.

per identificare le porte guarda il file allegato ... pb, pc e pd identificano gruppi di pin sulla stessa porta.

guglielmo


Arduino Forum > International > Italiano > Hardware (Moderator: leo72) > SoftwareSerial vs Serial per bluetooth HC-05? problemi compatibilità con Servo


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support