Proyecto - Puerta Garaje

Buenas a todos, soy nuevo en esto de Arduino y me gustaría que me ayudaseis en mi proyecto.
Mi proyecto consiste en una puerta de garaje mediante Bluetooth y lo único que he conseguido es que el servo gire para que la cuerda que tiene puesta la puerta se enrolle y suba.
He intentado hacer que la puerta suba mediante bluetooth, pero algo de la programación o de la APK esta mal estructurada.
A parte de todo esto, quiero ponerle un final de carrera (switch) para que cuando la puerta suba tengo un tope y el servo (motor) se pare.

PD: También quiero ponerle una pantalla, pero esto mas bien es secundario... Lo otro es primordial.

Aquí dejo unas imágenes de mi puerta de garaje, programación Arduino y APK.





Espero vuestra ayuda!!
Gracias.

no se ve el codigo

Lee las normas para saber como se inserta códigos.

Perdonar mi torpeza, aquí os dejo el código:

#include <Servo.h> 
 
Servo myservo;  // Cremos el objeto de servo
 
const int speed0 = 90; // valor en el que el servo se mantiene quieto (es posible que haga falta variarlo un poco)
int i; // iterador


boolean motor_activo = false;

void setup() 
{ 
  myservo.attach(8);  // attaches the servo on pin 9 to the servo object 

} 
 
 
void loop() 

{ 
  for(i = 0; i < 180; i++) // vamos desde velocidad 0 hasta velocidad 180 (maximo)
  { 
    myservo.write(speed0 + i);
    delay(15); 
  } 
  
  myservo.write(speed0);
  delay(1000);

}

Lo que quiero conseguir ahora es que el servo gire mediante bluetooth (aplicacion apk).
Gracias.

BT es como trabajar con el puerto serie, asi que escribe una rutina que use el puerto Serie para enviarle los mismos comandos que luego enviarás por BT.
Luego que funcione, modificas el puerto serie usando el que estará conectado al BT y solucionado.

Los ejemplos de comunicaciones del IDE son un buen punto de partida para lograr lo que buscas.
Puedes usar el MONITOR SERIE para enviarle comandos a tu Arduino y ver si son bien interpretados.
Todos estos pasos son mas faciles de conseguir que conectar el BT e intentar hacer lo mismo.

surbyte:
BT es como trabajar con el puerto serie, asi que escribe una rutina que use el puerto Serie para enviarle los mismos comandos que luego enviarás por BT.
Luego que funcione, modificas el puerto serie usando el que estará conectado al BT y solucionado.

Los ejemplos de comunicaciones del IDE son un buen punto de partida para lograr lo que buscas.
Puedes usar el MONITOR SERIE para enviarle comandos a tu Arduino y ver si son bien interpretados.
Todos estos pasos son mas faciles de conseguir que conectar el BT e intentar hacer lo mismo.

Y como puede hacer eso? Llevo muy poco tiempo en este mundo (tengo que aprender si o si jajaja).
Esto ha sido lo nuevo que le he metido al código, pero cuando lo conecto todo el servo gira automáticamente... Como puedo decirle al servo que no gire hasta que no reciba dicha señal?

#include <Servo.h> 
 
Servo miservo;  // Cremos el objeto de servo
 
const int speed0 = 90; // valor en el que el servo se mantiene quieto (es posible que haga falta variarlo un poco)
int i = 0;// incremento del servo (iterador)
int estado = 1; 

void setup() 
{ 
  Serial.begin(9600); // Abrimos serie y asignamos una velocidad 9600 baudios
  miservo.attach(8);  // asignamos un pin al servo 
} 
 
void loop() {
if (Serial.available()>1); // Consultamos el estado del puerto serie 
{ 
  estado=Serial.read(); // Lee el estado y realizada la siguientes funciones
}
if (estado=='a'); // Si el estado recibe una a (subir puerta)
  {
  for(i = 0; i < 90; i++) // vamos desde velocidad 0 hasta 90 (maximo)
  { 
    miservo.write(estado);
    delay(100);
 } 
  }
}

Has las cosas por etapas. No pongas todo junto. Ve comprendiendo el programa y cumpliendo etapas.
SI no sabes, hay mucha documentación, tutoriales en Youtube en Documentación. Míralos, estúdialos, apréndelos y luego retoma tu proyecto.

surbyte:
Has las cosas por etapas. No pongas todo junto. Ve comprendiendo el programa y cumpliendo etapas.
SI no sabes, hay mucha documentación, tutoriales en Youtube en Documentación. Míralos, estúdialos, apréndelos y luego retoma tu proyecto.

Ya he estado visualizado vídeos, documentación, etc... pero el problema es que todos lo hacen con "Slider" y yo lo tengo que hacer con botones (aplicacion android), y la programación cambia bastante.
A parte, mi servo no se queda quieto en ningún momento y no se como hacer que se quede parado hasta que yo no le envié dicha orden.

Nathael:
A parte, mi servo no se queda quieto en ningún momento y no se como hacer que se quede parado hasta que yo no le envié dicha orden.

Podrías intentar mover todo lo que tienes en el loco y dejarlo dentro de una función activarMotor. Y en el loop compruebas que te llegue la señal Bluetooth que quieres, y cuando te llegue invocas a la funcion activarMotor.

jerearaujo03:
Podrías intentar mover todo lo que tienes en el loco y dejarlo dentro de una función activarMotor. Y en el loop compruebas que te llegue la señal Bluetooth que quieres, y cuando te llegue invocas a la funcion activarMotor.

Como puedo hacer eso jerearuajo03?
Gracias.