Sisällysluettelo:

Rc -tason luominen kahdella Arduinolla: 5 vaihetta
Rc -tason luominen kahdella Arduinolla: 5 vaihetta

Video: Rc -tason luominen kahdella Arduinolla: 5 vaihetta

Video: Rc -tason luominen kahdella Arduinolla: 5 vaihetta
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Heinäkuu
Anonim
Rc -koneen luominen 2 Arduinon kanssa
Rc -koneen luominen 2 Arduinon kanssa

Lentokoneen tekeminen on hauska haaste. Se tulee erityisen haastavaksi, kun käytät arduino -laitteita esivalmistetun ohjaimen ja vastaanottimen sijaan.

Tässä opetusohjelmassa näytän sinulle, miten tein radio -ohjatun lentokoneen kahden arduinon kanssa.

Vaihe 1: Mitä tarvitset

Tarvitset:

- Harjaton moottori

- Esc moottorille

- 2 servoa

- 1 arduino uno

- 1 arduino nano

- Potkuri

- 2 nrf24l01 moduulia

- 2 10uf kondensaattoria

- Vaahtolevyä

- Potentiometri

- Joystick -moduuli

- 3 ampeerin 7,2 voltin niMH -akku

Vaihe 2: Radio -ohjaimet

Radio -ohjaimet
Radio -ohjaimet
Radio -ohjaimet
Radio -ohjaimet

Käytin koneen ohjaamiseen nrf24l01. Tämän moduulin kantama on 1 km. Näet kuinka liittää nrf24l01 yllä olevassa kaaviossa. Sinun on myös juotettava kondensaattori maan ja 3,3 voltin väliin mahdollisten jännitehäviöiden varalta.

Seuraava askel on saada syöttö ohjaimesta. Käytin ohjaussauvaa peräsimen ja hissin ohjaimiin ja potentiometriä moottorin ohjaukseen. Sinun on kytkettävä potentiometri nastaan A0, minä liitin ohjaussauvan nastoihin A1 ja A2.

Nyt meidän on tehtävä vastaanotin. Käytin vastaanottimessa arduino nanoa, koska se on pienempi. Sinun on myös yhdistettävä nrf24l01 tähän Adruinoon. Tämän jälkeen sinun on kytkettävä servot ja esc (moottorin elektroninen nopeudensäädin) arduinoon. Yhdistin servoihin nastoihin D4 ja D5, esc oli kytketty nastaan D9.

Tätä koodia käytin lähettimessä:

#Sisällytä #Sisällytä #Sisällytä

RF24 -radio (7, 8);

vakio tavuosoite [6] = "00001";

void setup () {

radio.begin (); radio.openWritingPipe (osoite); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Sarja.alku (9600); }

void loop () {

int s = analoginenLue (0); int x = analoginenLue (1); int y = analoginenLue (2); String str = Jono (t); str += '|' + Jono (x) + '|' + Merkkijono (y); Sarja.println (str); const char teksti [20]; str.toCharArray (teksti, 20); Sarja.println (teksti); radio.write (& teksti, koko (teksti)); viive (10);

}

ja tässä on vastaanottimen koodi:

#Sisällytä #Sisällytä #Sisällytä #Sisällytä

Servo esc;

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

vakio tavuosoite [6] = "00001";

void setup () {

// laita asennuskoodi tähän, jotta se suoritetaan kerran: radio.begin (); radio.openReadingPipe (0, osoite); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc. kiinnitys (9); sx.kiinnitys (4); sy.kiinnitys (5); esc.writeMikrosekuntia (1000); // alustetaan signaali 1000 radioon.startListening (); Sarja.alku (9600); }

void loop () {

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

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

s = kartta (s, 0, 1023, 1000, 2000); // kartoitus val minimiin ja maksimiin (Muuta tarvittaessa) Serial.println (transData); esc.writeMikrosekuntia; // käyttämällä val -signaalia esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2). toInt ();

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

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

}

}

Jono getValue (merkkijonotiedot, merkkien erotin, int -indeksi)

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

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

palautus löytyi> hakemisto? data.substring (strIndex [0], strIndex [1]): "";

}

Vaihe 3: Fusualage ja stabilisaattorit

Fusualage ja stabilisaattorit
Fusualage ja stabilisaattorit

Nyt kun olet saanut elektroniikkasi valmiiksi, tarvitset koneen elektroniikan sijoittamiseen. Käytin vaahtolevyä, koska se on kevyt ja suhteellisen vahva. Fusualge on vain suorakaide, joka ohenee häntä kohti. Fusualge ei ole kovin tärkeä aerodynamiikan kannalta. Tärkeintä on, että kaikki mahtuu siihen samalla kun se pitää mahdollisimman pienenä ja kevyenä.

Vaaka- ja pystysuora tukijalka on helppo valmistaa. Ainoa tärkeä asia on, että stabalisaattorisi ovat täysin suoria. Pysäyttäjät ovat vastuussa koneen pitämisestä vakaana. Kun tukipilarit eivät ole suoria, koneesi on epävakaa.

Vaihe 4: Siivet

Siivet
Siivet

Siivet ovat todennäköisesti tärkein asia, sinun on luotava ilmakansi hissin luomiseksi. Yllä olevassa kuvassa näet kuinka tein ilmakangasni.

Tärkeintä on, että koneen painopiste on kantopinnan korkeimman pisteen ympärillä. tällöin kone pysyy vakaana.

Vaihe 5: Yhdistä kaikki

Kaikkien asioiden yhdistäminen
Kaikkien asioiden yhdistäminen
Kaikkien asioiden yhdistäminen
Kaikkien asioiden yhdistäminen
Kaikkien asioiden yhdistäminen
Kaikkien asioiden yhdistäminen

Nyt kun kaikki osat on tehty, meidän on koottava kaikki yhteen.

Servo on kytkettävä vakaimiin. tämä voidaan tehdä ohjaussauvilla (katso kuva yllä)

Moottori on asetettava vaahtopalan päälle ja liimattu koneen eteen (tai käytä sähköisiä nauhoja, jotta voit poistaa sen tarvittaessa).

tarvitset potkurin moottorin asettamiseen, tämän potkurin koko riippuu moottorista. On erittäin monimutkaista laskea optimaalinen koko. Mutta yleinen sääntö on, että mitä vahvempi moottori, sitä isompi potkuri voi olla.

Akussa on suositeltavaa käyttää lipoparistoja. Nämä akut tarvitsevat kuitenkin erikoislaturin, jos et halua niiden räjähtävän. Siksi käytin nimh -akkuja, ne ovat raskaampia, mutta helpompia ja halvempia käyttää.

Suositeltava: