Innehållsförteckning:
- Steg 1: Anslutning av ESP8266 till Ar Drone 2.0 -åtkomstpunkten
- Steg 2: Kommunikation med AR. Drone utförs med AT -kommandon
- Steg 3: Anslutning av Nokia 5110 -skärmen till ESP8266 -kortet
- Steg 4: Skaffa navigeringsdata och visa dem på Nokia5110 -skärmen
- Steg 5: Skicka start- och landningskommandon
- Steg 6: Anslutning av MPU6050 till styrning av Ardrone 2.0
- Steg 7: Kontrollera Quadcopter med MPU6050
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Storleken, priset och tillgängligheten för Wi-Fi gör att du kan skapa en budgetkontrollenhet för ArDrone 2.0 quadrocopter på ESP8266-modulen (priser på AliExpress, Gearbest). För kontroll kommer vi att använda Gy-521-modulen på MPU6050-chipet (gyroskop, accelerometer).
The Parrot AR. Drone är en radiostyrd quadrocopter, det vill säga en helikopter med fyra huvudrotorer placerade på avlägsna diagonala balkar. AR. Drone körs själv på Linux-operativsystemet, och nästan alla Android- eller iOS-pekskärms-smarttelefoner eller surfplattor kan fungera som fjärrkontroll för quadcoptern. Avståndet för stabil kontroll över Wi-Fi är från 25 till 100 meter och beror på rummet och väderförhållandena, om flygningar sker på gatan.
Steg 1: Anslutning av ESP8266 till Ar Drone 2.0 -åtkomstpunkten
När den är aktiverad, AR. Drone skapar en SSIS -åtkomstpunkt "ardrone_XX_XX". Ansluter utan lösenord.
Låt oss försöka ansluta till Ar. Dron -åtkomstpunkten med AT -kommandon Anslut ESP8266 -kortet till datorns com -port via UART USB -adapter strömförsörjning 3,3 V.
Öppna Arduino IDE, seriell portmonitor och skicka AT -kommandon till ESP -kortet (quadcoptern måste vara aktiverad)
Steg 2: Kommunikation med AR. Drone utförs med AT -kommandon
Kommandon skickas till AR. Drone som UDP- eller TCP -paket;
Ett enda UDP -paket måste innehålla minst ett fullständigt kommando eller mer. Om paketet innehåller mer än ett kommando används tecknet 0x0A för att separera kommandona.
Strängar kodas som 8-bitars ASCII-tecken;
Den maximala kommandolängden är 1024 tecken;
Det finns en 30 MS fördröjning mellan kommandon.
Kommandot består av
AT * [kommandonamn] = [kommandon sekvensnummer som en sträng] [, argument 1, argument 2 …]
Lista över huvud AT -kommandon för att styra AR. Drönare:
AT * REF används för start, landning, återställning och nödstopp;
AT*PCMD-detta kommando används för att styra AR. Drönarrörelse;
AT*FTRIM - på horisontalplanet;
AT*CONFIG-konfigurerande AR. Drone parametrar;
AT*LED ställer in LED-animationer på AR. Drönare;
AT*ANIM-installation av flyganimering på AR. Drönare.
AT * COMWDG-watchdog reset command-vi skickar det ständigt till quadcopter.
Följande portar används för kommunikation:
Port 5556-UDP-kommandon till AR. Drönare;
Port 5554-UDP-mottagande datapaket från AR. Drönare;
Port 5555-Svara strömma videopaket från AR. Drönare;
Port 5559-TCP-paket för kritisk data som inte går förlorad, vanligtvis för konfiguration.
Klienten kopplar från UDP -porten efter en fördröjning på 2 sekunder efter att det sista kommandot skickats !!! - därför måste du ständigt skicka kommandon, vid behov- AT*COMWDG.
Överväg att få navigationsdata från ARDrone (Port 5554-UDP). Navigationsdatapaketet i demoläge är 500 byte långt. Om något går fel kan drönaren skicka ett paket på 32 och 24 byte. Om paketet är 24 byte långt betyder det att port 5554 är i BOOTSTRAP -läge och du måste ansluta till porten igen för att växla till demoläge ARDrone kan överföra navigationsdata till klienten i två former:
förkortad (eller demo), 500 byte i storlek. komplett.
För att få demodata skickar du först fyra byte 0x01, 0x00, 0x00, 0x00 till port 5554 och skickar sedan ett kommando till port 5556
AT*CONFIG = "+(seq ++)+", / "general: navdata_demo \", / "TRUE \" där seq är kommandonas sekventiella nummer.
Navigationsdatapaketets struktur. Det finns 4 namngivna värden i början av paketet:
32-bitars paketrubrik: helikopterstatusflaggor 32 bitar;
sekvensnumret för det sista kommandot som skickades till helikoptern av klienten 32 bitar;
synflagga 32 bitar. Nästa-navdata-alternativet Rubrik: 20-23.
Navdata -alternativet har följande fält:
BATTERI = 24; batteriladdning i procent;
PITCH = 28; lutningsvinkel längs längdaxeln;
ROLL = 32; lutningsvinkel i förhållande till tväraxeln;
JAW = 36; rotationsvinkel i förhållande till den vertikala axeln;
HÖGDOM = 40; höjd;
VX = 44; x-axelhastighet;
VY = 48; y-axels hastighet;
VZ = 52; hastighet på z -axeln.
Steg 3: Anslutning av Nokia 5110 -skärmen till ESP8266 -kortet
Anslut Nokia 5110 -skärmen till ESP8266 -modulen och mata ut vissa navigeringsdata till den och till den seriella portmonitorn
Steg 4: Skaffa navigeringsdata och visa dem på Nokia5110 -skärmen
Ladda ner (skiss ardrone_esp8266_01. Ino) och observera utmatningen av navigeringsdata till serieporten och skärmen.
Steg 5: Skicka start- och landningskommandon
Nu kommer vi att lägga till vårt projekt start och landning av quadcopter med kommandon från fjärrkontrollen. För att starta måste du skicka ett kommando
AT*REF = [Sekvensnummer], 290718208
För landning
AT*REF = [Sekvensnummer], 290717696
Innan start måste du skicka ett kommando för horisontell kalibrering, annars kommer Ar Drone inte att kunna stabilisera under flygning.
AT * F TRIM = [Sekvensnummer]
Ladda upp skissen ardrone_esp8266_02.ino () till ESP8266 Board, sätt på Ar Drone 2.0 quadcopter och kontrollera knappens funktion. När du klickar på start, nästa gång du klickar-landning osv.
Steg 6: Anslutning av MPU6050 till styrning av Ardrone 2.0
Sensorer för att bestämma positionen i rymden används för att styra fyrdubbar. MPU6050 -chipet innehåller både en accelerometer och ett gyroskop ombord, samt en temperatursensor. MPU6050 är huvudelementet i Gy-531-modulen (bild 15.44). Förutom detta chip innehåller modulkortet den nödvändiga MPU6050-bindningen, inklusive pull-up-motstånd i I2C-gränssnittet, samt en 3,3-volts spänningsstabilisator med ett litet spänningsfall (vid strömförsörjning på 3,3 volt, utsignalen från stabilisator kommer att vara 3 exakt volt) med filterkondensatorer.
Ansluter till mikrokontrollern med I2C -protokollet.
Steg 7: Kontrollera Quadcopter med MPU6050
Med hjälp av accelerometern och gyroskopet kan du bestämma avvikelsen på x- och y -axlarna och avvikelsen "förvandlas" till kommandon för att flytta quadcopter längs motsvarande axlar. Översättning av avläsningarna från sensorn till avböjningsvinkeln.
kommandot att skicka till Ar Drone för flygkontroll
AT*REF = [Sekvensnummer], [Flagga bitfält], [Rulla], [Pitch], [Gaz], [Yaw]
Värdena för Roll and Pitch i intervallet -1 till 1 hämtas från tabellen const int float , indexet motsvarar avvikningsvinkeln beräknad från mu6050 sensordata.
Ladda upp skissen ardrone_esp8266_03.ino till ESP8266 Board, sätt på ar Drone 2.0 quadrocopter och kontrollera hur fjärrkontrollen fungerar.