Innehållsförteckning:

Skapa ett Rc -plan med 2 Arduino: 5 steg
Skapa ett Rc -plan med 2 Arduino: 5 steg

Video: Skapa ett Rc -plan med 2 Arduino: 5 steg

Video: Skapa ett Rc -plan med 2 Arduino: 5 steg
Video: Умная электронная игрушка для кота, своими руками 2024, November
Anonim
Skapa ett Rc -plan med 2 Arduino
Skapa ett Rc -plan med 2 Arduino

Att göra ett flygplan är en rolig utmaning. Det blir särskilt utmanande när du använder arduino istället för en förbyggd styrenhet och mottagare.

I denna tutorail kommer jag att visa dig hur jag gick tillväga för att göra ett radiostyrt flygplan med två arduinoer.

Steg 1: Vad du behöver

Du kommer behöva:

- En borstlös motor

- En esc för motorn

- 2 servon

- 1 arduino uno

- 1 arduino nano

- En propeller

- 2 nrf24l01 moduler

- 2 10uf kondensatorer

- Skumskiva

- En potentiometer

- En joystickmodul

- Ett 3 ampere 7,2 volt niMH -batteri

Steg 2: Radiokontrollerna

Radiokontrollerna
Radiokontrollerna
Radiokontrollerna
Radiokontrollerna

Jag använde en nrf24l01 för att styra planet. Denna modul har en räckvidd på 1 km. Du kan se hur du ansluter nrf24l01 i schemat som visas ovan. Du måste också löda kondensatorn mellan marken och 3,3 volt för att upptäcka eventuella spänningsfall.

Nästa steg är att få input från din controller. Jag använde en joystick för styr- och hissreglagen och en potentiometer för motorstyrningen. Du måste ansluta potentiometern till stift A0, jag kopplade joysticken till stift A1 och A2.

Nu måste vi göra mottagaren. Jag använde en arduino nano för mottagaren eftersom den är mindre. Du måste också ansluta nrf24l01 till denna adruino. Därefter måste du ansluta servon och esc (elektronisk hastighetsregulator för motorn) till arduino. Jag kopplade till servon till pin D4 och D5, escen var ansluten till pin D9.

Detta är koden som jag använde för sändaren:

#include #include #include

RF24 -radio (7, 8);

const byte -adress [6] = "00001";

void setup () {

radio.begin (); radio.openWritingPipe (adress); 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 = Sträng (ar); str += '|' + Sträng (x) + '|' + Sträng (y); Serial.println (str); const char text [20]; str.toCharArray (text, 20); Serial.println (text); radio.write (& text, sizeof (text)); fördröjning (10);

}

och här är koden för mottagaren:

#include #include #include #include

Servo esc;

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

const byte -adress [6] = "00001";

void setup () {

// lägg din installationskod här för att köra en gång: radio.begin (); radio.openReadingPipe (0, adress); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx. fäst (4); sy.attach (5); esc.writeMicroseconds (1000); // initiera signalen till 1000 radio.startListening (); Serial.begin (9600); }

void loop () {

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 = karta (s, 0, 1023, 1000, 2000); // mapping val till minimum och maximum (Ändra vid behov) Serial.println (transData); esc.writeMicroseconds (s); // använder val som signalen för att esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2).toInt ();

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

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

}

}

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

{int hittad = 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) {found ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i+1: i; }}

återkomst hittad> index? data.substring (strIndex [0], strIndex [1]): "";

}

Steg 3: Fusualage och Stabalizers

Fusualage och Stabalizers
Fusualage och Stabalizers

Nu när du har installerat din elektronik behöver du ett plan att sätta in elektroniken i. Jag använde skumplatta eftersom den är lätt och relativt stark. Fusualgen är bara en rektangulär som blir tunnare mot svansen. Fusualen är inte så viktig för aerodynamik. Det viktigaste är att allt passar in i det samtidigt som det håller det så litet och lätt som möjligt.

Den horisontella och vertikala stabiliseraren är väldigt lätt att göra. Det enda viktiga är att dina stabilisatorer är helt raka. Stabilisatorerna ansvarar för att hålla planet stabilt. När dina stabilisatorer inte är raka blir ditt plan instabilt.

Steg 4: Vingarna

Vingarna
Vingarna

Vingarna är förmodligen det viktigaste, du måste skapa ett flygblad för att generera lyft. På bilden ovan kan du se hur jag gjorde min flygplan.

Det viktigaste är att planetens tyngdpunkt ligger runt flygplanets högsta punkt. på detta sätt kommer planet att vara stabilt.

Steg 5: Att sätta ihop allt

Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt

Nu när vi har gjort alla delar måste vi sätta ihop allt.

Servon behöver kopplas till stablaizern. detta kan göras med styrstavar (se bild ovan)

Motorn måste läggas på en skumbit och limmas framför planet (eller använd elestiska band så att du kan ta bort den när du behöver).

du behöver en propeller för att sätta på motorn, storleken på denna propeller beror på motorn. Det är väldigt komplicerat att beräkna den optimala storleken. Men en allmän regel är att ju starkare motorn är, desto större kan propellern vara.

För batteriet rekommenderas att du använder lipobatterier. dessa batterier behöver dock en speciell laddare om du inte vill att de ska explodera. Det är därför jag använde nimh -batterier, dessa är tyngre men lättare och billigare att använda.

Rekommenderad: