Sisällysluettelo:

Langattomat kiihtyvyysmittarin ohjaamat Rgb-LEDit: 4 vaihetta
Langattomat kiihtyvyysmittarin ohjaamat Rgb-LEDit: 4 vaihetta

Video: Langattomat kiihtyvyysmittarin ohjaamat Rgb-LEDit: 4 vaihetta

Video: Langattomat kiihtyvyysmittarin ohjaamat Rgb-LEDit: 4 vaihetta
Video: My Trendy Phone / Alkuperäiset Samsung Galaxy Buds2 SM-R177 - TWS Korvakuulokkeet Latauskotelolla 2024, Marraskuu
Anonim
Langattomat kiihtyvyysmittarin ohjaamat Rgb-LEDit
Langattomat kiihtyvyysmittarin ohjaamat Rgb-LEDit
Langattomat kiihtyvyysmittarin ohjaamat Rgb-LEDit
Langattomat kiihtyvyysmittarin ohjaamat Rgb-LEDit

MEMS (Micro-Electro-Mechanical Systems) Kiihtyvyysmittarit ovat laajalti käytössä kallistussensoreina matkapuhelimissa ja kameroissa. Yksinkertaisia kiihtyvyysmittareita on saatavana sekä ic-siruna että halvalla kehitettävänä piirilevynä.

Langattomat sirut ovat myös edullisia ja saatavana koottuina piireinä, joissa on yhteensopiva antenniverkko ja irrotuskorkit. Liitä langaton kortti ja kiihtyvyysmittari mikrokontrolleriin sarjaliitännän kautta ja sinulla on langaton ohjain, jossa on nintendo-wii-toiminnot. Rakenna sitten vastaanotin, jossa on samantyyppinen langaton siru ja pwm-ohjatut rgb-LEDit, voila, sinulla on langaton, kallistusohjattu värillinen salama. Pidä lähetinlevy vaakasuorassa leipälauta ylöspäin ja LED on viileän sininen, vain sininen LED on aktiivinen. Kallista sitten lähetintä yhteen suuntaan ja sekoitat punaista tai vihreää riippuen siitä, mihin suuntaan sitä kallistat. Kallista aina 90 asteeseen ja lävistä kaikki punaisen ja sinisen tai vihreän ja sinisen sekoitukset, kunnes vain punainen tai vihreä on aktiivinen 90 asteen kallistuksessa. Kallista hiukan sekä x- että y -suuntaan ja saat sekoituksen kaikista väreistä. 45 asteen kulmassa kaikkiin suuntiin valo on sama sekoitus punaista, vihreää ja sinistä, toisin sanoen valkoista valoa. Käytetyt osat ovat saatavana harrastuselektroniikan verkkokaupoista. Pitäisi tunnistaa joistakin kuvista.

Vaihe 1: Lähetin kiihtyvyysanturilla

Lähetin kiihtyvyysanturilla
Lähetin kiihtyvyysanturilla
Lähetin kiihtyvyysanturilla
Lähetin kiihtyvyysanturilla
Lähetin kiihtyvyysanturilla
Lähetin kiihtyvyysanturilla
Lähetin kiihtyvyysanturilla
Lähetin kiihtyvyysanturilla

Lähetin perustuu Atmel avr168 -mikro -ohjaimeen. Kätevä punainen kortti 168: ssa on arduino-kortti, jossa on jännitesäädin ja nollauspiiri. Kiihtyvyysmittari on kytketty avr: iin bittikärkisellä i2c-väylällä ja langaton kortti on liitetty laitteistolla SPI (Serial Peripheral Interface).

Leipälauta on täysin langaton, ja sen alla on kiinnitetty 4,8 V: n akku. Langaton kortti ja arduino wee ottavat vastaan jopa 9 V jännitteen ja niissä on lineaarinen jännitesäädin, mutta kiihtyvyysmittari tarvitsee 3, 3 V: n säätimestä.

Vaihe 2: RGB-LED-vastaanotin

Vastaanotin, jossa RGB-LED
Vastaanotin, jossa RGB-LED
Vastaanotin, jossa RGB-LED
Vastaanotin, jossa RGB-LED
Vastaanotin, jossa RGB-LED
Vastaanotin, jossa RGB-LED

Vastaanotin perustuu atmel avr169 demoboard -nimiseen perhonen. Taululla on paljon ominaisuuksia, joita ei käytetä tässä projektissa. Langaton tranceiver on liitetty PortB: hen ja pwm-ohjattu led PortD: hen. Virta syötetään Internet-palveluntarjoajan otsikosta, 4,5 V riittää. Langaton kortti voi sietää 5 V: n i/o -nastoja, mutta se tarvitsee 3,3 V: n jännitteen, joka toimitetaan sisäisellä säätimellä.

RF-tranceiverin muunnettu otsikkokaapeli on todella kätevä ja yhdistää langattoman kortin virtalähteeseen ja laitteiston spi-ohjaimeen perhosessa. Shiftbright on rgb-johtoinen pulssinleveysmodulaatio-ohjain, joka hyväksyy 4-tavuisen komennon, joka lukitaan sisään ja lukitaan sitten lähtötapoihin. Todella helppo yhdistää sarjaan. Vaihda vain monta komentosanaa, ja ensimmäinen siirretty päättyy ketjutuksen viimeiseen kytkettyyn LED-valoon.

Vaihe 3: C-ohjelmointi

Koodi on kirjoitettu C -kirjaimella, koska en välittänyt oppia "helpompaa" käsittelykieltä, johon arduino perustuu. Kirjoitin SPI- ja rf tranceiver -rajapinnan itse oppimiskokemusta varten, mutta lainasin i2c-kokoonpanokoodin avrfreaks.netistä. Shiftbright-käyttöliittymä on bitbanged C-koodissa. Yksi ongelma, jonka kohtasin, oli pienet irradiset vaihtelut kiihtyvyysmittarin ulostulossa, mikä sai ledin välkkymään paljon. Ratkaisin tämän ohjelmiston alipäästösuodattimella. Liikkuva painotettu keskiarvo kiihtyvyysmittarin arvoissa. RF-tranceiver tukee laitteistoa crc ja ack automaattisella uudelleenlähetyksellä, mutta tässä projektissa ledien reaaliaikainen ja sujuva päivitys oli tärkeämpää. Jokaisen kiihtyvyysmittarin arvojen sisältävän paketin ei tarvitse saapua ehjänä vastaanottimeen, kunhan vioittuneet paketit hylätään. Minulla ei ollut ongelmia kadonneiden RF -pakettien kanssa 20 metrin näköetäisyydellä. Mutta kauempana linkki muuttui epävakaaksi ja ledit eivät päivittyneet jatkuvasti.); RF_send (Arvot); delay (20 ms);} Vastaanottimen pääsilmukka pseudokoodissa: Initial (); while (true) {newValues = blocking_receptRF ()); rgbValues = rgbValues + 0.2*(newValues-rgbValues); kirjoittaa rgbValues to shiftbrigth;}

Vaihe 4: Tulos

Lopputulos
Lopputulos
Lopputulos
Lopputulos
Lopputulos
Lopputulos
Lopputulos
Lopputulos

Olin hämmästynyt siitä, kuinka tarkka ja tarkka ohjaus oli. Sinulla on todella sormenpäiden tarkkuus hallita väriä. Pwm-LED-ohjaimessa on 10-bittinen resoluutio jokaiselle värille, mikä tekee miljoonista mahdollisista väreistä. Valitettavasti kiihtyvyysmittarilla on vain 8 -bittinen resoluutio, joka laskee teoreettisten värien määrän tuhansiin. Mutta vieläkään ei ole mahdollista havaita värinmuutoksen askelta. Laitoin vastaanottimen IKEA-lamppuun ja otin kuvan eri väreistä alla. Siellä on myös video, (kauhea laatu kuitenkin)

Suositeltava: