Kazalo:

LED in gravitacija?: 4 koraki
LED in gravitacija?: 4 koraki

Video: LED in gravitacija?: 4 koraki

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

Ta projekt sploh nima praktične uporabe, vendar se je začel kot vaja pri izvajanju fizikalnih formul, povezanih z gravitacijo v kodi C na Arduinu. Da bi bile stvari vidne, je bil uporabljen neopixel LED trak s 74 LED diodami. Učinek gravitacijskega pospeška na predmet je prikazan z uporabo merilnika pospeška MPU-6050 in čipa žiroskopa. Ta čip je fizično pritrjen na LED-trak, zato ko LED-trak drži pod določenim kotom, čip meri kot LED-traku in Arduino te podatke uporabi za posodobitev položaja navideznega predmeta, kot da je bila žoga, ki je uravnotežena na gredi in se kotali z ene strani na drugo, če je nosilec pod kotom. Položaj navideznega predmeta je na LED traku označen kot ena LED, ki sveti.

Za posodobitev položaja navideznega predmeta, ki pada pod zemljo pod vplivom gravitacije, uporabimo formulo:

y = y0 + (V0 * t) + (0,5 * a * t^2)

Z:

y = prevožena razdalja v metrih y0 = začetna razdalja v metrih v0 = začetna hitrost v metrih na sekundo a = pospešek (gravitacija) v metrih na sekundo^2 t = čas v sekundah

1. korak: vezje

Vezje
Vezje

Arduino Pro Mini se napaja z napajanjem +5V neposredno v +5V pin, ki je izhod vgrajenega 5V regulatorja. Morda se to zdi nekoliko ortodoksno, a ko Vin ostane odprt, ne povzroča težav, dokler ne obrnete polarnosti, ker bi to zagotovo nazdravilo vašemu Arduinu.

Merilnik pospeška in žiroskop MPU6050 se napaja prek pretvorniškega modula z nizko porabo energije 5V do 3V3 in se z Arduinom pogovarja prek vmesnika I2C (SDA, SCL). Z Arduino Pro Mini je SDA povezan z A4, SCL pa z A5, ki se nahajata na tiskanem vezju Arduino Pro Mini. Z različico Pro Mini, ki jo uporabljam, sta bila A4 in A5 nameščena znotraj tiskanega vezja (2 luknji) in nista bila dostopna prek zatičev na straneh tiskanega vezja. MPU6050 ima tudi prekinitveni izhod (INT), ki se uporablja za obveščanje Arduina, ko so na voljo novi podatki. LED trak neopixel WS2812B s 74 LED diodami se napaja neposredno iz napajanja 5V in ima 1 podatkovno linijo (DIN), ki je priključena na izhod Arduina.

2. korak: Programska oprema

Namesto knjižnic namestim vse gonilnike, ki jih uporablja skica (.ino) v isto mapo kot skica. Razlog za to je, da nočem, da se gonilniki posodabljajo, da se preprečijo prikradanje hroščev in da se spremembe, ki sem jih naredil na gonilnikih, prepišejo s posodobitvami.

Tu je seznam projektnih datotek:

  • Balancing_LED_using_MPU6050gyro.ino: datoteka skice
  • MPU6050.cpp / MPU6050.h: merilnik pospeška MPU6050 in gonilnik žiroskopa
  • MPU6050_6Axis_MotionApps20.h: Opredelitve in funkcije MPU6050 DMP (digitalni procesor gibanja)
  • helper_3dmath.h: Opredelitve razredov za kvaterione in celoštevilčne ali plavajoče vektorje.
  • I2Cdev.cpp / I2Cdev.h: gonilnik I2C z uporabo knjižnice žic Arduino
  • LEDMotion.cpp / LEDMotion.h: Izvajanje gravitacijske LED tehtnice z uporabo LED traku in kota, merjenega z MPU6050

3. korak: Slike

Priporočena: