AR Drone 2.0 + 1Sheeld: Streaming de Dados de Voo em Tempo Real para PC
Componentes e Materiais
| Arduino Mega 2560 (×2) |
| 1Sheeld (×1) |
| AR Drone 2.0 (×1) |
| Módulos XBee (×2) |
Sobre o Projeto
Este projeto demonstra o controle e monitoramento de diversos dados de voo capturados por um smartphone e transmitidos em tempo real para o computador. Os sensores utilizados incluem acelerômetro, GPS, nível de ruído, orientação, giroscópio e mais.
A arquitetura emprega dois microcontroladores Arduino: um montado no drone e outro conectado ao PC. Dois módulos XBee estabelecem a comunicação sem fio entre o 1Sheeld (no drone) e o computador.
Uma forma divertida e acessível de aproveitar todos os recursos e sensores do smartphone, além de capturar ótimas imagens aéreas!
Código
Código Master (Receptor no PC)
Carregado no Arduino conectado ao computador, controla o Arduino no drone. Requer a biblioteca AltSoftSerial.
#include <AltSoftSerial.h>
int verifica = 0;
AltSoftSerial xBee;
char c, h, stop = 's';
void setup() {
Serial.begin(115200);
Serial.println("Master OK");
Serial.println();
Serial.println("Digite para:");
Serial.println("'o' - valor do sensor de orientação");
Serial.println("'a' - valor do sensor de aceleração");
Serial.println("'b' - valor do sensor de brilho");
Serial.println("'g' - posição GPS");
Serial.println("'m' - ruído do microfone");
Serial.println("'p' - tirar uma foto");
xBee.begin(9600);
}
void loop() {
Serial.flush();
if (Serial.available() > 0) {
c = Serial.read();
if (c == 'o' || c == 'a' || c == 'm' || c == 'g' || c == 'b' || c == 'p') {
// Cada bloco trata um sensor específico com lógica similar:
// 1. Envia comando via XBee
// 2. Loop de leitura (10 iterações)
// 3. Verifica comando de parada ('s')
// Sensores: Orientação, Aceleração, Brilho, GPS, Microfone, Foto
}
}
}
Nota: O código completo contém blocos repetitivos para cada sensor. A estrutura principal envia um caractere de comando via XBee, aguarda resposta do slave e imprime no Serial Monitor. A tecla 's' interrompe a leitura.
Código Slave (No Drone)
Carregado no Arduino montado no drone. Requer as bibliotecas AltSoftSerial e OneSheeld.
#include <OneSheeld.h>
#include <AltSoftSerial.h>
char variavel;
AltSoftSerial xBee;
char master;
int voce = 0;
void setup() {
Serial.begin(115200);
Serial.println("Slave ok");
OneSheeld.begin();
xBee.begin(9600);
}
void loop() {
receiveEvent();
requestEvent();
}
void receiveEvent() {
while (xBee.available() > 0) {
master = xBee.read();
variavel = master;
}
}
void requestEvent() {
switch (variavel) {
case 'o':
xBee.print("Eixo X: "); xBee.print(OrientationSensor.getX());
xBee.print(" Eixo Y: "); xBee.print(OrientationSensor.getY());
xBee.print(" Eixo Z: "); xBee.println(OrientationSensor.getZ());
break;
case 'a':
xBee.print("Eixo X: "); xBee.print(AccelerometerSensor.getX());
xBee.print(" Eixo Y: "); xBee.print(AccelerometerSensor.getY());
xBee.print(" Eixo Z: "); xBee.println(AccelerometerSensor.getZ());
break;
case 'g':
xBee.print("Longitude: "); xBee.print(GPS.getLongitude());
xBee.print(" Latitude: "); xBee.println(GPS.getLatitude());
break;
case 'm':
xBee.print("dB: "); xBee.println(Mic.getValue());
break;
case 'b':
xBee.print("Lumens: "); xBee.println(LightSensor.getValue());
break;
case 'p':
Camera.setFlash(ON);
Camera.rearCapture();
xBee.println("Foto tirada");
break;
// Comandos de feedback por voz (TextToSpeech)
case '1': TextToSpeech.say("análise de orientação"); break;
case '2': TextToSpeech.say("análise de aceleração"); break;
case '3': TextToSpeech.say("análise de intensidade de brilho"); break;
case '4': TextToSpeech.say("análise de posição GPS"); break;
case '5': TextToSpeech.say("análise de ruído em decibéis"); break;
case '6': TextToSpeech.say("Tirando uma foto"); break;
case '0': TextToSpeech.say("análise parada"); break;
}
variavel = 0;
}
Esquemáticos
A conexão entre Arduino e XBee é idêntica tanto para o Arduino no computador quanto para o no drone. Consulte a imagem do esquemático para detalhes de fiação.
Processo de manufatura
- A Revolução da Nuvem: Como a Computação em Nuvem Transforma TI, Segurança e Carreiras
- Evolução da Indústria Global de Corantes: Mudanças Ecológicas, Rigor Regulamentar e Inovação Tecnológica
- Drone Pi: Quadricóptero Multiwii & Raspberry Pi de Modo Duplo para Controle por Smartphone e Remoto
- Como Smartphones Estão Moldando o Futuro dos Carros Conectados
- 6 Maneiras que IA e IoT Estão Revolucionando Operações de Negócios em 2019
- Insights de Edge Computing e Estratégia de IoT do IoT World 2019
- IA Mapeia Assentamentos Informais Globais via Satélites de Baixa Resolução
- Elbit Systems: Soluções em Compósitos de Liderança para Israel e EUA
- Você Deve Revestir sua Bomba? Pesando Benefícios e Desvantagens
- Dominando a Documentação de Manutenção: Abordagem Confiável para Proteger Seus Ativos