Kazalo:

Rgb-LED z brezžičnim merilnikom pospeška: 4 koraki
Rgb-LED z brezžičnim merilnikom pospeška: 4 koraki

Video: Rgb-LED z brezžičnim merilnikom pospeška: 4 koraki

Video: Rgb-LED z brezžičnim merilnikom pospeška: 4 koraki
Video: REDRAGON IRELIA PRO K658 Review: Transparent Case + Bright RGB = AWESOME! 😎 2024, Julij
Anonim
Rgb-LED z brezžičnim merilnikom pospeška
Rgb-LED z brezžičnim merilnikom pospeška
Rgb-LED z brezžičnim merilnikom pospeška
Rgb-LED z brezžičnim merilnikom pospeška

Merilniki pospeška MEMS (mikro-elektro-mehanični sistemi) se pogosto uporabljajo kot senzorji nagiba v mobilnih telefonih in fotoaparatih. Preprosti merilniki pospeška so na voljo kot ledeni čipi in poceni razvojne plošče.

Brezžični čipi so prav tako cenovno dostopni in so na voljo v sestavljenih vezjih z ustreznim antenskim omrežjem in vgrajenimi pokrovi. Brezžično ploščo in merilnik pospeška priključite na mikrokrmilnik prek serijskega vmesnika in imate brezžični krmilnik s funkcijami nintendo-wii. Nato zgradite sprejemnik z istim tipom brezžičnega čipa in rgb-LED s krmiljenjem s pwm, voila, imate brezžično barvno osvetlitev prostora, ki jo upravljate z nagibom. Ploščo oddajnika držite v ravni ravnini s ploščo navzgor in LED je hladno modra, aktivna je le modra LED. Nato oddajnik nagnite v eno smer in vmešajte rdeče ali zeleno, odvisno od tega, v katero smer ga nagnete. Nagnite se do 90 stopinj in prečkajte vse mešanice rdeče in modre ali zelene in modre barve, dokler pri nagibu 90 stopinj ni aktivna le rdeča ali zelena. Nagnite se nekoliko v smeri x in y in dobite mešanico vseh barv. Pri 45 stopinjah v vse smeri je svetloba enaka mešanica rdeče, zelene in modre, z drugimi besedami, bele svetlobe. Uporabljeni deli so na voljo v spletnih trgovinah z elektronsko opremo. Nekatere slike bi morale biti prepoznavne.

Korak: Oddajnik s merilnikom pospeška

Oddajnik z merilnikom pospeška
Oddajnik z merilnikom pospeška
Oddajnik z merilnikom pospeška
Oddajnik z merilnikom pospeška
Oddajnik z merilnikom pospeška
Oddajnik z merilnikom pospeška
Oddajnik z merilnikom pospeška
Oddajnik z merilnikom pospeška

Oddajnik temelji na mikrokrmilniku Atmel avr168. Priročna rdeča plošča s 168 je arduino plošča z regulatorjem napetosti in vezjem za ponastavitev. Merilnik pospeška je priključen na avr z bitnim udarcem vodila i2c, brezžična plošča pa je povezana s strojno opremo SPI (serijski periferni vmesnik).

Ohišje je popolnoma brezžično s 4, 8V baterijskim paketom, pritrjenim pod njim. Brezžična plošča in arduino wee sprejemata do 9 V in imata vgrajen linearni regulator napetosti, vendar merilnik pospeška potrebuje 3, 3 V od regulirane tirnice.

Korak: Sprejemnik z RGB-LED

Sprejemnik z RGB-LED
Sprejemnik z RGB-LED
Sprejemnik z RGB-LED
Sprejemnik z RGB-LED
Sprejemnik z RGB-LED
Sprejemnik z RGB-LED

Sprejemnik temelji na demoblodu atmel avr169 z imenom metulj. Plošča ima veliko funkcij, ki v tem projektu niso bile uporabljene. Brezžični oddajnik je priključen na PortB, LED s krmiljenjem s pwm pa na PortD. Napajanje je na voljo v glavi ISP, dovolj je 4,5 V. Brezžična plošča lahko prenaša 5V na vhodno -izhodnih zatičih, vendar potrebuje napajanje 3.3V, ki ga napaja vgrajeni regulator.

Spremenjeni kabel za glavo za RF-oddajnik je zelo priročen in povezuje brezžično ploščo z napajalnikom in strojnim krmilnikom spi na metulju. Shiftbright je krmilnik modulacije širine impulza, ki ga vodi rgb, ki sprejema 4-bajtni ukaz, ki je zaskočen in nato zaskočen na izhodnih zatičih. Res enostavno povezovanje v seriji. Samo premaknite številne ukazne besede in prva premaknjena bo končala v zadnji povezani LED v verižici marjetice.

3. korak: C-programiranje

Koda je napisana v jeziku C, saj mi ni bilo mar za učenje "lažjega" jezika obdelave, na katerem temelji arduino. Za učno izkušnjo sem sam napisal vmesnik SPI in rf tranceiver, vendar sem si kodo asemblerja i2c sposodil pri avrfreaks.net. Shiftbright vmesnik je bitbanged v C-kodi. Eden od problemov, s katerim sem se srečal, so bile majhne iradikalne spremembe v izhodu merilnika pospeška, zaradi česar je LED utripal. To sem rešil s programskim nizkoprepustnim filtrom. Drseče tehtano povprečje na vrednostih merilnikov pospeška. RF-tranceiver podpira strojno opremo crc in ack s samodejnim prenosom, vendar je bilo za ta projekt pomembnejše nemoteno posodabljanje LED v realnem času. Ni treba, da vsak paket z vrednostmi merilnika pospeška prihaja nepoškodovan do sprejemnika, dokler se poškodovani paketi ne zavržejo. Nisem imel težav z izgubljenimi RF paketi na razdalji 20 metrov od vidnega polja. Toda bolj daleč je povezava postala nestabilna in LED se niso stalno posodabljale. Glavna zanka oddajnika v psevdo kodi: initialize (); while (true) {Values = abs (get x, y, z accelerometer values ()); RF_send (vrednosti); zakasnitev (20 ms);} Glavna zanka sprejemnika v psevdo kodi: initialize (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0,2*(newValues-rgbValues); napišite rgbValues za shiftbrigth;}

4. korak: Rezultat

Rezultat
Rezultat
Rezultat
Rezultat
Rezultat
Rezultat
Rezultat
Rezultat

Bil sem presenečen nad tem, kako gladek in natančen je bil nadzor. Resnično imate nadzor nad natančnostjo barve prstov. Krmilnik pwm-LED ima 10-bitno ločljivost za vsako barvo, kar omogoča milijone možnih barv. Na žalost ima merilnik pospeška le 8 -bitno ločljivost, zaradi česar se število teoretičnih barv zmanjša na tisoče. Vendar še vedno ni mogoče zaznati nobenega koraka pri spreminjanju barve. Sprejemnik sem dal v svetilko IKEA in spodaj poslikal različne barve. Obstaja tudi video (grozljiva kakovost)

Priporočena: