SoftwareSerial en Arduino UNO

Alguien sabe porque cuando utilizo la librería SoftwareSerial en Arduino UNO esta no me funciona, no recibo ningún dato.
Estoy utilizando un modulo BlueTooth HC-05 y la APP BlueTooth Serial Control para enviar el carácter 1 para poder encender un Led Rojo, 2 para apagarlo, 3 para encender un Led verde y 4 para apagarlo.
Los datos los debería de recibir del modulo por el pin 10, pero no funciona, no consigo encender ningún Led.
¿Alguna idea?, ¿ como podría comprobar que recibo datos ?
Gracias.

#include <SoftwareSerial.h>

SoftwareSerial miBT(10, 11);
char DATO = 0;
int LEDROJO= 2;
int LEDVERDE= 3;
void setup(){
  miBT.begin(38400);
  pinMode (LEDROJO, OUTPUT);
  pinMode (LEDVERDE, OUTPUT);
}
void loop(){
if (miBT.available()){
  DATO = miBT.read ();
  if (DATO == '1')
  digitalWrite (LEDROJO, HIGH);
  
  if (DATO == '2');
  digitalWrite (LEDROJO, LOW);

  if (DATO == '3');
  digitalWrite (LEDVERDE, HIGH);

  if (DATO == '4');
  digitalWrite (LEDVERDE, LOW);
  

Hi,
Yo lo haria haciendo un print despues que leas la variable DATO en cada if . Asis sabra si estas reciebiendo data del bluetooth.

¿Seguro que el HC-05 está seteado a 38400?

Solucionado, código mal escrito, he puesto PUNTO Y COMA después de if (DATO == ); (ERROR)

 if (DATO == '2');
  digitalWrite (LEDROJO, LOW);

  if (DATO == '3');
  digitalWrite (LEDVERDE, HIGH);

  if (DATO == '4');
  digitalWrite (LEDVERDE, LOW);
  

TAURO0221=
He añadido un print y además de encender y apagar los LED lo puedo ver en monitor serie

#include <SoftwareSerial.h>

SoftwareSerial miBT(10, 11);
char DATO = 0;
int LEDROJO= 2;
int LEDVERDE= 3;
void setup(){
  Serial.begin(9600);
  miBT.begin(38400);
  pinMode (LEDROJO, OUTPUT);
  pinMode (LEDVERDE, OUTPUT);
}
void loop(){
if (miBT.available()){
  DATO = miBT.read ();
  
  Serial.print( DATO);
  
  if ( DATO == '1')
  digitalWrite (LEDROJO, HIGH);
  
  if ( DATO == '2')
  digitalWrite (LEDROJO, LOW);

  if ( DATO == '3')
  digitalWrite (LEDVERDE, HIGH);

  if ( DATO == '4')
  digitalWrite (LEDVERDE, LOW);
}
}

Gracias a los dos por vuestra ayuda.

Si, tengo el modulo configurado a 38400 baudios


Gracias.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.