Conectar varios dispositivos a un arduino mego por puerto serie

Buenas,

Tengo un proyecto en mente sobre un arduino mega que utiliza los pines 2 y 3 para una tft que ya viene la librería hecha y necesito conectar por puerto serie un wifi y un lector de huellas. He probado de momento con el lector de huellas conectado a los pines 13 y 14 del arduino mega que he leido que es el puerto serie3 pero no me reconoce el dispositivo. Adjunto un el trozo de codigo:

#include <SoftwareSerial.h>
SoftwareSerial mySerial3(15,14);//Sensor de huellas
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial3);

void setup(void) {
finger.begin(57600);
//Creamos un recuadro para el buffer de diagnostico
tft.fillRect(0, 0, 320, 15, BLUE);
//Inicializamos el sensor de huellas
if (finger.verifyPassword()) {
tft.setTextColor(WHITE);
tft.setTextSize(1);
tft.print("Found fingerprint sensor!");
} else {
tft.setTextColor(WHITE);
tft.setTextSize(1);
tft.print("Did not find fingerprint sensor!");
while (1)
{ delay(1); }
}

No me da error de compilación y me sube el scketch a la placa sin problema pero en la tft me sale el letrero diciendo que no ha encontrado el sensor de huella. Aun no he conectado el modulo wifi porque voy paso a paso. He probado a cambiar los cables del TX y RX para ver si era ese le problema pero me sigue sin detectar.

Una ayuda porfavor llevo 1 semana para detectar el sensor fingerprint.

He probado tanto en un arduino uno como en el mega solo con el detector de huella y conectandolo a los pines 2 y 3 me funciona perfectamente.

Gracias de antemano.

Realmente no veo donde está el problema en el código, pero si veo que estas usando la libreria SoftwareSerial en un puerto del Mega que es un puerto serie por Hardware.

Prueba a usar el puerto serie hardware:

Adafruit_Fingerprint finger = Adafruit_Fingerprint(Serial3);

void setup(void) {
  finger.begin(57600);
  //Creamos un recuadro para el buffer de diagnostico
  tft.fillRect(0, 0, 320, 15, BLUE);
  //Inicializamos el sensor de huellas
  if (finger.verifyPassword()) {
    tft.setTextColor(WHITE);
    tft.setTextSize(1);
    tft.print("Found fingerprint sensor!");
  } 
  else {
    tft.setTextColor(WHITE);
    tft.setTextSize(1);
    tft.print("Did not find fingerprint sensor!");
    while (1);
  }
}

void loop() {
  
}

Bienvenido al foro Arduino,
Por favor, edita tu post usando etiquetas para código. Aunque sea una línea debes indicarlo con etiquetas.

Lee las Normas del foro.