INHOUDSOPGAWE:

Skep 'n RC -vliegtuig met 2 Arduino's: 5 stappe
Skep 'n RC -vliegtuig met 2 Arduino's: 5 stappe

Video: Skep 'n RC -vliegtuig met 2 Arduino's: 5 stappe

Video: Skep 'n RC -vliegtuig met 2 Arduino's: 5 stappe
Video: Hard disk motor op arduino 2024, November
Anonim
Skep 'n RC -vliegtuig met 2 Arduino's
Skep 'n RC -vliegtuig met 2 Arduino's

Om 'n vliegtuig te maak, is 'n prettige uitdaging. Dit word veral uitdagend as u arduino's gebruik in plaas van 'n voorgeboude beheerder en ontvanger.

In hierdie tutorail sal ek jou wys hoe ek te werk gegaan het om 'n radiobeheerde vliegtuig met twee arduino's te maak.

Stap 1: wat u benodig

Jy sal nodig hê:

- 'n Borsellose motor

- 'n Esc vir die motor

- 2 servo's

- 1 arduino een

- 1 arduino nano

- 'n skroef

- 2 nrf24l01 modules

- 2 10uf kapasitors

- Skuim bord

- 'n Potensiometer

- 'n joystick -module

- 'n 3 amp 7,2 volt niMH -battery

Stap 2: Die radiokontroles

Die radiokontroles
Die radiokontroles
Die radiokontroles
Die radiokontroles

Ek het 'n nrf24l01 gebruik om die vliegtuig te beheer. Hierdie module het 'n reikafstand van 1 km. U kan sien hoe u die nrf24l01 kan koppel in die skema hierbo. U moet ook die kondensator tussen die grond en die 3.3 volt soldeer om moontlike spanningsvalle te bepaal.

Die volgende stap is om insette van u beheerder te kry. Ek gebruik 'n joystick vir die roer- en hysbakbedienings en 'n potensiometer vir die motorbeheer. U moet die potensiometer aan pin A0 koppel, ek het die joystick aan pin A1 en A2 gekoppel.

Nou moet ons die ontvanger maak. Ek het 'n arduino nano vir die ontvanger gebruik omdat dit kleiner is. U moet die nrf24l01 ook aan hierdie adruino koppel. Daarna moet u die servo's en die esc (elektroniese snelheidsbeheerder vir die motor) aan die arduino koppel. Ek het aan servo's gekoppel aan pin D4 en D5, die esc is aan pin D9 gekoppel.

Dit is die kode wat ek vir die sender gebruik het:

#include #include #include

RF24 radio (7, 8);

const byte adres [6] = "00001";

ongeldige opstelling () {

radio.begin (); radio.openWritingPipe (adres); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Serial.begin (9600); }

leemte -lus () {

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

}

en hier is die kode vir die ontvanger:

#include #include #include #include

Servo esc;

Servo sx; Servo sy; RF24 radio (7, 8);

const byte adres [6] = "00001";

ongeldige opstelling () {

// sit u opstellingskode hier om een keer te werk: radio.begin (); radio.openReadingPipe (0, adres); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx.aanheg (4); sy.attach (5); esc.writeMicroseconds (1000); // initialiseer die sein na 1000 radio.startListening (); Serial.begin (9600); }

leemte -lus () {

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

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

s = kaart (s, 0, 1023, 1000, 2000); // kartering tot minimum en maksimum (verander indien nodig) Serial.println (transData); esc.writeMicroseconds (s); // deur val te gebruik as die sein om esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2).toInt ();

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

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

}

}

String getValue (String data, char separator, int index)

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

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

opgawe gevind> indeks? data.substring (strIndex [0], strIndex [1]): "";

}

Stap 3: The Fusualage en Stabalizers

Die Fusualage en Stabalizers
Die Fusualage en Stabalizers

Noudat u u elektronika opgestel het, benodig u 'n vliegtuig om die elektronika in te sit. Ek het skuimplaat gebruik omdat dit lig en relatief sterk is. Die romp is net 'n reghoek wat dunner word na die stert. Die fusualge is nie so belangrik vir aerodinamika nie. Die belangrikste ding is dat alles daarin pas, terwyl dit ook so klein en lig as moontlik bly.

Die horisontale en vertikale stabiliseerder is baie maklik om te maak. Die enigste belangrike ding is dat u stabiliseerders heeltemal reguit is. Die stabilisators is daarvoor verantwoordelik om die vliegtuig stabiel te hou. As u stabiliseerders nie reguit is nie, sal u vliegtuig onstabiel wees.

Stap 4: The Wings

Die Vlerke
Die Vlerke

Die vlerke is waarskynlik die belangrikste ding; u moet 'n vliegblad skep om 'n hysbak te genereer. Op die foto hierbo kan u sien hoe ek my vliegtuig gemaak het.

Die belangrikste ding is dat die swaartepunt van die vliegtuig rondom die hoogste punt van die vliegblad is. op hierdie manier sal die vliegtuig stabiel wees.

Stap 5: Alles saamvoeg

Alles saamvoeg
Alles saamvoeg
Alles saamvoeg
Alles saamvoeg
Alles saamvoeg
Alles saamvoeg

Noudat ons alle dele klaar het, moet ons alles bymekaar sit.

Die servo moet aan die stablaizers gekoppel word. dit kan met bedieningsstawe gedoen word (sien foto hierbo)

Die motor moet op 'n stuk skuim gesit word en voor die vliegtuig vasgeplak word (of gebruik elastiese bande sodat u dit kan verwyder wanneer dit nodig is).

u benodig 'n skroef om die motor aan te trek; die grootte van hierdie skroef hang af van die motor. Dit is baie ingewikkeld om die optimale grootte te bereken. Maar 'n algemene reël is dat hoe sterker die motor, hoe groter die skroef kan wees.

Vir die battery word dit aanbeveel om lipo -batterye te gebruik. Hierdie batterye benodig egter 'n spesiale laaier as u nie wil hê hulle moet ontplof nie. Daarom het ek nimh batterye gebruik; dit is swaarder, maar makliker en goedkoper om te gebruik.

Aanbeveel: