Programar servo con Bluetooh

Hola, soy muy nuevo en esto de arduino y tengo como proyecto hacer un auto controlado por bluetooh, estoy usando el Arduino UNO, HC-05 y L298N, ya programe el motor de traccion donde cuando mando la letra F desde el telefono conectado al bluetooh el motor avance y asi, el gran problema lo tengo cuando quiero programar el servo SG92R para poder controlar la direccion.

Queria saber si ustedes me pueden ayudar a como hacer el codigo, me gustaria que el servo se encuentre en el punto medio sin mandarle ningun dato y al mandar la letra D que el servo gire todo a la derecha y al dejar de mandarle esa letra vuelva a su posicion normal y lo mismo hacia la izquierda.
Estuve mirando muchos videos en youtube tutoriales de todo y no puedo hacerlo andar me estoy rompiendo la cabeza jajaja. Si pudieran ayudarme se los agradeceria mucho ya que estoy muy enganchado con este tema.
Al conectar el servomotor a +5V y GND se mueve por un segundo y deja de hacerlo nose si esto es normal de todos los servos o se corrige con el codigo.

Muchas gracias.

La forma de hacer el código es la misma que si usaras solo el puerto serie y con el monitor Serie le envias comandos.
Una vez que resuelvas eso incorporas el HC-05 y trabajas en la comunicacón Android - Arduino como si fuera el monitor Serie.

Si buscas hay mucha información para hacer la 1ra parte.

Me diste mucha ayuda como seguir, ya tengo el codigo y manejo el servo perfectamente desde el monitor serie, el problema es cuando lo uno al codigo que ya tengo hecho y que muevo los motores por bluetooh, ya que no me funciona ninguno de los dos es decir no puedo mover ni el servo ni los motores, adjunto ambos codigos y si me pudieran ayudar a unirlos me re ayudarian, lo uni un monton de veces y no puedo hacerlos andar
Codigo para mover el servo desde monitor serie

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

Servo myservo;

int pos = 0;
int a;


void setup() {
 Serial.begin(9600);
 myservo.attach(6);
}

char cadena[24];
byte contador=0;
int valor = 0;
void loop(){






 for(a; a<1; a++){
   Serial.print(90);
 }  


 if(Serial.available()){
   memset(cadena, 0, sizeof(cadena));




   while (Serial.available()>0){
     delay(5);
     cadena[contador]=Serial.read();
     contador++;

   }
   valor=atoi(cadena); 
   valor = min(valor, 180);     
   valor = max(valor, 0);          
   Serial.print(valor);               
   Serial.println(" grados");
   myservo.write(valor);           
   a=0;                                    
   contador=0;


   delay(100);     
 }
}

este es el codigo con bluetooh y para controlar el motor

#include <SoftwareSerial.h>
SoftwareSerial BT(10,11);


// Motor B
int ENB = 5;
int IN3 = 3;
int IN4 = 2;

void setup(){
  Direccion.attach(9);
  Serial.begin(9600);
  BT.begin(9600) ;
  // Declaramos todos los pines como salidas
  pinMode (ENB, OUTPUT);
  pinMode (IN3, OUTPUT);
  pinMode (IN4, OUTPUT);
}

void loop(){
 if (BT.available())
    switch (BT.read())
    {
      case 'F':
        Adelante();
        break;
      case 'B':
        Atras();
        break;
      case 'S':
        Parar();
        break;
    }
}

void Adelante ()
{
  //Direccion motor B
  digitalWrite (IN3, LOW);
  digitalWrite (IN4, HIGH);
}

void Atras ()
{
  //Direccion motor B
  digitalWrite (IN3, HIGH);
  digitalWrite (IN4, LOW);
}

void Parar ()
{
  //Direccion motor B
  digitalWrite (IN3, LOW);
  digitalWrite (IN4, LOW);
}

Como no puedes unir esos dos códigos y "supuestamente" programaste las dos cosas?
Es mas justo decir que copiaste y pegaste ambos códigos y que estas perdido ahora con la unión.
Porque unir es simplemente respetar

  1. librerías
  2. variables globales
  3. setup
  4. loop
  5. rutinas y funciones necesarias para el loop

Siguiendo esta guía simple nada te puede detener.

Ahhh y no uses delay porque eso si detiene todo y lo que funciona bien en un sketch aislado puede no servir en el sketch final.

Como no hay delay() no tendrás problemas.

Sigue mi recomendación y podrás avanzar.

disculpa la demora en contestar no tenia tiempo para seguir, si copie y pegue los codigos y los edite un poco para ajustarlo a mi necesidad no me di cuenta de aclararlo.
Viendo varios codigos en internet y recolectando un poco de cada codigo pude hacer uno que me funcione tal y como yo quiero.
El problema lo tengo al usar la app Bluetooth RC Controller, cuando conecto la app al bluetooh del arduino el Servo empieza a hacer movimientos muy cortos hacia un lado y hacia el otro como si estuviese conectando y desconectando el servo, cuando abri el monitor serie para ver que comando me enviaba cuando pasa eso la app manda constantemente un comando cuando esta sin interaccion osea cuando no estoy usando ese control, quisiera saber como puedo hacer para que el servo no tenga esa inestabilidad.
Cuando yo lo monte al proyecto no me va a modificar mucho pero el tema es que no se me rompa el servo.
Ya busque una banda de Apps pero ninguna me sirve como yo lo quiero, e intente hacer una con AppInventor pero no permite el multitouch lo cual no me sirve.
Les adjunto el codigo por si hay algo que me este produciendo esto.

#include <Servo.h>
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(11,10); //Rx, Tx method signature
Servo myServo;

int IN3 = 13;
int IN4 = 12;

void setup() {
bluetooth.begin(9600); 
Serial.begin(57600);
myServo.attach(9, 544, 2400); 
  pinMode (IN3, OUTPUT);
  pinMode (IN4, OUTPUT);
}
void loop() {
if(bluetooth.available()>0) {
char c = (char)bluetooth.read();
bluetooth.println(c);
if(c=='l') { 
myServo.write(544); 
}
if(c=='r') { 
myServo.write(2400);
}
if(c=='0') { 
myServo.write(1472);
}
if(c=='f') { 
 digitalWrite (IN3, LOW);
  digitalWrite (IN4, HIGH);
}
if(c=='b') { 
 digitalWrite (IN3, HIGH);
  digitalWrite (IN4, LOW);
}
if(c=='0') { 
 digitalWrite (IN3, LOW);
  digitalWrite (IN4, LOW);
}
}
}

Muchas gracias