Sadržaj:

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

Video: LED diode i gravitacija?: 4 koraka

Video: LED diode i gravitacija?: 4 koraka
Video: Студенты российского вуза разработали вечный двигатель #вечныйдвигатель #изобретения 2024, Novembar
Anonim
LED diode i gravitacija?
LED diode i gravitacija?

Ovaj projekt nema nikakvu praktičnu upotrebu, ali je započet kao vježba u implementaciji fizičkih formula vezanih za gravitaciju u C-kodu na Arduinu. Da 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 informacije za ažuriranje položaja virtualnog objekta kao da bila je lopta koja je 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.

Da bismo ažurirali položaj virtualnog objekta koji pada na zemlju pod utjecajem gravitacije, koristimo formulu:

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

Sa:

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 moglo izgledati pomalo ortodoksno, 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 su se nalazili unutar PCB -a (2 rupe) i nisu im bili dostupni preko zaglavlja iglica sa strane PCB -a. MPU6050 također ima izlaz za prekid (INT) koji se koristi za javljanje Arduinu kada su dostupni novi podaci. WS2812B neopikselna LED traka sa 74 LED diode napaja se direktno iz 5V napajanja i ima 1 liniju podataka (DIN) koja je spojena na izlaz Arduina.

Korak 2: Softver

Stavio sam sve upravljačke programe koje koristi sketch (.ino) u isti folder sa skicom, umesto da koristim biblioteke. Razlog za to je što ne želim da se upravljački programi ažuriraju, kako bih spriječio uvlačenje grešaka i spriječio da izmjene koje sam napravio na upravljačkim programima budu prebrisane ažuriranjima.

Evo liste projektnih datoteka:

  • Balansiranje_LED_koristenjem_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 klase 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 gravitacione LED ravnoteže pomoću LED trake i ugla izmjerenog MPU6050

Korak 3: Slike

Preporučuje se: