Como utilizar un controlador L298N con cambio de polaridad por Bluetooth.

Hola comunidad!

He estado intentando hacer un coche controlado por bluetooth con una aplicación
que he creado en app inventor 2. I la verdad no se que puede estar mal…

Lo que necesito saber es como poder hacer que enviandole un caracter desde la aplicacion al arduino haga un cambio de polaridad o no.

Por ahora he estado haciendo esto:

Con la aplicación:

Slider 1 es para el control de un servomotor (cosa que me va sin problemas pero un pelin más adelante hablaré de el)

Slider 2 es el problema
tiene un rango de 0 a 200 donde 100 es el motor parado, 0 maxima velocidad hacia atras y 200 maxima velocidad hacia adelante.

yo creo que el problema no está en la aplicación pero por si acaso lo dejo.

Donde yo creo que tengo el problema es aqui:

#include <SoftwareSerial.h>
  
  int pin5 = 5;
  int pin6 = 6;
  char DATO = 0;
  SoftwareSerial BT(10,11); //RX, TX
  
  void setup() {
  BT.begin(9600);
  pinMode(pin5, OUTPUT);
  pinMode(pin6, OUTPUT);
  }
 
void loop() 
{
  if (BT.available())
    {    
    DATO = BT.read();
       if ( DATO == "valpos ")
        {
        digitalWrite(pin6, LOW);
        int valor = BT.read();
        valor = map(valor, 0, 100, 0, 255);
        analogWrite(pin5, valor);
        delay(10);
        }
  
        if ( DATO == "valneg ")
        {
        digitalWrite(pin5,LOW);
        int valor = BT.read();
        valor = map(valor, 0, -100, 0, 255);
        analogWrite(pin6, valor);
        delay(10);
        }
        if ( DATO == "val0" )
        {
        digitalWrite(pin6, LOW);
        analogWrite(pin5, 0);
        }
    }
}

Aqui os dejo la foto del cicuito:

Y si os soy sincero no se donde está el fallo. Segun mi lógica está bien formulado. Pero como es evidente segun a logica de arduino no es así.

Luego, el codigo del servomotor me funciona bien por si solo. Pero despues de hacer funcionar el codigo de los motores me gustaría combinar los dos codigos.

El codigo del servo es este:

#include <SoftwareSerial.h> 
 
#include <Servo.h> 
Servo myservo; 
 
int bluetoothTx = 11; 
int bluetoothRx = 10; 
char letra;
SoftwareSerial bluetooth(bluetoothRx, bluetoothTx);
 
void setup()
{
  myservo.attach(3); 
  Serial.begin(9600);
  bluetooth.begin(9600);
}
 
void loop()
{
  if(bluetooth.available()> 0 ) 
  {
    int servopos = bluetooth.read(); 
    delay(10);
    Serial.println(servopos); 
    delay(10);
    myservo.write(servopos  ); 

  }
}

Y se supone que cuando se junten los dos codigos quedaría así:

#include <Servo.h>
#include <SoftwareSerial.h>

Servo servo;
SoftwareSerial BT(10,11); //Rx,Tx

int mot1 = 5;
int mot2 = 6;
int DATO = 0;
char letra;

void setup() {
  BT.begin(9600);
  pinMode(mot1, OUTPUT);
  pinMode(mot2, OUTPUT);
  servo.attach(3); 

}


void loop() {
  
if (BT.available())
    {    
    
DATO = BT.read();
      
 if ( DATO == "valpos ")
        {
        digitalWrite(mot2, LOW);
        int valor = BT.read();
        valor = map(valor, 100, 200, 0, 255);
        analogWrite(mot1, valor);
        delay(10);
        }
  
        
if ( DATO == "valneg ")
        {
        digitalWrite(mot1,LOW);
        int valor = BT.read();
        valor = map(valor, 0, 100, 0, 255);
        analogWrite(mot2, valor);
        delay(10);
        }
        
if ( DATO == "val0" )
        {
        digitalWrite(mot2, LOW);
        analogWrite(mot1, 0);
        }
       
 if ( DATO == "servo" )
        {
          int servopos = BT.read(); 
          delay(10);
          servo.write(servopos  );
        }
    } 

}

no se poque no se me ponen las fotos como debería he seguido los pasos de SURBYTE para hacerlo y siguen sin ponerse, he añadido la imagen en adjunto y luego he copiado la url en insertar imagen.

no se ... porfavor ayuda para los dos problemas.

Mira la extension que tiene tu imagen, no todas son soportadas en el foro, por ejemplo la jpeg no la soporta tiene que ser jpg o png etc,

Las dos son PNG

no deben superar 2MB

Aqui está la primera foto

primera

Aqui la segunda

segunda

No se ve nada. Las imagenes debes ser adjuntadas primero y luego tomas el enlace de imagen que se genere para hacerlas visibles con [img]url de la imagen[/img]