Índice:

Criando um plano Rc com 2 Arduino: 5 etapas
Criando um plano Rc com 2 Arduino: 5 etapas

Vídeo: Criando um plano Rc com 2 Arduino: 5 etapas

Vídeo: Criando um plano Rc com 2 Arduino: 5 etapas
Vídeo: Fabricando um robô inseto com arduino Formato 2 - Projetos Insanos #05 2024, Julho
Anonim
Criando um Plano Rc com 2 Arduino's
Criando um Plano Rc com 2 Arduino's

Fazer um avião é um desafio divertido. Torna-se especialmente desafiador quando você usa o arduino em vez de um controlador e receptor pré-construídos.

Neste tutorial, mostrarei como fiz para fazer um avião controlado por rádio com dois arduino.

Etapa 1: O que você precisa

Você vai precisar de:

- Um motor sem escova

- Um esc para o motor

- 2 servos

- 1 arduino uno

- 1 arduino nano

- Uma hélice

- 2 módulos nrf24l01

- 2 capacitores de 10 uF

- Placa de espuma

- Um potenciômetro

- Um módulo de joystick

- Uma bateria NiMH de 3 A 7,2 volts

Etapa 2: os controles de rádio

Os controles de rádio
Os controles de rádio
Os controles de rádio
Os controles de rádio

Usei um nrf24l01 para controlar o avião. Este módulo possui um alcance de 1 km. Você pode ver como conectar o nrf24l01 no esquema mostrado acima. Você também precisa soldar o capacitor entre o aterramento e os 3,3 volts para detectar possíveis quedas de tensão.

A próxima etapa é obter a entrada de seu controlador. Usei um joystick para os controles do leme e do elevador e um potenciômetro para o controle do motor. Você tem que conectar o potenciômetro no pino A0, eu conectei o joystick no pino A1 e A2.

Agora precisamos fazer o receptor. Usei um arduino nano para o receptor porque é menor. Você também deve conectar o nrf24l01 a este adruino. Depois disso, você precisa conectar os servos e o esc (controlador eletrônico de velocidade do motor) ao arduino. Liguei o servo ao pino D4 e D5, o ESC foi conectado ao pino D9.

Este é o código que usei para o transmissor:

#include #include #include

Rádio RF24 (7, 8);

endereço de byte const [6] = "00001";

void setup () {

radio.begin (); radio.openWritingPipe (endereço); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Serial.begin (9600); }

void loop () {

int s = analogRead (0); int x = analogRead (1); int y = analogRead (2); String str = String (s); str + = '|' + String (x) + '|' + String (y); Serial.println (str); const char text [20]; str.toCharArray (texto, 20); Serial.println (texto); radio.write (& text, sizeof (text)); atraso (10);

}

e aqui está o código para o receptor:

#include #include #include #include

Servo esc;

Servo sx; Servo sy; Rádio RF24 (7, 8);

endereço de byte const [6] = "00001";

void setup () {

// coloque seu código de configuração aqui, para executar uma vez: radio.begin (); radio.openReadingPipe (0, endereço); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx.attach (4); sy.attach (5); esc.writeMicroseconds (1000); // inicializa o sinal para 1000 radio.startListening (); Serial.begin (9600); }

void loop () {

texto char [32] = ""; if (radio.available ()) {radio.read (& text, sizeof (text)); String transData = String (texto); //Serial.println(getValue(transData, '|', 1));

int s = getValue (transData, '|', 0).toInt ();

s = mapa (s, 0, 1023, 1000, 2000); // mapeando val para mínimo e máximo (alterar se necessário) Serial.println (transData); esc.writeMicrosegundos (s); // usando val como o sinal para esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2).toInt ();

sx.write (map (sxVal, 0, 1023, 0, 180));

sy.write (map (syVal, 0, 1023, 0, 180));

}

}

String getValue (dados de string, separador de caracteres, índice interno)

{int encontrado = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;

for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == separador || i == maxIndex) {found ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i + 1: i; }}

retorno encontrado> índice? data.substring (strIndex [0], strIndex [1]): "";

}

Etapa 3: Fusualage e Stabalizers

The Fusualage and Stabalizers
The Fusualage and Stabalizers

Agora que você configurou seus componentes eletrônicos, precisa de um avião para colocá-los. Usei foamboard porque é leve e relativamente forte. O fusualge é apenas um retângulo que fica mais fino em direção à cauda. O fusualge não é tão importante para a aerodinâmica. O mais importante é que tudo caiba nele, mantendo-o o mais pequeno e leve possível.

O estabilizador horizontal e vertical são extremamente fáceis de fazer. A única coisa importante é que seus estabalizadores estejam perfeitamente retos. Os estabilizadores são responsáveis por manter o avião estável. Quando seus estabilizadores não estiverem retos, seu avião ficará instável.

Etapa 4: As Asas

As asas
As asas

As asas são provavelmente a coisa mais importante, você precisa criar um aerofólio para gerar sustentação. Na foto acima você pode ver como fiz meu aerofólio.

O mais importante é que o centro de gravidade do avião esteja em torno do ponto mais alto do aerofólio. assim o avião ficará estável.

Etapa 5: juntando tudo

Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo

Agora que todas as partes foram concluídas, precisamos colocar tudo junto.

O servo precisa ser conectado aos estabilizadores. isso pode ser feito com hastes de controle (veja a imagem acima)

O motor precisa ser colocado em um pedaço de espuma e colado na frente do avião (ou use faixas elásticas para poder retirá-lo quando precisar).

você precisa de uma hélice para colocar o motor, o tamanho dessa hélice depende do motor. É muito complicado calcular o tamanho ideal. Mas uma regra geral é que quanto mais forte o motor, maior pode ser a hélice.

Para a bateria é recomendado o uso de baterias lipo. entretanto, essas baterias precisam de um carregador especial se você não quiser que explodam. É por isso que usei baterias nimh, elas são mais pesadas, mas mais fáceis e baratas de usar.

Recomendado: