Buenas noches, estoy usando un Arduino Mega 2560 con un HC-05 quisiera saber si hay algunos pines para conectar los puertos RX y TX del HC-05 que no sean los pines 10 y 11,ya que veo que algunas paginas dicen que se debería poder con los pines 10, 11, 12, 13, 14, 15,3 y 2 pero cuando yo lo intento no me responde el modulo .y en los tutoriales dicen lo mismo pero siempre usan los pines 10 y 11.
SoftwareSerial miBT(10,11); // pin 10 como RX, pin 11 como TX
void setup(){
Serial.begin(9600); // comunicacion de monitor serial a 9600 bps
Serial.println("Listo"); // escribe Listo en el monitor
miBT.begin(38400); // comunicacion serie entre Arduino y el modulo a 38400 bps
}
void loop(){
if (miBT.available()) // si hay informacion disponible desde modulo
Serial.write(miBT.read()); // lee Bluetooth y envia a monitor serial de Arduino
if (Serial.available()) // si hay informacion disponible desde el monitor serial
miBT.write(Serial.read()); // lee monitor serial y envia a Bluetooth
Hola este seria el codigo que uso que solo funciona cuando uso 10 y 11,por favor podrias decirme que tengo que agregar o quitar para poder usar los pines (0,1);(14,15)..........(18,19). #include <SoftwareSerial.h> // libreria que permite establecer pines digitales
// para comunicacion serie
SoftwareSerial miBT(10,11); // pin 10 como RX, pin 11 como TX
void setup(){
Serial.begin(9600); // comunicacion de monitor serial a 9600 bps
Serial.println("Listo"); // escribe Listo en el monitor
miBT.begin(38400); // comunicacion serie entre Arduino y el modulo a 38400 bps
}
void loop(){
if (miBT.available()) // si hay informacion disponible desde modulo
Serial.write(miBT.read()); // lee Bluetooth y envia a monitor serial de Arduino
if (Serial.available()) // si hay informacion disponible desde el monitor serial
miBT.write(Serial.read()); // lee monitor serial y envia a Bluetooth
@leonardanic Te dejo el código corregido para la Mega
#define miBT Serial1 // usa pines 18 y 19
// #define miBT Serial2 // usa pines 16 y 17
// #define miBT Serial3 // usa pines 14 y 15
void setup(){
Serial.begin(57600); // comunicacion de monitor serial a 57600 bps
Serial.println("Listo"); // escribe Listo en el monitor
miBT.begin(9600); // comunicacion serie con el modulo a 9600 bps por defecto
// miBT.begin(38400); // comunicacion con el modulo en modo comandos AT
}
void loop(){
if (miBT.available()) // si hay informacion disponible desde modulo
Serial.write(miBT.read()); // lee Bluetooth y envia a monitor serial de Arduino
if (Serial.available()) // si hay informacion disponible desde el monitor serial
miBT.write(Serial.read()); // lee monitor serial y envia a Bluetooth
}
Dejé preparadas las 3 posibilidades.
Si quieres usar el Serial1 lo dejas como está, si quieres el Serial2 descomentas esa línea (borras "//") y comentas la primera (con "//"), lo mismo si quieres usar Serial3.
Esta línea
#define miBT Serial1
le indica al compilador de arduino que reemplace las apariciones de "miBT" por "Serial1" al momento de compilar.
Te lo comenté en el código, por defecto el módulo se conecta a 9600 bps y salvo que tu le hayas cambiado la velocidad, solo en modo AT se conecta a 38400 bps.
Y por experiencia, pon el Serial (y la consola) a mayor velocidad que el módulo.
Saludos
PD: Por favor, no olvides editar tu post para que el código se vea como el que te he adjuntado.
Moderador:
Por favor, lee las Normas del foro y edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en </>
No hace falta que venga un moderador y te pida lo que usuarios del foro de mucho tiempo te solicitan!
Simplemente edita tus posts como te acabo de indicar.
Además usa autoformato del IDE para que el código luzca con separación y se entienda. Todo lo que tu no haces debemos hacerlo nosotros para entender lo que has querido hacer.