Turinys:
- 1 žingsnis: ko jums reikės
- 2 žingsnis: radijo valdymas
- 3 žingsnis: fuzualas ir stabilizatoriai
- 4 žingsnis: sparnai
- 5 žingsnis: Sujunkite viską
Video: Rc lėktuvo sukūrimas naudojant 2 „Arduino“: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Lėktuvo gamyba yra įdomus iššūkis. Tai tampa ypač sudėtinga, kai vietoj išankstinio valdymo valdiklio ir imtuvo naudojate arduino.
Šioje pamokoje aš jums parodysiu, kaip sukūriau radijo bangomis valdomą lėktuvą su dviem arduino.
1 žingsnis: ko jums reikės
Jums reikės:
- Variklis be šepetėlių
- Esc varikliui
- 2 servai
- 1 arduino uno
- 1 arduino nano
- Sraigtas
- 2 nrf24l01 moduliai
- 2 10uf kondensatoriai
- Putų lenta
- potenciometras
- vairasvirtės modulis
- 3 amperų 7,2 voltų niMH baterija
2 žingsnis: radijo valdymas
Lėktuvui valdyti naudoju nrf24l01. Šio modulio nuotolis yra 1 km. Galite pamatyti, kaip prijungti nrf24l01 aukščiau pateiktoje schemoje. Taip pat turite lituoti kondensatorių tarp žemės ir 3,3 volto, kad sumažintumėte galimus įtampos kritimus.
Kitas žingsnis yra gauti įvestį iš valdiklio. Aš naudoju vairasvirtę vairo ir lifto valdikliams, o potenciometrą - variklio valdymui. Jūs turite prijungti potenciometrą prie kaiščio A0, aš prijungiau vairasvirtę prie A1 ir A2 kaiščių.
Dabar turime pagaminti imtuvą. Imtuvui naudojau arduino nano, nes jis yra mažesnis. Prie šio „Adruino“taip pat turite prijungti nrf24l01. Po to prie arduino reikia prijungti servos ir esc (variklio elektroninis greičio reguliatorius). Aš prijungiau prie servo prie D4 ir D5 kaiščių, esc buvo prijungtas prie D9 kaiščio.
Šį kodą naudojau siųstuvui:
#įtraukti #įtraukti #įtraukti
Radijas RF24 (7, 8);
const baitų adresas [6] = "00001";
void setup () {
radio.begin (); radio.openWritingPipe (adresas); 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); Eilutė str = Styga (-os); str += '|' + Eilutė (x) + '|' + Eilutė (y); Serial.println (str); const char tekstas [20]; str.toCharArray (tekstas, 20); Serial.println (tekstas); radio.write (& tekstas, dydis (tekstas)); vėlavimas (10);
}
ir čia yra imtuvo kodas:
#įtraukimas #įtraukimas #įtraukimas #įtraukimas
Servo esc;
Servo sx; Servo sy; Radijas RF24 (7, 8);
const baitų adresas [6] = "00001";
void setup () {
// įdėkite čia savo sąrankos kodą, kad paleistumėte vieną kartą: radio.begin (); radio.openReadingPipe (0, adresas); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc. priedas (9); sx.attach (4); sy.attach (5); esc.writeMikrosekundės (1000); // inicijuoti signalą iki 1000 radijo.startListening (); Serial.begin (9600); }
void loop () {
char tekstas [32] = ""; if (radio.available ()) {radio.read (& text, sizeof (text)); Styga transData = Styga (tekstas); //Serial.println(getValue(transData, '|', 1));
int s = getValue (transData, '|', 0). toInt ();
s = žemėlapis (s, 0, 1023, 1000, 2000); // kartografavimas val iki minimumo ir maksimumo (jei reikia, pakeiskite) Serial.println (transData); esc.writeMikrosekundės; // naudojant val kaip signalą į esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2). toInt ();
sx.write (žemėlapis (sxVal, 0, 1023, 0, 180));
sy.write (žemėlapis (syVal, 0, 1023, 0, 180));
}
}
Styga „getValue“(eilutės duomenys, simbolių skyriklis, int indeksas)
{int rasta = 0; int strIndex = {0, -1}; int maxIndex = data.length ()-1;
for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == separator || i == maxIndex) {rasta ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i+1: i; }}
grąžinimas rastas> indeksas? data.substring (strIndex [0], strIndex [1]): "";
}
3 žingsnis: fuzualas ir stabilizatoriai
Dabar, kai jau turite elektroniką, jums reikia lėktuvo, kad galėtumėte įdėti elektroniką. Aš naudoju putų plokštę, nes ji yra lengva ir gana tvirta. Fusualge yra tik stačiakampis, kuris plonėja link uodegos. Sujungimas nėra toks svarbus aerodinamikai. Svarbiausia, kad viskas tilptų, tuo pačiu išlaikant kuo mažesnį ir lengvesnį.
Horizontalus ir vertikalus stabilizatorius yra lengvai pagamintas. Svarbu tik tai, kad jūsų stabilizatoriai yra visiškai tiesūs. Stabilizatoriai yra atsakingi už tai, kad lėktuvas būtų stabilus. Kai jūsų stabilizatoriai nėra tiesūs, jūsų lėktuvas bus nestabilus.
4 žingsnis: sparnai
Sparnai tikriausiai yra svarbiausias dalykas, jums reikia sukurti sklendę, kad būtų sukurtas pakėlimas. Aukščiau esančioje nuotraukoje galite pamatyti, kaip aš padariau savo aerodromą.
Svarbiausia, kad lėktuvo svorio centras būtų aplink aukščiausią aerodinaminio sluoksnio tašką. tokiu būdu lėktuvas bus stabilus.
5 žingsnis: Sujunkite viską
Dabar, kai visos dalys jau padarytos, turime viską sujungti.
Servo reikia prijungti prie stabilizatorių. tai galima padaryti naudojant valdymo strypus (žr. paveikslėlį aukščiau)
Variklį reikia uždėti ant putplasčio gabalo ir priklijuoti prieš plokštumą (arba naudokite elestines juostas, kad prireikus galėtumėte jį pašalinti).
variklį reikia uždėti sraigtu, šio sraigto dydis priklauso nuo variklio. Apskaičiuoti optimalų dydį yra labai sudėtinga. Tačiau bendra taisyklė yra ta, kad kuo stipresnis variklis, tuo didesnis gali būti sraigtas.
Baterijoms rekomenduojama naudoti lipo baterijas. tačiau šioms baterijoms reikia specialaus įkroviklio, jei nenorite, kad jos sprogtų. Štai kodėl aš naudoju nimh baterijas, jos yra sunkesnės, tačiau lengviau ir pigiau naudojamos.
Rekomenduojamas:
LEGO lėktuvo paleidimo priemonė: 7 žingsniai
LEGO lėktuvo paleidimo priemonė: Sveiki! Tai popierinis lėktuvo paleidimo įrenginys, kurio kūrimui ir išsiaiškinimui aš praleidau nemažai laiko. To tikrai nereikia, bet aš tiesiog manau, kad dėvint jis atrodo taip šauniai. Atminkite, kad šis projektas gali būti
„DashCam“sukūrimas naudojant „Raspberry Pi Zero“(1 p.): 3 žingsniai
„DashCam“kūrimas naudojant „Raspberry Pi Zero“(1 p.): Tai yra naujos serijos pradžia, kurioje mes mokomės sukurti prietaisų kamerą naudojant „Raspberry Pi Zero“. Šis projektas iš tikrųjų yra nuolatinis vaizdo įrašymo įrenginys ir gali būti naudojamas kitoms programoms, įskaitant laukinės gamtos stebėjimą. 1 dalyje mes sprendžiame
Alternatyvaus MIDI valdiklio sukūrimas naudojant „Makey-Makey“ir vandenį: 6 žingsniai
Alternatyvaus MIDI valdiklio sukūrimas naudojant „Makey-Makey“ir vandenį: „Makey-Makey“naudojimas kuriant pasirinktinius ir kūrybiškus įvestis yra neįtikėtinai lengvas! Nors daugelis aparatūrą naudojančių žmonių sukuria savo instrumentą naudodami „Makey-Makey“įvestis garsams ar natoms sukelti, nusprendėme, kad galime padaryti dar daugiau
Kaip: atsitiktinių slaptažodžių generatoriaus sukūrimas naudojant „Python“: 8 žingsniai
Kaip: atsitiktinių slaptažodžių generatoriaus sukūrimas naudojant „Python“: Šioje pamokoje sužinosite, kaip sukurti atsitiktinį slaptažodžių generatorių naudojant „python“, atlikdami kelis paprastus veiksmus
„Ajax“svetainės sukūrimas naudojant asinchroninę prisijungimo formą: 6 žingsniai (su nuotraukomis)
„Ajax“svetainės sukūrimas naudojant asinchroninę prisijungimo formą: Problema: „Spider“įrankiai neleidžia autentifikuoti AJAX. Ši instrukcija parodys, kaip prisijungti naudojant AJAX formą naudojant „Python“ir modulį, pavadintą „Mechanize“. Vorai yra žiniatinklio automatizavimo programos, kurios tampa vis populiaresnės