Índice:

Controlando Servos RC sem Fio sobre UDP: 3 etapas
Controlando Servos RC sem Fio sobre UDP: 3 etapas

Vídeo: Controlando Servos RC sem Fio sobre UDP: 3 etapas

Vídeo: Controlando Servos RC sem Fio sobre UDP: 3 etapas
Vídeo: Como funcionar um servo motor sem Arduino.... 2024, Novembro
Anonim
Image
Image
Hardware
Hardware

Neste projeto eu quero usar meu iPhone para controlar servos RC. Vou usar o acelerômetro para controlar dois servos na conexão UDP. Este é um projeto de prova de conceito para verificar se uma conexão entre um iPhone e um periférico pode atingir altas taxas de atualização (mais altas que BLE) usando UDP.

Etapa 1: Lista de peças

Hardware

  • Placa ESP8266 (Wemos D1 mini pro)
  • Dois servos RC
  • Um banco de energia USB como fonte de alimentação
  • Alguns fios de ligação
  • Um iPhone ou iPad usando iOS12
  • Um mac para construir o projeto

Programas

  • Arduino IDE com ESP8266 núcleo Arduino instalado: manual de instalação
  • Xcode 10:
  • O esboço do Arduino pode ser encontrado aqui
  • A fonte do Swift do aplicativo para iPhone está aqui

Etapa 2: Hardware

Hardware
Hardware

A configuração do hardware é muito simples. Eu uso a saída D1 (pitch) e D2 (roll) no ESP8266 para controlar os servos RC, respectivamente. A placa é alimentada por um banco de energia USB. Os servos RC são alimentados pelo pino 5v e GND da placa.

Etapa 3: Software

O aplicativo de controle para o iPhone é escrito em Swift, que se conecta à placa controladora ESP8266 sem fio e controla os servos de inclinação e rotação com base nos dados de movimento do iPhone. A placa controladora cria um ponto de acesso Wifi e escuta os pacotes UDP que contêm as informações de posição do servo como um fluxo de bytes com o seguinte formato geral:

Índice servo | Posição MSB | Posição LSB

O índice do servo é 1 para pitch ou 2 para roll. A posição do servo é calculada a partir dos graus de inclinação x, y do telefone e convertida em microssegundos entre 1000 e 2000. A taxa de atualização é de 20 milissegundos.

O aplicativo está usando o novo Network.framework para estabelecer a conexão UDP, portanto, só funciona no iOS 12 e superior.

Este é um aplicativo POC para demonstrar como é fácil usar a conexão UDP no iOS 12. Para mantê-lo simples, os pacotes UDP são enviados separadamente para pitch and roll.

Recomendado: