INHOUDSOPGAWE:

Draadlose versnellingsmeter-beheerde Rgb-LED's: 4 stappe
Draadlose versnellingsmeter-beheerde Rgb-LED's: 4 stappe

Video: Draadlose versnellingsmeter-beheerde Rgb-LED's: 4 stappe

Video: Draadlose versnellingsmeter-beheerde Rgb-LED's: 4 stappe
Video: DualSense Edge - Features Trailer | PS5 2024, November
Anonim
Draadlose versnellingsmeter beheerde Rgb-LED's
Draadlose versnellingsmeter beheerde Rgb-LED's
Draadlose versnellingsmeter beheerde Rgb-LED's
Draadlose versnellingsmeter beheerde Rgb-LED's

MEMS (mikro-elektro-meganiese stelsels) Versnellingsmeters word wyd gebruik as kantelsensors in selfone en kameras. Eenvoudige versnellingsmeters is beskikbaar as IC-chip's en goedkoop ontwikkelings-PCB-borde.

Draadlose skyfies is ook bekostigbaar en beskikbaar in gemonteerde stroombane, met bypassende antenna-netwerk en ontkoppelingskappe aan boord. Sluit die draadlose bord en die versnellingsmeter aan op 'n mikrobeheerder via die seriële koppelvlak, en u het 'n draadlose beheerder met Nintendo Wii-funksies. Bou dan 'n ontvanger met dieselfde tipe draadlose chip en pwm-beheerde rgb-LED's, voila, u het draadlose, kantelbeheerde gekleurde kamerbliksems. Hou die senderbord gelyk met die broodbord na bo en die LED is koelblou, slegs die blou LED is aktief. Kantel dan die sender in een rigting en meng in rooi of groen, afhangende van watter rigting u dit kantel. Kantel tot 90 grade, en gaan deur alle mengsels van rooi en blou of groen en blou totdat slegs rooi of groen aktief is teen 90 grade kanteling. Kantel 'n bietjie in beide x en y rigting, en u kry 'n mengsel van al die kleure. By 45 grade in alle rigtings is die lig 'n gelyke mengsel van rooi, groen en blou, met ander woorde, wit lig. Die gebruikte onderdele is beskikbaar by internet-stokperdjie-elektroniese winkels. Dit moet uit sommige van die foto's herkenbaar wees.

Stap 1: sender met versnellingsmeter

Sender Met Versnellingsmeter
Sender Met Versnellingsmeter
Sender Met Versnellingsmeter
Sender Met Versnellingsmeter
Sender Met Versnellingsmeter
Sender Met Versnellingsmeter
Sender Met Versnellingsmeter
Sender Met Versnellingsmeter

Die sender is gebaseer op die Atmel avr168 mikrobeheerder. Die gerieflike rooi bord met die 168 is 'n arduino-bord met spanningsreguleerder en reset-kring. Die versnellingsmeter is met die i2c-bus met die bit gekoppel, en die draadlose bord is gekoppel aan hardeware SPI (Serial Peripheral Interface).

Die broodbord is heeltemal draadloos met die 4, 8V -batterypak daaronder vasgemaak. Die draadlose bord en die arduino wee aanvaar tot 9 V en het 'n ingeboude lineêre spanningsreguleerder, maar die versnellingsmeter benodig 3, 3V van die gereguleerde spoor op die wee.

Stap 2: Ontvanger met RGB-LED

Ontvanger met RGB-LED
Ontvanger met RGB-LED
Ontvanger met RGB-LED
Ontvanger met RGB-LED
Ontvanger met RGB-LED
Ontvanger met RGB-LED

Die ontvanger is gebaseer op die atmel avr169 demoboard met die naam butterfly. Die bord het baie funksies wat nie in hierdie projek gebruik word nie. Die wireless tranceiver is aan PortB gekoppel en die pwm-beheerde led is aan PortD gekoppel. Krag word verskaf by die ISP-kop, 4,5V is genoeg. Die draadlose bord kan 5V op i/o -penne verdra, maar benodig 3.3V -voeding wat deur die ingeboude reguleerder verskaf word.

Die aangepaste kopkabel vir die rf tranceiver is baie gerieflik en verbind 'n draadlose bord met 'n krag- en hardeware-spi-kontroleerder op die vlinder. Die shiftbright is 'n rgb-geleide polswydte modulasie kontroleerder wat 'n 4 byte opdrag aanvaar wat ingedruk word en dan op die uitsetpenne vasgeklap word. Regtig maklik om in serie te koppel. Skuif net baie bevelwoorde uit, en die eerste wat oorgeskakel word, beland in die laaste gekoppelde LED in die madeliefjieketting.

Stap 3: C-programmering

Die kode is in C geskryf, want ek het nie omgegee om die 'makliker' verwerkingstaal te leer waarop arduino gebaseer is nie. Ek het self die SPI- en rf tranceiver-koppelvlak vir die leerervaring geskryf, maar het die i2c assembler-kode by avrfreaks.net geleen. Die shiftbright-koppelvlak is in 'n C-kode gegroepeer. Een probleem wat ek ondervind het, was klein irradiese variasies in die versnelling van die versnelling, wat die flits van die LED baie laat flikker. Ek het dit opgelos met 'n sagteware-laagdeurlaatfilter. 'N bewegende geweegde gemiddelde op die versnellingsmeterwaardes. Die RF-tranceiver ondersteun hardeware crc en ack met outomatiese heruitsending, maar vir hierdie projek was die intydse, gladde opdatering van die LED's belangriker. Elke pakkie met versnellingsmeterwaardes hoef nie ongeskonde by die ontvanger aan te kom nie, solank beskadigde pakkies weggegooi word. Ek het geen probleme gehad met verlore RF -pakkies binne 20 meter se siglyn nie. Maar verder het die skakel onstabiel geraak en die LED's het nie voortdurend bygewerk nie.); RF_send (Waardes); vertraging (20ms);} Die hooflus van die ontvanger in pseudokode: initialiseer (); terwyl (waar) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0.2*(newValues-rgbValues); skryf rgbWaardes na shiftbrigth;}

Stap 4: Die resultaat

Die resultaat
Die resultaat
Die resultaat
Die resultaat
Die resultaat
Die resultaat
Die resultaat
Die resultaat

Ek was verbaas oor hoe glad en akkuraat die kontrole was. U het regtig die akkuraatheidsbeheer van die vingerpunt oor die kleur. Die pwm-LED-kontroleerder het 'n resolusie van 10 bit vir elke kleur, wat miljoene moontlike kleure moontlik maak. Ongelukkig het die versnellingsmeter slegs 'n resolusie van 8 bit, wat die aantal teoretiese kleure tot duisende bring. Maar dit is nog steeds nie moontlik om enige verandering in kleurverandering te sien nie. Ek sit die ontvanger in 'n IKEA-lamp en neem 'n foto van verskillende kleure hieronder. Daar is ook 'n video, maar dit is 'n vreeslike kwaliteit

Aanbeveel: