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
Publicar un comentario