Conexión Arduino para despliegue de paracaídas (cohetería experimental)

Componentes: 

-Arduino Nano o Mini
-Módulo Bluetooth (HC-05 o HC-06)
-Servomotor
-Cables finos
-Una batería de 3.7 o más volts (hasta 20v)
-App Arduino Controller

Configuración:

Para configurar la app (Arduino Controller), se debe tener en cuenta que el comando "1" es interpretado por el arduino como el momento para activar el servo y así poder conectarle el mecanismo de eyección, esto tiene un retraso de 0,5 segundos. El comando "2" es el encargado de desplegar el paracaídas, que en este caso, demora 5 segundos en activarse, debido a que es el tiempo que mi cohete demora en llegar a su apogeo. Para modificar este valor, se debe multiplicar los segundos por 1000, ya que debe estar en milisegundos. Ej: Si demora 8 segundos en llegar al apogeo, el valor sería 8000.



Al encender el arduino, se comenzará a emitir la señal bluetooth, la cual será detectada por el móvil. Le pedirá un pin, por lo que deberán escribir "1234". Una vez conectados, entran a la aplicación y la configuran a gusto, teniendo en cuenta los comandos "1" y "2". 


















Código:



/**
 * @expediente        Cómo controlar un servomotor con un módulo Bluetooth, Arduino y Android con el fin de activar el mecanismo de eyección de un paracaídas
 * @descripción       Este es un esquema de Arduino para controlar el servomotor SG90 con el módulo Bluetooth HC-05 y la aplicación Arduino Bluetooth Controller
 */

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

SoftwareSerial mySerial(10, 11); // RX | TX

Servo servo;

int servoPin = 9;
int servoAngle = 0;   //Posición del servo en grados

char command;

void setup() {
   Serial.begin(9600);
   mySerial.begin(9600);
   Serial.println("Estás conectado a través de Bluetooth");
   servo.attach(servoPin);
 }


void loop() {
  if (mySerial.available())
   {
    command=(mySerial.read());
    if (command=='1')
    {
      Serial.println("Servomotor a 10 grados"); //Aquí se prepara para conectar el mecanismo
      servo.write(10);         
      delay(5000); //Tiempo de activación 5 segundos, esto depende de lo que tarda en llegar al apogeo

    }

    else if (command=='2')
    {
      Serial.println("Servomotor a 90 grados"); //Aquí se activa el mecanismo y se eyecta el paracaídas
      servo.write(90);         
      delay(500); //Tiempo 0,5 segundos
    }

  }

}

Comentarios

Entradas populares