Índice:
- Etapa 1: Conectando o ESP8266 ao Ponto de Acesso Ar Drone 2.0
- Etapa 2: Comunicação com AR. Drone é executado usando comandos AT
- Etapa 3: conectar o visor Nokia 5110 à placa ESP8266
- Etapa 4: Obter dados de navegação e exibi-los na tela do Nokia5110
- Etapa 5: Envio de comandos de decolagem e pouso
- Etapa 6: Conectando o MPU6050 para controlar o Ardrone 2.0
- Etapa 7: Controle do Quadcopter usando MPU6050
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O tamanho, preço e disponibilidade de Wi-Fi permitem que você faça uma unidade de controle de orçamento para o quadrocopter ArDrone 2.0 no módulo ESP8266 (preços no AliExpress, Gearbest). Para controle, usaremos o Módulo Gy-521 no chip MPU6050 (giroscópio, acelerômetro).
O Parrot AR. Drone é um quadrocóptero controlado por rádio, ou seja, um helicóptero com quatro rotores principais colocados em vigas diagonais remotas. O ar. O próprio Drone é executado no sistema operacional Linux e quase qualquer smartphone ou tablet com tela de toque Android ou iOS pode atuar como um controle remoto para o quadricóptero. A distância de controle estável por Wi-Fi é de 25 a 100 metros e depende do quarto e das condições meteorológicas, se os voos ocorrerem na rua.
Etapa 1: Conectando o ESP8266 ao Ponto de Acesso Ar Drone 2.0
Quando ativado, AR. Drone cria um ponto de acesso SSIS "ardrone_XX_XX". Conectando sem uma senha.
Vamos tentar conectar ao ponto de acesso Ar. Dron usando comandos AT Conecte a placa ESP8266 à porta de comunicação do computador por meio da fonte de alimentação do adaptador UART USB 3.3 V.
Abra o IDE do Arduino, o monitor da porta serial, e envie comandos AT para a placa ESP (o quadcopter deve estar ativado)
Etapa 2: Comunicação com AR. Drone é executado usando comandos AT
Os comandos são enviados para AR. Drone como pacotes UDP ou TCP;
Um único pacote UDP deve conter pelo menos um comando completo ou mais; Se o pacote contém mais de um comando, o caractere 0x0A é usado para separar os comandos.
Strings são codificados como caracteres ASCII de 8 bits;
O comprimento máximo do comando é de 1024 caracteres;
Há um atraso de 30 MS entre os comandos.
O comando consiste em
AT * [nome do comando] = [número da sequência de comando como uma string] [, argumento 1, argumento 2 …]
Lista dos principais comandos AT para controlar o AR. Drone:
AT * REF - usado para decolagem, pouso, reset e parada de emergência;
AT * PCMD - este comando é usado para controlar o AR. Movimento do drone;
AT * FTRIM - no plano horizontal;
AT * CONFIG-configurando AR. Parâmetros do drone;
AT * define animações de LED em AR. Drone;
AT * Animação de vôo de instalação do ANIM no AR. Drone.
AT * COMWDG - comando de reset do watchdog - nós o enviamos constantemente para o quadcopter.
As seguintes portas são usadas para comunicação:
Porta 5556-UDP - enviando comandos para AR. Drone;
Porta 5554-UDP que recebe pacotes de dados do AR. Drone;
Pacotes de vídeo de fluxo da porta 5555-Reply do AR. Drone;
Pacotes da porta 5559-TCP para dados críticos que não podem ser perdidos, geralmente para configuração.
O cliente se desconecta da porta UDP após um atraso de 2 segundos após o envio do último comando !!! - portanto, você deve enviar comandos constantemente, se necessário-AT * COMWDG.
Considere obter dados de navegação do ARDrone (Porta 5554-UDP). O pacote de dados de navegação no modo de demonstração tem 500 bytes de comprimento. Se algo der errado, o drone pode enviar um pacote de 32 e 24 bytes. Se o pacote tiver 24 bytes, isso significa que a porta 5554 está no modo BOOTSTRAP e você precisa se reconectar à porta para alternar para o modo Demo. O ARDrone pode transmitir dados de navegação ao cliente de duas formas:
abreviado (ou demo), 500 bytes de tamanho. completo.
Para obter dados de demonstração, primeiro envie quatro bytes 0x01, 0x00, 0x00, 0x00 para a porta 5554 e, em seguida, envie um comando para a porta 5556
AT * CONFIG = "+ (seq ++) +", / "general: navdata_demo \", / "TRUE \" onde seq é o número sequencial do comando.
Estrutura do pacote de dados de navegação. Existem 4 valores nomeados no início do pacote:
Cabeçalho do pacote de 32 bits: sinalizadores de status do helicóptero de 32 bits;
o número de seqüência do último comando enviado ao helicóptero pelo cliente 32 bits;
visão sinalizador de 32 bits. Em seguida, a opção Navdata Header: 20-23.
A opção navdata possui os seguintes campos:
BATERIA = 24; carga da bateria em porcentagem;
PITCH = 28; ângulo de inclinação ao longo do eixo longitudinal;
ROLL = 32; ângulo de inclinação em relação ao eixo transversal;
YAW = 36; ângulo de rotação em relação ao eixo vertical;
ALTITUDE = 40; altura;
VX = 44; velocidade do eixo x;
VY = 48; velocidade do eixo y;
VZ = 52; velocidade no eixo z.
Etapa 3: conectar o visor Nokia 5110 à placa ESP8266
Conecte o visor Nokia 5110 ao módulo ESP8266 e envie alguns dados de navegação para ele e para o monitor da porta serial
Etapa 4: Obter dados de navegação e exibi-los na tela do Nokia5110
Baixe (sketch ardrone_esp8266_01. Ino), e observe a saída dos dados de navegação para a porta serial e a tela do display.
Etapa 5: Envio de comandos de decolagem e pouso
Agora vamos adicionar ao nosso projeto a decolagem e pouso do quadricóptero com comandos do controle remoto. Para decolar, você precisa enviar um comando
AT * REF = [número de sequência], 290718208
Para pouso
AT * REF = [número de sequência], 290717696
Antes da decolagem, deve-se enviar um comando de calibração horizontal, caso contrário o Ar Drone não conseguirá se estabilizar durante o vôo.
AT * F TRIM = [número de sequência]
Carregue o sketch ardrone_esp8266_02.ino () para a placa ESP8266, ligue o Ar Drone 2.0 quadcopter e verifique a operação do botão. Quando você clica na decolagem, na próxima vez que você clicar - pousando, etc.
Etapa 6: Conectando o MPU6050 para controlar o Ardrone 2.0
Sensores para determinar a posição no espaço são usados para controlar quadrocópteros. O chip MPU6050 contém um acelerômetro e um giroscópio a bordo, bem como um sensor de temperatura. o MPU6050 é o elemento principal do módulo Gy-531 (Fig. 15.44). Além desse chip, a placa do módulo contém a ligação MPU6050 necessária, incluindo resistores pull-up da interface I2C, bem como um estabilizador de tensão de 3,3 volts com uma pequena queda de tensão (quando alimentado a 3,3 volts, a saída do estabilizador será de exatamente 3 volts) com capacitores de filtro.
Conectando-se ao microcontrolador usando o protocolo I2C.
Etapa 7: Controle do Quadcopter usando MPU6050
Usar o acelerômetro e o giroscópio permite determinar o desvio nos eixos xey, e o desvio "transformar" em comandos para mover o quadricóptero ao longo dos eixos correspondentes. Tradução das leituras recebidas do sensor para o ângulo de deflexão.
o Comando para enviar ao Ar Drone para controle de vôo
AT * REF = [número de sequência], [campo de bits da bandeira], [Roll], [Pitch], [Gaz], [Yaw]
Os valores de Roll e Pitch no intervalo de -1 a 1 são retirados da tabela const int float , o índice corresponde ao ângulo de desvio calculado a partir dos dados do sensor mu6050.
Faça o upload do esboço ardrone_esp8266_03.ino para a placa ESP8266, ligue o quadrocopter ar Drone 2.0 e verifique o funcionamento do controle remoto.