Sadržaj:

LED i gravitacija?: 4 koraka
LED i gravitacija?: 4 koraka

Video: LED i gravitacija?: 4 koraka

Video: LED i gravitacija?: 4 koraka
Video: Внутри планет горячий чёрный лёд? Что? 2024, Studeni
Anonim
LED diode i gravitacija?
LED diode i gravitacija?

Ovaj projekt nema praktičnu uporabu, ali je započet kao vježba u implementaciji fizikalnih formula vezanih za gravitaciju u C-kodu na Arduinu. Kako bi stvari bile vidljive, korištena je neopikselna LED traka sa 74 LED diode. Učinak gravitacijskog ubrzanja na objekt dokazuje se upotrebom akcelerometra MPU-6050 i čipa žiroskopa. Ovaj čip je fizički pričvršćen na LED traku, pa kada se LED traka drži pod određenim kutom, čip mjeri kut LED trake i Arduino koristi te podatke za ažuriranje položaja virtualnog objekta kao da bila je lopta uravnotežena na gredi i kotrlja se s jedne strane na drugu ako se greda drži pod kutom. Položaj virtualnog objekta označen je na LED traci kao jedna LED koja svijetli.

Za ažuriranje položaja virtualnog objekta koji pada na zemlju pod utjecajem gravitacije koristimo se formulom:

y = y0 + (V0 * t) + (0.5 * a * t^2)

S:

y = pređena udaljenost u metrima y0 = početna udaljenost u metrima v0 = početna brzina u metrima/sekundi a = ubrzanje (gravitacija) u metrima/sekundi^2 t = vrijeme u sekundama

Korak 1: Krug

Krug
Krug

Arduino Pro Mini napaja se napajanjem +5V izravno u +5V pin, koji je izlaz ugrađenog 5V regulatora. Ovo bi se moglo učiniti pomalo ortodoksnim, ali kad Vin ostane otvoren, ne stvara problem sve dok ne promijenite polaritet, jer bi to zasigurno nazdravilo vašem Arduinu.

Akcelerometar i čip žiroskopa MPU6050 napajaju se pomoću pretvaračkog modula male snage 5V do 3V3 i razgovaraju s Arduinom putem I2C sučelja (SDA, SCL). S Arduino Pro Mini, SDA je spojen na A4, a SCL na A5, koji se nalaze na Arduino Pro Mini PCB -u. S verzijom Pro Mini koju koristim, A4 i A5 bili su smješteni unutar PCB -a (2 rupe) i nisu im bili dostupni preko zaglavlja iglica sa strana PCB -a. MPU6050 također ima izlaz prekida (INT) koji se koristi za javljanje Arduinu kada su dostupni novi podaci. LED traka od neopiksela WS2812B sa 74 LED diode napaja se izravno napajanjem od 5 V i ima 1 podatkovnu liniju (DIN) koja je spojena na izlaz Arduina.

Korak 2: Softver

Stavio sam sve upravljačke programe koje koristi skica (.ino) u istu mapu sa skicom umjesto korištenja knjižnica. Razlog za to je što ne želim da se upravljački programi ažuriraju, kako bi se spriječilo uvlačenje grešaka i kako bi se promjene koje sam napravio na upravljačkim programima prepisale ažuriranja.

Evo popisa projektnih datoteka:

  • Balansiranje_LED_use_MPU6050gyro.ino: datoteka skice
  • MPU6050.cpp / MPU6050.h: MPU6050 akcelerometar i pokretač žiroskopa
  • MPU6050_6Axis_MotionApps20.h: Definicije i funkcije MPU6050 DMP (digitalni procesor pokreta)
  • helper_3dmath.h: Definicije klasa za kvaternione i cjelobrojne ili plutajuće vektore.
  • I2Cdev.cpp / I2Cdev.h: I2C upravljački program koji koristi Arduino knjižnicu žica
  • LEDMotion.cpp / LEDMotion.h: Implementacija gravitacijske LED ravnoteže pomoću LED trake i kuta izmjerenog MPU6050

Korak 3: Slike

Preporučeni: