Obsah:

Bezdrôtový akcelerometer ovládaný RGB LED diódami: 4 kroky
Bezdrôtový akcelerometer ovládaný RGB LED diódami: 4 kroky

Video: Bezdrôtový akcelerometer ovládaný RGB LED diódami: 4 kroky

Video: Bezdrôtový akcelerometer ovládaný RGB LED diódami: 4 kroky
Video: LED pásek ovládaný mobilem přes WiFi 2024, December
Anonim
Bezdrôtový akcelerometer ovládaný RGB LED diódami
Bezdrôtový akcelerometer ovládaný RGB LED diódami
Bezdrôtový akcelerometer ovládaný RGB LED diódami
Bezdrôtový akcelerometer ovládaný RGB LED diódami

Akcelerometre MEMS (mikroelektromechanické systémy) sa široko používajú ako snímače náklonu v mobilných telefónoch a fotoaparátoch. Jednoduché akcelerometre sú k dispozícii ako ic-chip a lacné vývojové dosky s plošnými spojmi.

Bezdrôtové čipy sú tiež cenovo dostupné a sú k dispozícii v zostavených obvodoch so zodpovedajúcou anténnou sieťou a odpojovacími krytmi na palube. Pripojte bezdrôtovú dosku a akcelerometer k mikrokontroléru prostredníctvom sériového rozhrania a máte bezdrôtový ovládač s funkciami nintendo-wii. Potom zostrojte prijímač s rovnakým typom bezdrôtového čipu a rwb-LED diódami riadenými pomocou PWM, voila, máte bezdrôtové, naklápaním ovládané farebné izbové osvetlenie. Dosku vysielača udržujte v rovine tak, aby doštička smerovala nahor a dióda LED bola studená modrá, aktívna je iba modrá dióda. Potom nakloňte vysielač v jednom smere a mixujete červenú alebo zelenú podľa toho, akým smerom ho nakloníte. Nakloňte ho úplne na 90 stupňov a prechádzate všetkými mixmi červenej a modrej alebo zelenej a modrej, kým pri 90 stupňovom náklone nie je aktívna iba červená alebo zelená. Nakloňte sa trochu v smere x aj y a získate mix všetkých farieb. Pri 45 stupňoch vo všetkých smeroch je svetlo rovnakou zmesou červeného, zeleného a modrého, inými slovami bieleho svetla. Použité diely sú dostupné v internetových obchodoch s elektronikou. Mali by byť identifikovateľné z niektorých obrázkov.

Krok 1: Vysielač s akcelerometrom

Vysielač s akcelerometrom
Vysielač s akcelerometrom
Vysielač s akcelerometrom
Vysielač s akcelerometrom
Vysielač s akcelerometrom
Vysielač s akcelerometrom
Vysielač s akcelerometrom
Vysielač s akcelerometrom

Vysielač je založený na mikrokontroléri Atmel avr168. Pohodlná červená doska so 168 je arduino doska s regulátorom napätia a resetovacím obvodom. Akcelerometer je pripojený k avr pomocou zbernice i2c s bitovým bangom a bezdrôtová doska je pripojená k hardvéru SPI (sériové periférne rozhranie).

Nepájivá doska je úplne bezdrôtová a zospodu je pripútaná 4, 8V batéria. Bezdrôtová doska a arduino wee prijíma až 9 V a má vstavaný lineárny regulátor napätia, ale akcelerometer potrebuje 3, 3 V z regulovanej koľajnice na útlom.

Krok 2: Prijímač s RGB-LED

Prijímač s RGB-LED
Prijímač s RGB-LED
Prijímač s RGB-LED
Prijímač s RGB-LED
Prijímač s RGB-LED
Prijímač s RGB-LED

Prijímač je založený na demoboarde atmel avr169 s názvom motýľ. Doska má mnoho funkcií, ktoré v tomto projekte nie sú použité. Bezdrôtový tranceiver je pripojený k PortB a LED riadená pwm je pripojená k PortD. Napájanie je dodávané na hlavičke ISP, stačí 4,5 V. Bezdrôtová doska môže tolerovať 5 V na i/o kolíkoch, ale potrebuje napájanie 3,3 V, ktoré dodáva integrovaný regulátor.

Upravený kábel záhlavia pre RF tranceiver je skutočne pohodlný a pripája bezdrôtovú dosku k napájaciemu a hardvérovému ovládaču spi na motýliku. Shiftbright je radič pulznej šírky vedený na RGB, ktorý prijíma 4 bajtový príkaz, ktorý je zaistený a potom zaistený na výstupných kolíkoch. Naozaj ľahké sériové pripojenie. Stačí posunúť mnoho príkazových slov a prvé posunuté von skončí v poslednej pripojenej dióde LED v reťazci.

Krok 3: C-programovanie

Kód je napísaný v jazyku C, pretože som sa nestaral o to, aby som sa naučil „jednoduchší“jazyk spracovania, na ktorom je arduino založené. Sám som napísal rozhranie SPI a RF tranceiver kvôli vzdelávaniu, ale požičal som si kód assembleru i2c z avrfreaks.net. Rozhranie shiftbright je v C-kóde bitbangované. Jeden problém, s ktorým som sa stretol, boli malé žiarivé odchýlky vo výstupe akcelerometra, čo spôsobilo, že LED blikalo veľa. Vyriešil som to softvérovým dolnopriepustným filtrom. Pohyblivý vážený priemer na hodnotách akcelerometra. RF-tranceiver podporuje hardvér CRC a Ack s automatickým retransmitom, ale pre tento projekt bola dôležitejšia hladká aktualizácia LED v reálnom čase. Každý paket s hodnotami akcelerometra nemusí prísť neporušený k prijímaču, pokiaľ sú poškodené pakety vyradené. Nemal som problémy so stratenými paketmi RF do vzdialenosti 20 metrov. Spojenie sa však stalo nestabilným a diódy sa neaktualizovali nepretržite. Hlavná slučka vysielača v pseudokóde: initialize (); while (true) {Values = abs (get x, y, z accelerometer values ()); RF_send (hodnoty); oneskorenie (20 ms);} Hlavná slučka prijímača v pseudokóde: initialize (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0,2*(newValues-rgbValues); napíšte rgbValues to shiftbrigth;}

Krok 4: Výsledok

Výsledok
Výsledok
Výsledok
Výsledok
Výsledok
Výsledok
Výsledok
Výsledok

Bol som prekvapený, aké hladké a presné bolo ovládanie. Skutočne máte kontrolu nad presnosťou farby prstom. Ovládač pwm-LED má 10-bitové rozlíšenie pre každú farbu, čo vytvára milióny možných farieb. Akcelerometer má bohužiaľ iba 8 -bitové rozlíšenie, čo znižuje počet teoretických farieb na tisíce. Ale stále nie je možné vnímať žiadne stupňovanie zmeny farby. Prijímač som vložil do žiarovky IKEA a nižšie som odfotil rôzne farby. K dispozícii je aj video (hrozná kvalita)

Odporúča: