This is an old revision of the document!


Artificial Horizon

Introducere

*Proiectul utilizează senzorul MPU9250 9 axis pentru a crea un orizont artificial, indicând dinamic tangajul și ruliul în timp real, si poate include si funcționalitatea de cap compas cu ajutorul unei busole implementate prin citirea de date de pe magnetometrul senzorului.

*Scopul proiectului este de a oferi o experienta vizuala a orientării in spatiu a unui aparat de zbor, prin afisarea dinamica a tangajului, ruliului si giratie intr-un mod interactiv.

*Ideea mea a pornit de la dorinta de simula celebrul instrument de zbor, prezent pe toate aeronavele.

*Cred ca proiectul meu este util pentru altii deoarece poate fi folosit în scopuri educaționale sau practice in domeniul aviatiei si automatizării. Pentru mine, acest proiect reprezintă o modalitate de a explora și înțelege mai profund tehnologiile și conceptele din spatele orientarii în spatiu, in timp ce ne oferă satisfacția de a crea ceva functional si interactiv.

Descriere generală

Proiectul implică utilizarea unui Arduino Uno în combinație cu un senzor MPU9250 și un afișaj OLED i2c 128×64 pentru a crea un orizont artificial și o busolă care să fie afișate pe ecranul unui calculator folosind software-ul Processing. Acest sistem integrează hardware-ul și software-ul pentru a oferi o reprezentare vizuală intuitivă a orientării și direcției utilizatorului.

Componente Utilizate: Arduino Uno - platforma principală de microcontroler pentru citirea senzorilor și trimiterea datelor către PC. MPU9250 - senzorul care măsoară accelerația, giroscopul și câmpul magnetic pentru a determina orientarea (pitch, roll și heading). Adafruit OLED Display i2c 128×64 - afișaj pentru a vizualiza orizontul artificial și datele busolei. PC (Pentru GUI în Processing) - utilizat pentru a afisa datele într-o interfață grafică prietenoasă cu utilizatorul. Funcționalități Principale: Orizont Artificial:

Afișat pe OLED și în Processing, orizontul artificial indică înclinația (pitch) și rulajul (roll) al dispozitivului. Pe OLED, orizontul este reprezentat grafic cu o linie de orizont și un simbol al avionului. În Processing, orizontul este redat într-un mod grafic avansat, cu efecte de perspectivă. Busolă:

Calcularea și afișarea azimutului (heading) bazat pe datele magnetometrului din MPU9250. Afișat pe OLED și în Processing, busola indică direcția nordului și este completată cu marcaje pentru direcții cardinale și intercardinale. Fluxul de Date și Funcționarea: Arduino:

Citește datele de la senzorul MPU9250 (accelerometru, giroscop și magnetometru). Procesează datele pentru a calcula pitch, roll și heading. Afișează rezultatele pe ecranul OLED și trimite datele prin serial către PC. Processing:

Primește datele prin portul serial de la Arduino. Procesează și afișează grafic orizontul artificial și busola într-o fereastră grafică.

Hardware Design

3iuhpru.jpeg

-Arduino UNO Rev3, ATmega328P

-MPU-9250 9 axis Sensor

-Jumper wires male to male

-Adafruit OLED I2C Display 128×64

-Breadboard

Software Design

*Medii de dezvoltare: Arduino IDE, Processing

libs:

      github.com/bolderflight/invensense-imu
      github.com/adafruit/Adafruit_SSD1306
      github.com/adafruit/Adafruit_BusIO
      github.com/adafruit/Adafruit-GFX-Library
  

Rezultate Obţinute

vjfrpvy.jpeg xvqeo60.jpeg

Concluzii

Proiectul de creare a unui orizont artificial și a unei busole utilizând Arduino și Processing a fost un succes partial, demonstrând capabilitățile senzorului MPU9250 în monitorizarea orientării în spațiu. Implementarea a oferit o experiență vizuală intuitivă și interactivă, utilă atât pentru educație, cât și pentru aplicații practice în domeniul aviației. În viitor, proiectul poate fi extins pentru a include mai multe funcționalități și optimizări. Probleme intampinate: nu am reusit sa construiesc o busola care sa redea exact azimutul corect.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/vstoica/alexandru.micu1107.1716752524.txt.gz · Last modified: 2024/05/26 22:42 by alexandru.micu1107
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0